diff --git a/build.gradle b/build.gradle index 61c10d58a..2ef43721e 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ ext { ] } MAPPING_CHANNEL = 'snapshot' - MAPPING_VERSION = '20190608-1.14.2' + MAPPING_VERSION = '20190621-1.14.2' MC_VERSION = '1.14.2' MCP_VERSION = '20190603.175704' } @@ -136,19 +136,19 @@ project(':forge') { ] } } - test { - compileClasspath += sourceSets.fmllauncher.runtimeClasspath - runtimeClasspath += sourceSets.fmllauncher.runtimeClasspath - java { - srcDirs = [ - "$rootDir/src/test/java", - "$rootDir/src/fmllaunchertest/java" - ] - } - resources { - srcDirs = ["$rootDir/src/test/resources"] - } - } +// test { +// compileClasspath += sourceSets.fmllauncher.runtimeClasspath +// runtimeClasspath += sourceSets.fmllauncher.runtimeClasspath +// java { +// srcDirs = [ +// "$rootDir/src/test/java", +// "$rootDir/src/fmllaunchertest/java" +// ] +// } +// resources { +// srcDirs = ["$rootDir/src/test/resources"] +// } +// } userdev { compileClasspath += sourceSets.main.runtimeClasspath runtimeClasspath += sourceSets.main.runtimeClasspath diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 35c3b657c..fac67e808 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -33,70 +33,25 @@ this.field_110448_aq.func_198983_a(); List list = this.field_110448_aq.func_198980_d().stream().map(ResourcePackInfo::func_195796_e).collect(Collectors.toList()); -@@ -463,6 +464,7 @@ - this.field_135017_as.func_135043_a(list); - this.field_71446_o = new TextureManager(this.field_110451_am); - this.field_110451_am.func_219534_a(this.field_71446_o); -+ //net.minecraftforge.fml.client.SplashProgress.drawVanillaScreen(this.textureManager); - this.func_213226_a(); - this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az); - this.field_71469_aa = new SaveFormat(this.field_71412_D.toPath().resolve("saves"), this.field_71412_D.toPath().resolve("backups"), this.field_184131_U); -@@ -480,11 +482,14 @@ - - this.field_110451_am.func_219534_a(new GrassColorReloadListener()); - this.field_110451_am.func_219534_a(new FoliageColorReloadListener()); -+ try (net.minecraftforge.fml.common.progress.ProgressBar bar = net.minecraftforge.fml.common.progress.StartupProgressManager.start("Rendering Setup", 5, true)) { -+ bar.step("GL Setup"); - this.field_195558_d.func_198076_a("Startup"); - GlStateManager.enableTexture(); - GlStateManager.shadeModel(7425); - GlStateManager.clearDepth(1.0D); - GlStateManager.enableDepthTest(); -+ net.minecraftforge.fml.client.ClientModLoader.complete(); - GlStateManager.depthFunc(515); - GlStateManager.enableAlphaTest(); - GlStateManager.alphaFunc(516, 0.1F); -@@ -493,19 +498,24 @@ - GlStateManager.loadIdentity(); - GlStateManager.matrixMode(5888); - this.field_195558_d.func_198076_a("Post startup"); -+ bar.step("Loading Texture Map"); - this.field_147128_au = new AtlasTexture("textures"); - this.field_147128_au.func_147633_a(this.field_71474_y.field_151442_I); - this.field_71446_o.func_110580_a(AtlasTexture.field_110575_b, this.field_147128_au); - this.field_71446_o.func_110577_a(AtlasTexture.field_110575_b); - this.field_147128_au.func_174937_a(false, this.field_71474_y.field_151442_I > 0); -+ bar.step("Loading Model Manager"); - this.field_175617_aL = new ModelManager(this.field_147128_au); - this.field_110451_am.func_219534_a(this.field_175617_aL); - this.field_184127_aH = BlockColors.func_186723_a(); - this.field_184128_aI = ItemColors.func_186729_a(this.field_184127_aH); -+ bar.step("Loading Item Renderer"); - this.field_175621_X = new ItemRenderer(this.field_71446_o, this.field_175617_aL, this.field_184128_aI); - this.field_175616_W = new EntityRendererManager(this.field_71446_o, this.field_175621_X, this.field_110451_am); - this.field_175620_Y = new FirstPersonRenderer(this); - this.field_110451_am.func_219534_a(this.field_175621_X); -+ bar.step("Loading Entity Renderer"); -+ //net.minecraftforge.fml.client.SplashProgress.pause(); - this.field_71460_t = new GameRenderer(this, this.field_110451_am); - this.field_110451_am.func_219534_a(this.field_71460_t); - this.field_175618_aM = new BlockRendererDispatcher(this.field_175617_aL.func_174954_c(), this.field_184127_aH); -@@ -521,9 +531,13 @@ +@@ -521,7 +522,7 @@ this.field_110451_am.func_219534_a(this.field_213272_aL); this.field_213273_aM = new PotionSpriteUploader(this.field_71446_o); this.field_110451_am.func_219534_a(this.field_213273_aM); - this.field_71456_v = new IngameGui(this); -+ //net.minecraftforge.fml.client.SplashProgress.resume(); -+ }; // Forge: end progress bar -+ net.minecraftforge.fml.client.ClientModLoader.end(); + this.field_71456_v = new net.minecraftforge.client.ForgeIngameGui(this); this.field_184132_p = new DebugRenderer(this); GLX.setGlfwErrorCallback(this::func_195545_a); -+ net.minecraftforge.fml.client.ClientModLoader.complete(); if (this.field_71474_y.field_74353_u && !this.field_195558_d.func_198113_j()) { - this.field_195558_d.func_198077_g(); - this.field_71474_y.field_74353_u = this.field_195558_d.func_198113_j(); -@@ -557,7 +571,7 @@ +@@ -542,7 +543,7 @@ + if (SharedConstants.field_206244_b) { + this.func_213256_aB(); + } +- ++ net.minecraftforge.fml.client.ClientModLoader.complete(); + }, false)); + } + +@@ -557,7 +558,7 @@ return Stream.of(Registry.field_212630_s.func_177774_c(p_213251_0_.func_77973_b())); }); SearchTreeReloadable searchtreereloadable = new SearchTreeReloadable<>((p_213235_0_) -> { @@ -105,7 +60,7 @@ }); NonNullList nonnulllist = NonNullList.func_191196_a(); -@@ -646,7 +660,7 @@ +@@ -646,7 +647,7 @@ Bootstrap.func_179870_a(p_71377_1_.func_71502_e()); if (p_71377_1_.func_71497_f() != null) { Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f()); @@ -114,7 +69,7 @@ } else if (p_71377_1_.func_147149_a(file2)) { Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath()); System.exit(-1); -@@ -661,6 +675,7 @@ +@@ -661,6 +662,7 @@ return this.field_71474_y.field_211842_aO; } @@ -122,7 +77,7 @@ public CompletableFuture func_213237_g() { if (this.field_213276_aV != null) { return this.field_213276_aV; -@@ -740,16 +755,20 @@ +@@ -740,16 +742,20 @@ } public void func_147108_a(@Nullable Screen p_147108_1_) { @@ -147,7 +102,7 @@ if (p_147108_1_ instanceof MainMenuScreen || p_147108_1_ instanceof MultiplayerScreen) { this.field_71474_y.field_74330_P = false; this.field_71456_v.func_146158_b().func_146231_a(true); -@@ -874,11 +893,13 @@ +@@ -874,11 +880,13 @@ GlStateManager.enableTexture(); this.field_71424_I.func_76319_b(); if (!this.field_71454_w) { @@ -161,7 +116,7 @@ } this.field_71424_I.func_219897_b(); -@@ -1146,10 +1167,10 @@ +@@ -1146,10 +1154,10 @@ if (p_147115_1_ && this.field_71476_x != null && this.field_71476_x.func_216346_c() == RayTraceResult.Type.BLOCK) { BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x; BlockPos blockpos = blockraytraceresult.func_216350_a(); @@ -174,7 +129,7 @@ this.field_71439_g.func_184609_a(Hand.MAIN_HAND); } } -@@ -1176,7 +1197,7 @@ +@@ -1176,7 +1184,7 @@ case BLOCK: BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x; BlockPos blockpos = blockraytraceresult.func_216350_a(); @@ -183,7 +138,7 @@ this.field_71442_b.func_180511_b(blockpos, blockraytraceresult.func_216354_b()); break; } -@@ -1186,6 +1207,7 @@ +@@ -1186,6 +1194,7 @@ } this.field_71439_g.func_184821_cY(); @@ -191,7 +146,7 @@ } this.field_71439_g.func_184609_a(Hand.MAIN_HAND); -@@ -1235,6 +1257,9 @@ +@@ -1235,6 +1244,9 @@ } } @@ -201,7 +156,7 @@ if (!itemstack.func_190926_b() && this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, hand) == ActionResultType.SUCCESS) { this.field_71460_t.field_78516_c.func_187460_a(hand); return; -@@ -1254,6 +1279,8 @@ +@@ -1254,6 +1266,8 @@ --this.field_71467_ac; } @@ -210,7 +165,7 @@ this.field_71424_I.func_76320_a("gui"); if (!this.field_71445_n) { this.field_71456_v.func_73831_a(); -@@ -1372,6 +1399,8 @@ +@@ -1372,6 +1386,8 @@ this.field_71424_I.func_219895_b("keyboard"); this.field_195559_v.func_204870_b(); this.field_71424_I.func_76319_b(); @@ -219,7 +174,7 @@ } private void func_184117_aA() { -@@ -1430,6 +1459,7 @@ +@@ -1430,6 +1446,7 @@ this.field_71439_g.func_71040_bB(Screen.hasControlDown()); } } @@ -227,7 +182,7 @@ boolean flag2 = this.field_71474_y.field_74343_n != ChatVisibility.HIDDEN; if (flag2) { -@@ -1526,6 +1556,12 @@ +@@ -1526,6 +1543,12 @@ this.func_147108_a(worldloadprogressscreen); while(!this.field_71437_Z.func_71200_ad()) { @@ -240,7 +195,7 @@ worldloadprogressscreen.tick(); this.func_195542_b(false); -@@ -1546,11 +1582,17 @@ +@@ -1546,11 +1569,17 @@ networkmanager.func_150719_a(new ClientLoginNetHandler(networkmanager, this, (Screen)null, (p_213261_0_) -> { })); networkmanager.func_179290_a(new CHandshakePacket(socketaddress.toString(), 0, ProtocolType.LOGIN)); @@ -259,7 +214,7 @@ WorkingScreen workingscreen = new WorkingScreen(); workingscreen.func_200210_a(new TranslationTextComponent("connect.joining")); this.func_213241_c(workingscreen); -@@ -1623,6 +1665,7 @@ +@@ -1623,6 +1652,7 @@ } TileEntityRendererDispatcher.field_147556_a.func_147543_a(p_213257_1_); @@ -267,7 +222,7 @@ } public final boolean func_71355_q() { -@@ -1648,112 +1691,8 @@ +@@ -1648,112 +1678,8 @@ private void func_147112_ai() { if (this.field_71476_x != null && this.field_71476_x.func_216346_c() != RayTraceResult.Type.MISS) { @@ -382,7 +337,7 @@ } } -@@ -1825,6 +1764,7 @@ +@@ -1825,6 +1751,7 @@ return field_71432_P; } @@ -390,7 +345,7 @@ public CompletableFuture func_213245_w() { return this.func_213169_a(this::func_213237_g).thenCompose((p_213240_0_) -> { return p_213240_0_; -@@ -1968,6 +1908,8 @@ +@@ -1968,6 +1895,8 @@ } public MusicTicker.MusicType func_147109_W() { @@ -399,7 +354,7 @@ if (this.field_71462_r instanceof WinGameScreen) { return MusicTicker.MusicType.CREDITS; } else if (this.field_71439_g == null) { -@@ -2124,4 +2066,12 @@ +@@ -2124,4 +2053,12 @@ public LoadingGui func_213250_au() { return this.field_213279_p; } diff --git a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch index a138f9e55..ab6a3d827 100644 --- a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch @@ -390,7 +390,7 @@ @Nullable @OnlyIn(Dist.CLIENT) public Direction func_213376_dz() { -+// this.func_213374_dv().map(pos->{ // This is apparently an "optimization" by Mojang, so we'll copy their lead here for now ++// this.getBedPosition().map(pos->{ // This is apparently an "optimization" by Mojang, so we'll copy their lead here for now +// BlockState state = this.world.getBlockState(pos); +// return !state.isBed(world, pos, this) ? Direction.UP : state.getBedDirection(world, pos); +// }); diff --git a/src/main/java/net/minecraftforge/client/CloudRenderer.java b/src/main/java/net/minecraftforge/client/CloudRenderer.java index 643b9b546..077890a84 100644 --- a/src/main/java/net/minecraftforge/client/CloudRenderer.java +++ b/src/main/java/net/minecraftforge/client/CloudRenderer.java @@ -81,7 +81,7 @@ public class CloudRenderer implements ISelectiveResourceReloadListener public CloudRenderer() { // Resource manager should always be reloadable. - ((IReloadableResourceManager) mc.getResourceManager()).func_219534_a(this); + ((IReloadableResourceManager) mc.getResourceManager()).addReloadListener(this); } private int getScale() @@ -273,19 +273,19 @@ public class CloudRenderer implements ISelectiveResourceReloadListener public void checkSettings() { boolean newEnabled = ForgeConfig.CLIENT.forgeCloudsEnabled.get() - && mc.gameSettings.func_216842_e() != CloudOption.OFF + && mc.gameSettings.getCloudOption() != CloudOption.OFF && mc.world != null && mc.world.dimension.isSurfaceWorld(); if (isBuilt() && (!newEnabled - || mc.gameSettings.func_216842_e() != cloudMode + || mc.gameSettings.getCloudOption() != cloudMode || mc.gameSettings.renderDistanceChunks != renderDistance)) { dispose(); } - cloudMode = mc.gameSettings.func_216842_e(); + cloudMode = mc.gameSettings.getCloudOption(); renderDistance = mc.gameSettings.renderDistanceChunks; if (newEnabled && !isBuilt()) diff --git a/src/main/java/net/minecraftforge/client/ForgeIngameGui.java b/src/main/java/net/minecraftforge/client/ForgeIngameGui.java index 4e9ae8a98..fc463f918 100644 --- a/src/main/java/net/minecraftforge/client/ForgeIngameGui.java +++ b/src/main/java/net/minecraftforge/client/ForgeIngameGui.java @@ -130,14 +130,14 @@ public class ForgeIngameGui extends IngameGui if (renderHelmet) renderHelmet(partialTicks); - if (renderPortal && !mc.player.isPotionActive(Effects.field_76431_k)) + if (renderPortal && !mc.player.isPotionActive(Effects.NAUSEA)) { renderPortal(partialTicks); } - if (this.mc.field_71442_b.getCurrentGameType() == GameType.SPECTATOR) + if (this.mc.playerController.getCurrentGameType() == GameType.SPECTATOR) { - if (renderSpectatorTooltip) field_175197_u.renderTooltip(partialTicks); + if (renderSpectatorTooltip) spectatorGui.renderTooltip(partialTicks); } else if (!this.mc.gameSettings.hideGUI) { @@ -153,7 +153,7 @@ public class ForgeIngameGui extends IngameGui if (renderBossHealth) renderBossHealth(); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - if (this.mc.field_71442_b.shouldDrawHUD() && this.mc.getRenderViewEntity() instanceof PlayerEntity) + if (this.mc.playerController.shouldDrawHUD() && this.mc.getRenderViewEntity() instanceof PlayerEntity) { if (renderHealth) renderHealth(this.scaledWidth, this.scaledHeight); if (renderArmor) renderArmor(this.scaledWidth, this.scaledHeight); @@ -170,10 +170,10 @@ public class ForgeIngameGui extends IngameGui { renderExperience(this.scaledWidth / 2 - 91); } - if (this.mc.gameSettings.heldItemTooltips && this.mc.field_71442_b.getCurrentGameType() != GameType.SPECTATOR) { + if (this.mc.gameSettings.heldItemTooltips && this.mc.playerController.getCurrentGameType() != GameType.SPECTATOR) { this.renderSelectedItem(); } else if (this.mc.player.isSpectator()) { - this.field_175197_u.renderSelectedItem(); + this.spectatorGui.renderSelectedItem(); } } @@ -240,7 +240,7 @@ public class ForgeIngameGui extends IngameGui protected void renderSubtitles() { if (pre(SUBTITLES)) return; - this.field_184049_t.render(); + this.overlaySubtitle.render(); post(SUBTITLES); } @@ -251,7 +251,7 @@ public class ForgeIngameGui extends IngameGui GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); mc.getProfiler().startSection("bossHealth"); GlStateManager.enableBlend(); - this.field_184050_w.render(); + this.overlayBoss.render(); GlStateManager.disableBlend(); mc.getProfiler().endSection(); post(BOSSHEALTH); @@ -346,9 +346,9 @@ public class ForgeIngameGui extends IngameGui { if (pre(HOTBAR)) return; - if (mc.field_71442_b.getCurrentGameType() == GameType.SPECTATOR) + if (mc.playerController.getCurrentGameType() == GameType.SPECTATOR) { - this.field_175197_u.renderTooltip(partialTicks); + this.spectatorGui.renderTooltip(partialTicks); } else { @@ -438,7 +438,7 @@ public class ForgeIngameGui extends IngameGui if (rowHeight != 10) left_height += 10 - rowHeight; int regen = -1; - if (player.isPotionActive(Effects.field_76428_l)) + if (player.isPotionActive(Effects.REGENERATION)) { regen = ticks % 25; } @@ -446,8 +446,8 @@ public class ForgeIngameGui extends IngameGui final int TOP = 9 * (mc.world.getWorldInfo().isHardcore() ? 5 : 0); final int BACKGROUND = (highlight ? 25 : 16); int MARGIN = 16; - if (player.isPotionActive(Effects.field_76436_u)) MARGIN += 36; - else if (player.isPotionActive(Effects.field_82731_v)) MARGIN += 72; + if (player.isPotionActive(Effects.POISON)) MARGIN += 36; + else if (player.isPotionActive(Effects.WITHER)) MARGIN += 72; float absorbRemaining = absorb; for (int i = MathHelper.ceil((healthMax + absorb) / 2.0F) - 1; i >= 0; --i) @@ -520,7 +520,7 @@ public class ForgeIngameGui extends IngameGui int icon = 16; byte background = 0; - if (mc.player.isPotionActive(Effects.field_76438_s)) + if (mc.player.isPotionActive(Effects.HUNGER)) { icon += 36; background = 13; @@ -574,7 +574,7 @@ public class ForgeIngameGui extends IngameGui GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.disableBlend(); - if (mc.field_71442_b.gameIsSurvivalOrAdventure()) + if (mc.playerController.gameIsSurvivalOrAdventure()) { super.renderExpBar(x); } @@ -740,7 +740,7 @@ public class ForgeIngameGui extends IngameGui GlStateManager.pushMatrix(); GlStateManager.translatef((float) event.getPosX(), (float) event.getPosY(), 0.0F); - field_73840_e.render(ticks); + persistantChatGUI.render(ticks); GlStateManager.popMatrix(); post(CHAT); @@ -751,18 +751,18 @@ public class ForgeIngameGui extends IngameGui protected void renderPlayerList(int width, int height) { ScoreObjective scoreobjective = this.mc.world.getScoreboard().getObjectiveInDisplaySlot(0); - ClientPlayNetHandler handler = mc.player.field_71174_a; + ClientPlayNetHandler handler = mc.player.connection; if (mc.gameSettings.keyBindPlayerList.isKeyDown() && (!mc.isIntegratedServerRunning() || handler.getPlayerInfoMap().size() > 1 || scoreobjective != null)) { - this.field_175196_v.setVisible(true); + this.overlayPlayerList.setVisible(true); if (pre(PLAYER_LIST)) return; - this.field_175196_v.render(width, this.mc.world.getScoreboard(), scoreobjective); + this.overlayPlayerList.render(width, this.mc.world.getScoreboard(), scoreobjective); post(PLAYER_LIST); } else { - this.field_175196_v.setVisible(false); + this.overlayPlayerList.setVisible(false); } } diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoader.java b/src/main/java/net/minecraftforge/client/model/ModelLoader.java index 532b77ba2..77f8168f4 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoader.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoader.java @@ -394,14 +394,14 @@ public final class ModelLoader extends ModelBakery { if(model.getParentLocation().getPath().equals("builtin/generated")) { - model.field_178315_d = field_177606_o; + model.parent = MODEL_GENERATED; } else { IUnbakedModel parent = ModelLoaderRegistry.getModelOrLogError(model.getParentLocation(), "Could not load vanilla model parent '" + model.getParentLocation() + "' for '" + model); if(parent instanceof VanillaModelWrapper) { - model.field_178315_d = ((VanillaModelWrapper) parent).model; + model.parent = ((VanillaModelWrapper) parent).model; } else { @@ -412,7 +412,7 @@ public final class ModelLoader extends ModelBakery ImmutableSet.Builder builder = ImmutableSet.builder(); - if(model == ModelBakery.field_177606_o) + if(model == ModelBakery.MODEL_GENERATED) { for(String s : ItemModelGenerator.LAYERS) { @@ -463,12 +463,12 @@ public final class ModelLoader extends ModelBakery tMap.putAll(PerspectiveMapWrapper.getTransforms(state)); IModelState perState = new SimpleModelState(ImmutableMap.copyOf(tMap), state.apply(Optional.empty())); - if(model == ModelBakery.field_177606_o) + if(model == ModelBakery.MODEL_GENERATED) { return new ItemLayerModel(bakery, model, format).bake(bakery, bakedTextureGetter, new BasicState(perState, uvlock), format); } TextureAtlasSprite textureatlassprite = bakedTextureGetter.apply(new ResourceLocation(model.resolveTextureName("particle"))); - if(model == ModelBakery.field_177616_r) return new BuiltInModel(transforms, model.getOverrides(bakery, model, bakedTextureGetter, format), textureatlassprite); + if(model == ModelBakery.MODEL_ENTITY) return new BuiltInModel(transforms, model.getOverrides(bakery, model, bakedTextureGetter, format), textureatlassprite); return bakeNormal(bakery, model, perState, state, newTransforms, format, bakedTextureGetter, uvlock); } @@ -496,13 +496,13 @@ public final class ModelLoader extends ModelBakery { TextureAtlasSprite textureatlassprite1 = bakedTextureGetter.apply(new ResourceLocation(model.resolveTextureName(e.getValue().texture))); - if (e.getValue().field_178244_b == null || !TRSRTransformation.isInteger(transformation.getMatrixVec())) + if (e.getValue().cullFace == null || !TRSRTransformation.isInteger(transformation.getMatrixVec())) { builder.addGeneralQuad(BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked))); } else { - builder.addFaceQuad(baseState.rotate(e.getValue().field_178244_b), BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked))); + builder.addFaceQuad(baseState.rotate(e.getValue().cullFace), BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked))); } } } @@ -546,7 +546,7 @@ public final class ModelLoader extends ModelBakery Maps.newHashMap(this.model.textures), this.model.isAmbientOcclusion(), this.model.isGui3d(), //New Textures man VERY IMPORTANT model.getAllTransforms(), Lists.newArrayList(model.getOverrides())); newModel.name = this.model.name; - newModel.field_178315_d = this.model.field_178315_d; + newModel.parent = this.model.parent; Set removed = Sets.newHashSet(); @@ -603,7 +603,7 @@ public final class ModelLoader extends ModelBakery return this; } BlockModel newModel = new BlockModel(model.getParentLocation(), model.getElements(), model.textures, value, model.isGui3d(), model.getAllTransforms(), Lists.newArrayList(model.getOverrides())); - newModel.field_178315_d = model.field_178315_d; + newModel.parent = model.parent; newModel.name = model.name; return new VanillaModelWrapper(location, newModel, uvlock, animation); } @@ -616,7 +616,7 @@ public final class ModelLoader extends ModelBakery return this; } BlockModel newModel = new BlockModel(model.getParentLocation(), model.getElements(), model.textures, model.ambientOcclusion, value, model.getAllTransforms(), Lists.newArrayList(model.getOverrides())); - newModel.field_178315_d = model.field_178315_d; + newModel.parent = model.parent; newModel.name = model.name; return new VanillaModelWrapper(location, newModel, uvlock, animation); } diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java index 1506bc32f..cd2009018 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java @@ -79,7 +79,7 @@ public class ModelLoaderRegistry public static void registerLoader(ICustomModelLoader loader) { loaders.add(loader); - ((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).func_219534_a(loader); + ((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).addReloadListener(loader); } public static boolean loaded(ResourceLocation location) diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java index 6eb1a9bfa..9f2b8fab5 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java @@ -61,7 +61,7 @@ public class BlockInfo { if(cachedTint == tint) return cachedMultiplier; cachedTint = tint; - cachedMultiplier = colors.func_216860_a(state, world, blockPos, tint); + cachedMultiplier = colors.getColor(state, world, blockPos, tint); return cachedMultiplier; } diff --git a/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java b/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java index c2f83b05e..ea0f2df1f 100644 --- a/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java +++ b/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java @@ -48,7 +48,7 @@ public enum KeyConflictContext implements IKeyConflictContext @Override public boolean isActive() { - return Minecraft.getInstance().field_71462_r != null; + return Minecraft.getInstance().currentScreen != null; } @Override diff --git a/src/main/java/net/minecraftforge/common/DimensionManager.java b/src/main/java/net/minecraftforge/common/DimensionManager.java index 80cc76180..5aa6c1065 100644 --- a/src/main/java/net/minecraftforge/common/DimensionManager.java +++ b/src/main/java/net/minecraftforge/common/DimensionManager.java @@ -206,7 +206,7 @@ public class DimensionManager Validate.notNull(overworld, "Cannot Hotload Dim: Overworld is not Loaded!"); @SuppressWarnings("resource") - ServerWorld world = new ServerMultiWorld(overworld, server, server.func_213207_aT(), overworld.func_217485_w(), dim, server.func_213185_aS(), new NoopChunkStatusListener()); + ServerWorld world = new ServerMultiWorld(overworld, server, server.getBackgroundExecutor(), overworld.getSaveHandler(), dim, server.getProfiler(), new NoopChunkStatusListener()); if (!server.isSinglePlayer()) world.getWorldInfo().setGameType(server.getGameType()); server.forgeGetWorldMap().put(dim, world); @@ -218,7 +218,7 @@ public class DimensionManager private static boolean canUnloadWorld(ServerWorld world) { - return world.func_217469_z().isEmpty() + return world.getForcedChunks().isEmpty() && world.getPlayers().isEmpty() //&& !world.dimension.getType().shouldLoadSpawn() && !getData(world.getDimension().getType()).keepLoaded; @@ -274,7 +274,7 @@ public class DimensionManager } try { - w.func_217445_a(null, true, true); + w.save(null, true, true); } catch (Exception e) { diff --git a/src/main/java/net/minecraftforge/common/ForgeHooks.java b/src/main/java/net/minecraftforge/common/ForgeHooks.java index 615e6981f..1065afc1b 100644 --- a/src/main/java/net/minecraftforge/common/ForgeHooks.java +++ b/src/main/java/net/minecraftforge/common/ForgeHooks.java @@ -237,7 +237,7 @@ public class ForgeHooks public static boolean onPickBlock(RayTraceResult target, PlayerEntity player, World world) { ItemStack result = ItemStack.EMPTY; - boolean isCreative = player.playerAbilities.isCreativeMode; + boolean isCreative = player.abilities.isCreativeMode; TileEntity te = null; if (target.getType() == RayTraceResult.Type.BLOCK) @@ -274,7 +274,7 @@ public class ForgeHooks if (isCreative) { player.inventory.setPickedItemStack(result); - Minecraft.getInstance().field_71442_b.sendSlotPacket(player.getHeldItem(Hand.MAIN_HAND), 36 + player.inventory.currentItem); + Minecraft.getInstance().playerController.sendSlotPacket(player.getHeldItem(Hand.MAIN_HAND), 36 + player.inventory.currentItem); return true; } int slot = player.inventory.getSlotFor(result); @@ -283,7 +283,7 @@ public class ForgeHooks if (PlayerInventory.isHotbar(slot)) player.inventory.currentItem = slot; else - Minecraft.getInstance().field_71442_b.pickItem(slot); + Minecraft.getInstance().playerController.pickItem(slot); return true; } return false; @@ -431,14 +431,14 @@ public class ForgeHooks return null; if (!player.world.isRemote) - player.getEntityWorld().func_217376_c(event.getEntityItem()); + player.getEntityWorld().addEntity(event.getEntityItem()); return event.getEntityItem(); } @Nullable public static ITextComponent onServerChatEvent(ServerPlayNetHandler net, String raw, ITextComponent comp) { - ServerChatEvent event = new ServerChatEvent(net.field_147369_b, raw, comp); + ServerChatEvent event = new ServerChatEvent(net.player, raw, comp); if (MinecraftForge.EVENT_BUS.post(event)) { return null; diff --git a/src/main/java/net/minecraftforge/common/ForgeMod.java b/src/main/java/net/minecraftforge/common/ForgeMod.java index 095a3d976..ba3592f66 100644 --- a/src/main/java/net/minecraftforge/common/ForgeMod.java +++ b/src/main/java/net/minecraftforge/common/ForgeMod.java @@ -20,8 +20,6 @@ package net.minecraftforge.common; import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.BrandingControl; -import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.ExtensionPoint; import net.minecraftforge.fml.FMLWorldPersistenceHook; import net.minecraftforge.fml.ModLoadingContext; @@ -43,13 +41,10 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import net.minecraft.client.Minecraft; import net.minecraft.data.DataGenerator; import net.minecraft.nbt.CompoundNBT; -import net.minecraft.resources.SimpleReloadableResourceManager; import net.minecraft.world.storage.SaveHandler; import net.minecraft.world.storage.WorldInfo; -import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.common.data.ForgeBlockTagsProvider; import net.minecraftforge.common.data.ForgeItemTagsProvider; import net.minecraftforge.common.model.animation.CapabilityAnimation; @@ -57,7 +52,6 @@ import net.minecraftforge.energy.CapabilityEnergy; import net.minecraftforge.fml.event.lifecycle.GatherDataEvent; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.resource.ISelectiveResourceReloadListener; import net.minecraftforge.fluids.UniversalBucket; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.gameevent.PlayerEvent; @@ -143,13 +137,6 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook { VersionChecker.startVersionCheck(); } - - // Brandings need to recompute when language changes - DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> { - Minecraft mc = Minecraft.getInstance(); - if (mc != null) - ((SimpleReloadableResourceManager)mc.getResourceManager()).func_219534_a((ISelectiveResourceReloadListener) BrandingControl::clearCaches); - }); } /* diff --git a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java index 03688905c..545141596 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java @@ -49,7 +49,7 @@ public class ForgeItemTagsProvider extends ItemTagsProvider getBuilder(Tags.Items.DYES_BROWN).add(Items.COCOA_BEANS); getBuilder(Tags.Items.DYES_CYAN).add(Items.CYAN_DYE); getBuilder(Tags.Items.DYES_GRAY).add(Items.GRAY_DYE); - getBuilder(Tags.Items.DYES_GREEN).add(Items.field_222079_lj); + getBuilder(Tags.Items.DYES_GREEN).add(Items.GREEN_DYE); getBuilder(Tags.Items.DYES_LIGHT_BLUE).add(Items.LIGHT_BLUE_DYE); getBuilder(Tags.Items.DYES_LIGHT_GRAY).add(Items.LIGHT_GRAY_DYE); getBuilder(Tags.Items.DYES_LIME).add(Items.LIME_DYE); @@ -57,9 +57,9 @@ public class ForgeItemTagsProvider extends ItemTagsProvider getBuilder(Tags.Items.DYES_ORANGE).add(Items.ORANGE_DYE); getBuilder(Tags.Items.DYES_PINK).add(Items.PINK_DYE); getBuilder(Tags.Items.DYES_PURPLE).add(Items.PURPLE_DYE); - getBuilder(Tags.Items.DYES_RED).add(Items.field_222078_li); + getBuilder(Tags.Items.DYES_RED).add(Items.RED_DYE); getBuilder(Tags.Items.DYES_WHITE).add(Items.BONE_MEAL); - getBuilder(Tags.Items.DYES_YELLOW).add(Items.field_222081_ls); + getBuilder(Tags.Items.DYES_YELLOW).add(Items.YELLOW_DYE); copy(Tags.Blocks.FENCE_GATES, Tags.Items.FENCE_GATES); copy(Tags.Blocks.FENCE_GATES_WOODEN, Tags.Items.FENCE_GATES_WOODEN); copy(Tags.Blocks.FENCES, Tags.Items.FENCES); diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java index 0dc50c163..b25af5d3f 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java @@ -697,7 +697,7 @@ public interface IForgeBlock */ default boolean shouldCheckWeakPower(BlockState state, IWorldReader world, BlockPos pos, Direction side) { - return state.func_215686_e(world, pos); + return state.isNormalCube(world, pos); } /** @@ -807,7 +807,7 @@ public interface IForgeBlock LivingEntity ent = (LivingEntity)entity; f12 = (float) EnchantmentHelper.getRespirationModifier(ent) * 0.2F; - if (ent.isPotionActive(Effects.field_76427_o)) + if (ent.isPotionActive(Effects.WATER_BREATHING)) { f12 = f12 * 0.3F + 0.6F; } @@ -968,7 +968,7 @@ public interface IForgeBlock { if (entity instanceof EnderDragonEntity) { - return !BlockTags.field_219754_W.contains(this.getBlock()); + return !BlockTags.DRAGON_IMMUNE.contains(this.getBlock()); } else if ((entity instanceof WitherEntity) || (entity instanceof WitherSkullEntity)) diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java index 786a8bc86..44e816f12 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java @@ -159,7 +159,7 @@ public interface IForgeEntity extends ICapabilitySerializable */ default EntityClassification getClassification(boolean forSpawnCount) { - return getEntity().getType().getClassiciation(); + return getEntity().getType().getClassification(); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java index f59055e12..0dfd12c4d 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java @@ -603,7 +603,7 @@ public interface IForgeItem */ default boolean canApplyAtEnchantingTable(ItemStack stack, net.minecraft.enchantment.Enchantment enchantment) { - return enchantment.field_77351_y.canEnchantItem(stack.getItem()); + return enchantment.type.canEnchantItem(stack.getItem()); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java index 3a33b5f6f..68ebccbac 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java @@ -111,7 +111,7 @@ public interface IForgeItemStack extends ICapabilitySerializable PlayerEntity entityplayer = context.getPlayer(); BlockPos blockpos = context.getPos(); CachedBlockInfo blockworldstate = new CachedBlockInfo(context.getWorld(), blockpos, false); - if (entityplayer != null && !entityplayer.playerAbilities.allowEdit && !getStack().canPlaceOn(context.getWorld().getTags(), blockworldstate)) { + if (entityplayer != null && !entityplayer.abilities.allowEdit && !getStack().canPlaceOn(context.getWorld().getTags(), blockworldstate)) { return ActionResultType.PASS; } else { Item item = getStack().getItem(); diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java b/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java index 4eced3857..8c7007203 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeWorldType.java @@ -65,9 +65,9 @@ public interface IForgeWorldType default void onCustomizeButton(Minecraft mc, CreateWorldScreen gui) { if (this == WorldType.FLAT) - mc.displayGuiScreen(new CreateFlatWorldScreen(gui, gui.field_146334_a)); + mc.displayGuiScreen(new CreateFlatWorldScreen(gui, gui.chunkProviderSettingsJson)); else if (this == WorldType.BUFFET) - mc.displayGuiScreen(new CreateBuffetWorldScreen(gui, gui.field_146334_a)); + mc.displayGuiScreen(new CreateBuffetWorldScreen(gui, gui.chunkProviderSettingsJson)); } default boolean handleSlimeSpawnReduction(java.util.Random random, World world) diff --git a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java index 85bd9e8cf..f364058b2 100644 --- a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java +++ b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java @@ -345,7 +345,7 @@ public class ForgeEventFactory if (MinecraftForge.EVENT_BUS.post(event)) return -1; if (event.getResult() == Result.ALLOW) { - context.getItem().func_222118_a(1, context.getPlayer(), player -> player.func_213334_d(context.func_221531_n())); + context.getItem().damageItem(1, context.getPlayer(), player -> player.sendBreakAnimation(context.getHand())); return 1; } return 0; @@ -372,7 +372,7 @@ public class ForgeEventFactory if (event.getResult() == Result.ALLOW) { - if (player.playerAbilities.isCreativeMode) + if (player.abilities.isCreativeMode) return new ActionResult(ActionResultType.SUCCESS, stack); stack.shrink(1); @@ -567,7 +567,7 @@ public class ForgeEventFactory Result canContinueSleep = evt.getResult(); if (canContinueSleep == Result.DEFAULT) { - return player.func_213374_dv().map(pos-> { + return player.getBedPosition().map(pos-> { BlockState state = player.world.getBlockState(pos); return state.getBlock().isBed(state, player.world, pos, player); }).orElse(false); diff --git a/src/main/java/net/minecraftforge/fluids/FluidUtil.java b/src/main/java/net/minecraftforge/fluids/FluidUtil.java index c32a6f826..2b80730d7 100644 --- a/src/main/java/net/minecraftforge/fluids/FluidUtil.java +++ b/src/main/java/net/minecraftforge/fluids/FluidUtil.java @@ -232,7 +232,7 @@ public class FluidUtil return FluidActionResult.FAILURE; } - if (player != null && player.playerAbilities.isCreativeMode) + if (player != null && player.abilities.isCreativeMode) { FluidActionResult filledReal = tryFillContainer(container, fluidSource, maxAmount, player, doFill); if (filledReal.isSuccess()) @@ -300,7 +300,7 @@ public class FluidUtil return FluidActionResult.FAILURE; } - if (player != null && player.playerAbilities.isCreativeMode) + if (player != null && player.abilities.isCreativeMode) { FluidActionResult emptiedReal = tryEmptyContainer(container, fluidDestination, maxAmount, player, doDrain); if (emptiedReal.isSuccess()) diff --git a/src/main/java/net/minecraftforge/fluids/UniversalBucket.java b/src/main/java/net/minecraftforge/fluids/UniversalBucket.java index d782f4a4b..ebd1c4476 100644 --- a/src/main/java/net/minecraftforge/fluids/UniversalBucket.java +++ b/src/main/java/net/minecraftforge/fluids/UniversalBucket.java @@ -167,7 +167,7 @@ public class UniversalBucket extends Item } // clicked on a block? - RayTraceResult rt = func_219968_a(world, player, FluidMode.NONE); + RayTraceResult rt = rayTrace(world, player, FluidMode.NONE); ActionResult ret = ForgeEventFactory.onBucketUse(player, world, itemstack, rt); if (ret != null) return ret; @@ -190,7 +190,7 @@ public class UniversalBucket extends Item { // try placing liquid FluidActionResult result = FluidUtil.tryPlaceFluid(player, world, hand, targetPos, itemstack, fluidStack); - if (result.isSuccess() && !player.playerAbilities.isCreativeMode) + if (result.isSuccess() && !player.abilities.isCreativeMode) { // success! player.addStat(Stats.ITEM_USED.get(this)); diff --git a/src/main/java/net/minecraftforge/fml/BrandingControl.java b/src/main/java/net/minecraftforge/fml/BrandingControl.java index 72f573991..083a4a2ad 100644 --- a/src/main/java/net/minecraftforge/fml/BrandingControl.java +++ b/src/main/java/net/minecraftforge/fml/BrandingControl.java @@ -23,26 +23,14 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import java.util.List; import java.util.function.BiConsumer; -import java.util.function.Predicate; import java.util.stream.IntStream; + import net.minecraft.resources.IResourceManager; -import net.minecraftforge.resource.IResourceType; -import net.minecraftforge.resource.VanillaResourceType; +import net.minecraft.resources.IResourceManagerReloadListener; import net.minecraftforge.versions.forge.ForgeVersion; import net.minecraftforge.versions.mcp.MCPVersion; -import net.minecraft.resources.IResourceManager; -import net.minecraftforge.resource.IResourceType; -import net.minecraftforge.resource.VanillaResourceType; -import net.minecraftforge.versions.forge.ForgeVersion; -import net.minecraftforge.versions.mcp.MCPVersion; - -import java.util.List; -import java.util.function.BiConsumer; -import java.util.function.Predicate; -import java.util.stream.IntStream; - public class BrandingControl { private static List brandings; @@ -86,10 +74,12 @@ public class BrandingControl return "forge"; } - public static void clearCaches(IResourceManager resourceManager, Predicate resourcePredicate) { - if (resourcePredicate.test(VanillaResourceType.LANGUAGES)) { - brandings = null; - brandingsNoMC = null; - } + public static IResourceManagerReloadListener resourceManagerReloadListener() { + return BrandingControl::onResourceManagerReload; + } + + private static void onResourceManagerReload(IResourceManager resourceManager) { + brandings = null; + brandingsNoMC = null; } } diff --git a/src/main/java/net/minecraftforge/fml/ModLoader.java b/src/main/java/net/minecraftforge/fml/ModLoader.java index 8396cebaf..ee10beb19 100644 --- a/src/main/java/net/minecraftforge/fml/ModLoader.java +++ b/src/main/java/net/minecraftforge/fml/ModLoader.java @@ -124,7 +124,6 @@ public class ModLoader } public void loadMods() { - gatherAndInitializeMods(); DistExecutor.runWhenOn(Dist.CLIENT, ()->()-> ConfigTracker.INSTANCE.loadConfigs(ModConfig.Type.CLIENT, FMLPaths.CONFIGDIR.get())); ConfigTracker.INSTANCE.loadConfigs(ModConfig.Type.COMMON, FMLPaths.CONFIGDIR.get()); dispatchAndHandleError(LifecycleEventProvider.SETUP); @@ -132,7 +131,7 @@ public class ModLoader dispatchAndHandleError(LifecycleEventProvider.SIDED_SETUP); } - private void gatherAndInitializeMods() { + public void gatherAndInitializeMods() { final ModList modList = ModList.of(loadingModList.getModFiles().stream().map(ModFileInfo::getFile).collect(Collectors.toList()), loadingModList.getMods()); if (!this.loadingExceptions.isEmpty()) { throw new LoadingFailedException(loadingExceptions); diff --git a/src/main/java/net/minecraftforge/fml/StartupQuery.java b/src/main/java/net/minecraftforge/fml/StartupQuery.java index 6ac00719c..bc892540a 100644 --- a/src/main/java/net/minecraftforge/fml/StartupQuery.java +++ b/src/main/java/net/minecraftforge/fml/StartupQuery.java @@ -226,7 +226,7 @@ public class StartupQuery { } if (query.isSynchronous()) { - while (client.field_71462_r instanceof GuiNotification) { + while (client.currentScreen instanceof GuiNotification) { if (Thread.interrupted()) { query.exception = new InterruptedException(); throw new RuntimeException(); diff --git a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java index 970fcd5ee..4dc01ed27 100644 --- a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java +++ b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java @@ -22,18 +22,14 @@ package net.minecraftforge.fml.client; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.DownloadingPackFinder; import net.minecraft.client.resources.ClientResourcePackInfo; -import net.minecraft.resources.IReloadableResourceManager; -import net.minecraft.resources.ResourcePackList; +import net.minecraft.profiler.IProfiler; +import net.minecraft.resources.*; +import net.minecraft.util.Unit; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeConfig; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.LoadingFailedException; -import net.minecraftforge.fml.LogicalSidedProvider; -import net.minecraftforge.fml.ModLoader; -import net.minecraftforge.fml.ModLoadingWarning; -import net.minecraftforge.fml.SidedProvider; -import net.minecraftforge.fml.VersionChecker; +import net.minecraftforge.fml.*; import net.minecraftforge.fml.client.gui.LoadingErrorScreen; import net.minecraftforge.fml.packs.ResourcePackLoader; import org.apache.logging.log4j.LogManager; @@ -43,6 +39,8 @@ import com.mojang.blaze3d.platform.GlStateManager; import java.util.Collections; import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; import static net.minecraftforge.fml.loading.LogMarkers.LOADING; @@ -61,15 +59,31 @@ public class ClientModLoader SidedProvider.setClient(()->minecraft); LogicalSidedProvider.setClient(()->minecraft); try { - ModLoader.get().loadMods(); + ModLoader.get().gatherAndInitializeMods(); } catch (LoadingFailedException e) { MinecraftForge.EVENT_BUS.shutdown(); error = e; TEMP_printLoadingExceptions(e); } ResourcePackLoader.loadResourcePacks(defaultResourcePacks); + mcResourceManager.addReloadListener(ClientModLoader::onreload); + mcResourceManager.addReloadListener(BrandingControl.resourceManagerReloadListener()); } + private static CompletableFuture onreload(final IFutureReloadListener.IStage stage, final IResourceManager resourceManager, final IProfiler prepareProfiler, final IProfiler executeProfiler, final Executor asyncExecutor, final Executor syncExecutor) { + return CompletableFuture.runAsync(runTaskWithCatch(ModLoader.get()::loadMods), syncExecutor).thenCompose(stage::markCompleteAwaitingOthers).thenRunAsync(runTaskWithCatch(ModLoader.get()::finishMods)); + } + + private static Runnable runTaskWithCatch(Runnable r) { + return ()-> { + try { + r.run(); + } catch (LoadingFailedException e) { + MinecraftForge.EVENT_BUS.shutdown(); + error = e; + } + }; + } public static void end() { try { diff --git a/src/main/java/net/minecraftforge/fml/client/gui/GuiConfirmation.java b/src/main/java/net/minecraftforge/fml/client/gui/GuiConfirmation.java index 8376029fc..38c0090fb 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/GuiConfirmation.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/GuiConfirmation.java @@ -34,14 +34,14 @@ public class GuiConfirmation extends GuiNotification { this.addButton(new Button(this.width / 2 - 104, this.height - 38, 100, 20, ForgeI18n.parseMessage("gui.yes"), b -> { - GuiConfirmation.this.minecraft.field_71462_r = null; + GuiConfirmation.this.minecraft.currentScreen = null; query.setResult(true); query.finish(); } )); this.addButton(new Button(this.width / 2 + 4, this.height - 38, 100, 20, ForgeI18n.parseMessage("gui.no"), b -> { - GuiConfirmation.this.minecraft.field_71462_r = null; + GuiConfirmation.this.minecraft.currentScreen = null; query.setResult(false); query.finish(); } diff --git a/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java b/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java index 0a2a2b370..3eecdeb41 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java @@ -68,7 +68,7 @@ public class FMLPlayMessages SpawnEntity(Entity e) { this.entity = e; - this.typeId = Registry.field_212629_r.getId(e.getType()); + this.typeId = Registry.ENTITY_TYPE.getId(e.getType()); this.entityId = e.getEntityId(); this.uuid = e.getUniqueID(); this.posX = e.posX; @@ -143,7 +143,7 @@ public class FMLPlayMessages public static void handle(SpawnEntity msg, Supplier ctx) { ctx.get().enqueueWork(() -> { - EntityType type = Registry.field_212629_r.getByValue(msg.typeId); + EntityType type = Registry.ENTITY_TYPE.getByValue(msg.typeId); if (type == null) { throw new RuntimeException(String.format("Could not spawn entity (id %d) with unknown type at (%f, %f, %f)", msg.entityId, msg.posX, msg.posY, msg.posZ)); @@ -163,7 +163,7 @@ public class FMLPlayMessages e.setEntityId(msg.entityId); e.setUniqueId(msg.uuid); - world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).func_217411_a(msg.entityId, e)); + world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).addEntity(msg.entityId, e)); e.setVelocity(msg.velX / 8000.0, msg.velY / 8000.0, msg.velZ / 8000.0); if (e instanceof IEntityAdditionalSpawnData) { @@ -183,7 +183,7 @@ public class FMLPlayMessages OpenContainer(ContainerType id, int windowId, ITextComponent name, PacketBuffer additionalData) { - this(Registry.field_218366_G.getId(id), windowId, name, additionalData); + this(Registry.MENU.getId(id), windowId, name, additionalData); } private OpenContainer(int id, int windowId, ITextComponent name, PacketBuffer additionalData) @@ -223,7 +223,7 @@ public class FMLPlayMessages } public final ContainerType getType() { - return Registry.field_218366_G.getByValue(this.id); + return Registry.MENU.getByValue(this.id); } public int getWindowId() { diff --git a/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java b/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java index fcaadb5ac..ec2562526 100644 --- a/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java +++ b/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java @@ -180,7 +180,7 @@ public class NetworkEvent extends Event // Must check ourselves as Minecraft will sometimes delay tasks even when they are received on the client thread // Same logic as ThreadTaskExecutor#runImmediately without the join if (!executor.isOnExecutionThread()) { - return executor.func_213165_a(runnable); // Use the internal method so thread check isn't done twice + return executor.deferTask(runnable); // Use the internal method so thread check isn't done twice } else { runnable.run(); return CompletableFuture.completedFuture(null); @@ -197,7 +197,7 @@ public class NetworkEvent extends Event if (netHandler instanceof ServerPlayNetHandler) { ServerPlayNetHandler netHandlerPlayServer = (ServerPlayNetHandler) netHandler; - return netHandlerPlayServer.field_147369_b; + return netHandlerPlayServer.player; } return null; } diff --git a/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java b/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java index 33ccc946b..56af5dd2d 100644 --- a/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java +++ b/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java @@ -237,21 +237,21 @@ public class PacketDistributor { private Consumer> trackingEntity(final Supplier entitySupplier) { return p-> { final Entity entity = entitySupplier.get(); - ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).func_217218_b(entity, p); + ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToAllTracking(entity, p); }; } private Consumer> trackingEntityAndSelf(final Supplier entitySupplier) { return p-> { final Entity entity = entitySupplier.get(); - ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).func_217216_a(entity, p); + ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToTrackingAndSelf(entity, p); }; } private Consumer> trackingChunk(final Supplier chunkPosSupplier) { return p -> { final Chunk chunk = chunkPosSupplier.get(); - ((ServerChunkProvider)chunk.getWorld().getChunkProvider()).field_217237_a.func_219097_a(chunk.getPos(), false).forEach(e -> e.connection.sendPacket(p)); + ((ServerChunkProvider)chunk.getWorld().getChunkProvider()).chunkManager.getTrackingPlayers(chunk.getPos(), false).forEach(e -> e.connection.sendPacket(p)); }; } diff --git a/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java b/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java index ca7dd2f40..75ef1a466 100644 --- a/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java +++ b/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java @@ -195,7 +195,7 @@ public class ItemHandlerHelper entityitem.setPickupDelay(40); entityitem.setMotion(entityitem.getMotion().mul(0, 1, 0)); - world.func_217376_c(entityitem); + world.addEntity(entityitem); } } diff --git a/src/main/java/net/minecraftforge/registries/ClearableRegistry.java b/src/main/java/net/minecraftforge/registries/ClearableRegistry.java index af9f3a39b..2f2d6e864 100644 --- a/src/main/java/net/minecraftforge/registries/ClearableRegistry.java +++ b/src/main/java/net/minecraftforge/registries/ClearableRegistry.java @@ -166,7 +166,7 @@ public class ClearableRegistry extends MutableRegistry } @Override - public Optional func_218349_b(ResourceLocation p_218349_1_) { - return Optional.ofNullable(map.get(p_218349_1_)); + public Optional getValue(ResourceLocation key) { + return Optional.ofNullable(map.get(key)); } } diff --git a/src/main/java/net/minecraftforge/registries/GameData.java b/src/main/java/net/minecraftforge/registries/GameData.java index f2cd4945f..f34439dcc 100644 --- a/src/main/java/net/minecraftforge/registries/GameData.java +++ b/src/main/java/net/minecraftforge/registries/GameData.java @@ -88,6 +88,8 @@ import java.util.stream.Collectors; import static net.minecraftforge.registries.ForgeRegistry.REGISTRIES; +import net.minecraftforge.fml.common.EnhancedRuntimeException.WrappedPrintStream; + /** * INTERNAL ONLY * MODDERS SHOULD HAVE NO REASON TO USE THIS CLASS diff --git a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java index aa424f186..03b13fc65 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java @@ -71,7 +71,7 @@ class NamespacedDefaultedWrapper> extends Defau // Reading Functions @Override - public Optional func_218349_b(@Nullable ResourceLocation name) + public Optional getValue(@Nullable ResourceLocation name) { return Optional.ofNullable( this.delegate.getRaw(name)); //get without default } diff --git a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java index 96bbaed5c..68a9c7811 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java @@ -74,7 +74,7 @@ class NamespacedWrapper> extends SimpleRegistry } @Override - public Optional func_218349_b(@Nullable ResourceLocation name) + public Optional getValue(@Nullable ResourceLocation name) { return Optional.ofNullable( this.delegate.getRaw(name)); //get without default } diff --git a/src/main/resources/forge.exc b/src/main/resources/forge.exc index 80fcb5fc3..5799a46d0 100644 --- a/src/main/resources/forge.exc +++ b/src/main/resources/forge.exc @@ -28,7 +28,7 @@ net/minecraft/client/renderer/model/multipart/Multipart.bake(Lnet/minecraft/clie net/minecraft/client/resources/ClientResourcePackInfo.(Ljava/lang/String;ZLjava/util/function/Supplier;Lnet/minecraft/resources/IResourcePack;Lnet/minecraft/resources/data/PackMetadataSection;Lnet/minecraft/resources/ResourcePackInfo$Priority;Z)V=|p_i48113_1_,p_i48113_2_,p_i48113_3_,p_i48113_4_,p_i48113_5_,p_i48113_6_,hidden net/minecraft/client/resources/ClientResourcePackInfo.(Ljava/lang/String;ZLjava/util/function/Supplier;Lnet/minecraft/util/text/ITextComponent;Lnet/minecraft/util/text/ITextComponent;Lnet/minecraft/resources/PackCompatibility;Lnet/minecraft/resources/ResourcePackInfo$Priority;ZLnet/minecraft/client/renderer/texture/NativeImage;Z)V=|p_i48114_1_,p_i48114_2_,p_i48114_3_,p_i48114_4_,p_i48114_5_,p_i48114_6_,p_i48114_7_,p_i48114_8_,p_i48114_9_,hidden - +net/minecraft/client/gui/ScreenManager.getScreenFactory(Lnet/minecraft/inventory/container/ContainerType;Lnet/minecraft/client/Minecraft;ILnet/minecraft/util/text/ITextComponent;)Ljava/util/Optional;=|p_216909_0_,p_216909_1_,p_216909_2_,p_216909_3_ net/minecraft/entity/EntityClassification.create(Ljava/lang/String;Ljava/lang/String;IZZ)Lnet/minecraft/entity/EntityClassification;=|name,p_i50381_3_,p_i50381_4_,p_i50381_5_,p_i50381_6_ net/minecraft/entity/player/PlayerEntity.getDigSpeed(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)F=|p_184813_1_,pos @@ -59,11 +59,16 @@ net/minecraft/world/World.getSunBrightnessBody(F)F=|p_72971_1_ net/minecraft/world/World.getSkyColorBody(Lnet/minecraft/util/math/BlockPos;F)Lnet/minecraft/util/math/Vec3d;=|p_217382_1_,p_217382_2_ net/minecraft/world/World.getCloudColorBody(F)Lnet/minecraft/util/math/Vec3d;=|p_72824_1_ net/minecraft/world/ServerWorld.canMineBlockBody(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/math/BlockPos;)Z=|p_175660_1_,p_175660_2_ +net/minecraft/world/ServerWorld.removeEntityComplete(Lnet/minecraft/entity/Entity;Z)V=|p_217484_1_,keepData +net/minecraft/world/ServerWorld.removeEntity(Lnet/minecraft/entity/Entity;Z)V=|p_217467_1_,keepData +net/minecraft/world/ServerWorld.removePlayer(Lnet/minecraft/entity/player/ServerPlayerEntity;Z)V=|p_217434_1_,keepData +net/minecraft/world/dimension/DimensionType.(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;ZLnet/minecraftforge/common/ModDimension;Lnet/minecraft/network/PacketBuffer;)V=|p_i49935_1_,p_i49935_2_,p_i49935_3_,p_i49935_4_,p_i49935_5_,modType,data net/minecraft/world/chunk/BlockStateContainer.setBits(IZ)V=|p_186012_1_,forceBits net/minecraft/world/end/DragonFightManager.(Lnet/minecraft/world/ServerWorld;Lnet/minecraft/nbt/CompoundNBT;Lnet/minecraft/world/dimension/EndDimension;)V=|p_i46669_1_,p_i46669_2_,dim +net/minecraft/entity/EntityType.(Lnet/minecraft/entity/EntityType$IFactory;Lnet/minecraft/entity/EntityClassification;ZZZLcom/mojang/datafixers/types/Type;Lnet/minecraft/entity/EntitySize;Ljava/util/function/Predicate;Ljava/util/function/ToIntFunction;Ljava/util/function/ToIntFunction;Ljava/util/function/BiFunction;)V=|p_i50385_1_,p_i50385_2_,p_i50385_3_,p_i50385_4_,p_i50385_5_,p_i50385_6_,p_i50385_7_,velocityUpdateSupplier,trackingRangeSupplier,updateIntervalSupplier,customClientFactory net/minecraft/world/spawner/WorldEntitySpawner.getSpawnList(Lnet/minecraft/world/gen/ChunkGenerator;Lnet/minecraft/entity/EntityClassification;Ljava/util/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/World;)Z|p_222264_0_,p_222264_1_,p_222264_2_,p_222264_3_,world net/minecraft/world/spawner/WorldEntitySpawner.getSpawnList(Lnet/minecraft/world/gen/ChunkGenerator;Lnet/minecraft/entity/EntityClassification;Lnet/minecraft/world/biome/Biome$SpawnListEntry;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/World;)Z|p_222261_0_,p_222261_1_,p_222261_2_,p_222261_3_,world net/minecraft/world/spawner/WorldEntitySpawner.canSpawnAtBody(Lnet/minecraft/entity/EntitySpawnPlacementRegistry$PlacementType;Lnet/minecraft/world/IWorldReader;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/EntityType;)Z=|p_209382_0_,p_209382_1_,p_209382_2_,p_209382_3_