diff --git a/build.gradle b/build.gradle index f6c66d7be..488f2ff19 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,11 @@ buildscript { mavenLocal() maven { url = 'https://files.minecraftforge.net/maven' } jcenter() - mavenCentral() + //mavenCentral() //TODO: Update Gradle to use HTTPS by default + maven { + name 'maven_central' + url 'https://repo.maven.apache.org/maven2/' + } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:3.+' @@ -59,8 +63,8 @@ ext { } MAPPING_CHANNEL = 'snapshot' MAPPING_VERSION = '20190719-1.14.3' - MC_VERSION = '1.15.1' - MCP_VERSION = '20191217.105819' + MC_VERSION = '1.15.2' + MCP_VERSION = '20200122.131323' } project(':mcp') { @@ -78,7 +82,11 @@ project(':clean') { compileJava.sourceCompatibility = compileJava.targetCompatibility = sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. repositories { - mavenCentral() + //mavenCentral() //TODO: Update Gradle to use HTTPS by default + maven { + name 'maven_central' + url 'https://repo.maven.apache.org/maven2/' + } } dependencies { @@ -181,7 +189,11 @@ project(':forge') { repositories { mavenLocal() - mavenCentral() + //mavenCentral() //TODO: Update Gradle to use HTTPS by default + maven { + name 'maven_central' + url 'https://repo.maven.apache.org/maven2/' + } } ext { @@ -978,7 +990,7 @@ project(':forge') { extension = 'jar' //Needs to be Zip task to not override Manifest, so set extension destinationDir = file('build/libs') from(extraTxts) - from(rootProject.file('/src/main/resources/forge_logo.png')) { + from(rootProject.file('/installer_logo.png')) { rename{'big_logo.png'} } from(rootProject.file('/src/main/resources/url.png')) diff --git a/installer_logo.png b/installer_logo.png new file mode 100644 index 000000000..bdea1695e Binary files /dev/null and b/installer_logo.png differ diff --git a/mdk/src/main/resources/META-INF/mods.toml b/mdk/src/main/resources/META-INF/mods.toml index a38b28b8c..2f84c78cd 100644 --- a/mdk/src/main/resources/META-INF/mods.toml +++ b/mdk/src/main/resources/META-INF/mods.toml @@ -6,7 +6,7 @@ # The name of the mod loader type to load - for regular FML @Mod mods it should be javafml modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the forge version -loaderVersion="[30,)" #mandatory (28 is current forge version) +loaderVersion="[31,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. # A URL to refer people to when problems occur with this mod issueTrackerURL="http://my.issue.tracker/" #optional # A list of mods - how many allowed here is determined by the individual mod loader @@ -42,7 +42,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magn # Does this dependency have to exist - if not, ordering below must be specified mandatory=true #mandatory # The version range of the dependency - versionRange="[30,)" #mandatory + versionRange="[31,)" #mandatory # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory ordering="NONE" # Side this dependency is applied on - BOTH, CLIENT or SERVER @@ -51,6 +51,6 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magn [[dependencies.examplemod]] modId="minecraft" mandatory=true - versionRange="[1.15.1]" + versionRange="[1.15.2]" ordering="NONE" side="BOTH" diff --git a/patches/minecraft/net/minecraft/block/trees/JungleTree.java.patch b/patches/minecraft/net/minecraft/block/trees/JungleTree.java.patch index ca8b9a265..9c81b0b5d 100644 --- a/patches/minecraft/net/minecraft/block/trees/JungleTree.java.patch +++ b/patches/minecraft/net/minecraft/block/trees/JungleTree.java.patch @@ -3,7 +3,7 @@ @@ -12,7 +12,7 @@ public class JungleTree extends BigTree { @Nullable - protected ConfiguredFeature func_225546_b_(Random p_225546_1_) { + protected ConfiguredFeature func_225546_b_(Random p_225546_1_, boolean p_225546_2_) { - return (new TreeFeature(TreeFeatureConfig::func_227338_a_)).func_225566_b_(DefaultBiomeFeatures.field_226808_c_); + return (new TreeFeature(TreeFeatureConfig::deserializeJungle)).func_225566_b_(DefaultBiomeFeatures.field_226808_c_); } diff --git a/patches/minecraft/net/minecraft/client/GameSettings.java.patch b/patches/minecraft/net/minecraft/client/GameSettings.java.patch index 6c8085982..c47a8a5f9 100644 --- a/patches/minecraft/net/minecraft/client/GameSettings.java.patch +++ b/patches/minecraft/net/minecraft/client/GameSettings.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/GameSettings.java +++ b/net/minecraft/client/GameSettings.java -@@ -170,6 +170,7 @@ +@@ -171,6 +171,7 @@ public String field_74363_ab = "en_us"; public GameSettings(Minecraft p_i46326_1_, File p_i46326_2_) { @@ -8,7 +8,7 @@ this.field_74317_L = p_i46326_1_; this.field_74354_ai = new File(p_i46326_2_, "options.txt"); if (p_i46326_1_.func_147111_S() && Runtime.getRuntime().maxMemory() >= 1000000000L) { -@@ -485,7 +486,11 @@ +@@ -490,7 +491,11 @@ for(KeyBinding keybinding : this.field_74324_K) { if (s.equals("key_" + keybinding.func_151464_g())) { @@ -21,7 +21,7 @@ } } -@@ -533,6 +538,7 @@ +@@ -538,6 +543,7 @@ } public void func_74303_b() { @@ -29,8 +29,8 @@ try (PrintWriter printwriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(this.field_74354_ai), StandardCharsets.UTF_8))) { printwriter.println("version:" + SharedConstants.func_215069_a().getWorldVersion()); printwriter.println("autoJump:" + AbstractOption.field_216719_z.func_216741_b(this)); -@@ -609,7 +615,7 @@ - printwriter.println("glDebugVerbosity:" + this.field_209231_W); +@@ -615,7 +621,7 @@ + printwriter.println("skipMultiplayerWarning:" + this.field_230152_Z_); for(KeyBinding keybinding : this.field_74324_K) { - printwriter.println("key_" + keybinding.func_151464_g() + ":" + keybinding.func_197982_m()); @@ -38,7 +38,7 @@ } for(SoundCategory soundcategory : SoundCategory.values()) { -@@ -706,6 +712,25 @@ +@@ -712,6 +718,25 @@ } } diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 470112dfc..68bd9e533 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/Minecraft.java +++ b/net/minecraft/client/Minecraft.java -@@ -321,6 +321,7 @@ +@@ -322,6 +322,7 @@ public Minecraft(GameConfiguration p_i45547_1_) { super("Client"); field_71432_P = this; @@ -8,7 +8,7 @@ this.field_71412_D = p_i45547_1_.field_178744_c.field_178760_a; File file1 = p_i45547_1_.field_178744_c.field_178759_c; this.field_130070_K = p_i45547_1_.field_178744_c.field_178758_b; -@@ -335,7 +336,6 @@ +@@ -336,7 +337,6 @@ this.field_152355_az = (new YggdrasilAuthenticationService(this.field_110453_aa, UUID.randomUUID().toString())).createMinecraftSessionService(); this.field_71449_j = p_i45547_1_.field_178745_a.field_178752_a; field_147123_G.info("Setting user: {}", (Object)this.field_71449_j.func_111285_a()); @@ -16,15 +16,15 @@ this.field_71459_aj = p_i45547_1_.field_178741_d.field_178756_a; this.field_147129_ai = func_147122_X(); this.field_71437_Z = null; -@@ -367,6 +367,7 @@ +@@ -368,6 +368,7 @@ screensize = p_i45547_1_.field_178743_b; } + net.minecraftforge.fml.loading.progress.EarlyProgressVisualization.INSTANCE.join(); Util.field_211180_a = RenderSystem.initBackendSystem(); this.field_195557_T = new VirtualScreen(this); - this.field_195558_d = this.field_195557_T.func_217626_a(screensize, this.field_71474_y.field_198019_u, "Minecraft " + SharedConstants.func_215069_a().getName()); -@@ -382,7 +383,6 @@ + this.field_195558_d = this.field_195557_T.func_217626_a(screensize, this.field_71474_y.field_198019_u, this.func_230149_ax_()); +@@ -383,7 +384,6 @@ this.field_195558_d.func_216526_a(this.field_71474_y.field_74350_i); this.field_71417_B = new MouseHelper(this); @@ -32,7 +32,7 @@ this.field_195559_v = new KeyboardListener(this); this.field_195559_v.func_197968_a(this.field_195558_d.func_198092_i()); RenderSystem.initRenderer(this.field_71474_y.field_209231_W, false); -@@ -390,6 +390,7 @@ +@@ -391,6 +391,7 @@ this.field_147124_at.func_147604_a(0.0F, 0.0F, 0.0F, 0.0F); this.field_110451_am = new SimpleReloadableResourceManager(ResourcePackType.CLIENT_RESOURCES, this.field_152352_aC); this.field_71474_y.func_198017_a(this.field_110448_aq); @@ -40,7 +40,7 @@ this.field_110448_aq.func_198983_a(); this.field_135017_as = new LanguageManager(this.field_71474_y.field_74363_ab); this.field_110451_am.func_219534_a(this.field_135017_as); -@@ -433,12 +434,14 @@ +@@ -434,12 +435,14 @@ this.func_193986_ar(); this.field_110451_am.func_219534_a(this.field_193995_ae); this.field_71452_i = new ParticleManager(this.field_71441_e, this.field_71446_o); @@ -56,7 +56,7 @@ this.field_184132_p = new DebugRenderer(this); RenderSystem.setErrorCallback(this::func_195545_a); if (this.field_71474_y.field_74353_u && !this.field_195558_d.func_198113_j()) { -@@ -450,12 +453,11 @@ +@@ -451,12 +454,11 @@ this.field_195558_d.func_224798_d(this.field_71474_y.field_225307_E); this.field_195558_d.func_227801_c_(); this.func_213226_a(); @@ -73,7 +73,7 @@ ResourceLoadProgressGui.func_212970_a(this); List list = this.field_110448_aq.func_198980_d().stream().map(ResourcePackInfo::func_195796_e).collect(Collectors.toList()); this.func_213268_a(new ResourceLoadProgressGui(this, this.field_110451_am.func_219537_a(Util.func_215072_e(), this, field_223714_G, list), (p_229990_2_) -> { -@@ -465,6 +467,14 @@ +@@ -466,6 +468,14 @@ this.func_213256_aB(); } @@ -88,7 +88,7 @@ }); }, false)); } -@@ -545,7 +555,7 @@ +@@ -579,7 +589,7 @@ return Stream.of(Registry.field_212630_s.func_177774_c(p_213251_0_.func_77973_b())); }); SearchTreeReloadable searchtreereloadable = new SearchTreeReloadable<>((p_213235_0_) -> { @@ -97,7 +97,7 @@ }); NonNullList nonnulllist = NonNullList.func_191196_a(); -@@ -633,13 +643,13 @@ +@@ -667,13 +677,13 @@ Bootstrap.func_179870_a(p_71377_0_.func_71502_e()); if (p_71377_0_.func_71497_f() != null) { Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_0_.func_71497_f()); @@ -114,7 +114,7 @@ } } -@@ -648,6 +658,7 @@ +@@ -682,6 +692,7 @@ return this.field_71474_y.field_211842_aO; } @@ -122,7 +122,7 @@ public CompletableFuture func_213237_g() { if (this.field_213276_aV != null) { return this.field_213276_aV; -@@ -726,10 +737,6 @@ +@@ -760,10 +771,6 @@ } public void func_147108_a(@Nullable Screen p_147108_1_) { @@ -133,7 +133,7 @@ if (p_147108_1_ == null && this.field_71441_e == null) { p_147108_1_ = new MainMenuScreen(); } else if (p_147108_1_ == null && this.field_71439_g.func_110143_aJ() <= 0.0F) { -@@ -740,6 +747,14 @@ +@@ -774,6 +781,14 @@ } } @@ -148,7 +148,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); -@@ -862,11 +877,13 @@ +@@ -905,11 +920,13 @@ RenderSystem.enableTexture(); this.field_71424_I.func_76319_b(); if (!this.field_71454_w) { @@ -162,7 +162,7 @@ } this.field_71424_I.func_219897_b(); -@@ -1121,11 +1138,21 @@ +@@ -1164,11 +1181,21 @@ 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(); @@ -186,7 +186,7 @@ } } -@@ -1144,6 +1171,8 @@ +@@ -1187,6 +1214,8 @@ } } else if (!this.field_71439_g.func_184838_M()) { @@ -195,7 +195,7 @@ switch(this.field_71476_x.func_216346_c()) { case ENTITY: this.field_71442_b.func_78764_a(this.field_71439_g, ((EntityRayTraceResult)this.field_71476_x).func_216348_a()); -@@ -1151,7 +1180,7 @@ +@@ -1194,7 +1223,7 @@ case BLOCK: BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x; BlockPos blockpos = blockraytraceresult.func_216350_a(); @@ -204,7 +204,7 @@ this.field_71442_b.func_180511_b(blockpos, blockraytraceresult.func_216354_b()); break; } -@@ -1161,8 +1190,10 @@ +@@ -1204,8 +1233,10 @@ } this.field_71439_g.func_184821_cY(); @@ -215,7 +215,7 @@ this.field_71439_g.func_184609_a(Hand.MAIN_HAND); } } -@@ -1177,6 +1208,11 @@ +@@ -1220,6 +1251,11 @@ } for(Hand hand : Hand.values()) { @@ -227,7 +227,7 @@ ItemStack itemstack = this.field_71439_g.func_184586_b(hand); if (this.field_71476_x != null) { switch(this.field_71476_x.func_216346_c()) { -@@ -1190,6 +1226,7 @@ +@@ -1233,6 +1269,7 @@ if (actionresulttype.func_226246_a_()) { if (actionresulttype.func_226247_b_()) { @@ -235,7 +235,7 @@ this.field_71439_g.func_184609_a(hand); } -@@ -1202,6 +1239,7 @@ +@@ -1245,6 +1282,7 @@ ActionResultType actionresulttype1 = this.field_71442_b.func_217292_a(this.field_71439_g, this.field_71441_e, hand, blockraytraceresult); if (actionresulttype1.func_226246_a_()) { if (actionresulttype1.func_226247_b_()) { @@ -243,7 +243,7 @@ this.field_71439_g.func_184609_a(hand); if (!itemstack.func_190926_b() && (itemstack.func_190916_E() != i || this.field_71442_b.func_78758_h())) { this.field_71460_t.field_78516_c.func_187460_a(hand); -@@ -1217,6 +1255,9 @@ +@@ -1260,6 +1298,9 @@ } } @@ -253,7 +253,7 @@ if (!itemstack.func_190926_b()) { ActionResultType actionresulttype2 = this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, hand); if (actionresulttype2.func_226246_a_()) { -@@ -1243,6 +1284,8 @@ +@@ -1286,6 +1327,8 @@ --this.field_71467_ac; } @@ -262,7 +262,7 @@ this.field_71424_I.func_76320_a("gui"); if (!this.field_71445_n) { this.field_71456_v.func_73831_a(); -@@ -1360,6 +1403,8 @@ +@@ -1403,6 +1446,8 @@ this.field_71424_I.func_219895_b("keyboard"); this.field_195559_v.func_204870_b(); this.field_71424_I.func_76319_b(); @@ -271,7 +271,7 @@ } private void func_184117_aA() { -@@ -1514,6 +1559,12 @@ +@@ -1557,6 +1602,12 @@ this.func_147108_a(worldloadprogressscreen); while(!this.field_71437_Z.func_71200_ad()) { @@ -284,7 +284,7 @@ worldloadprogressscreen.tick(); this.func_195542_b(false); -@@ -1534,11 +1585,17 @@ +@@ -1577,11 +1628,17 @@ networkmanager.func_150719_a(new ClientLoginNetHandler(networkmanager, this, (Screen)null, (p_229998_0_) -> { })); networkmanager.func_179290_a(new CHandshakePacket(socketaddress.toString(), 0, ProtocolType.LOGIN)); @@ -303,7 +303,13 @@ WorkingScreen workingscreen = new WorkingScreen(); workingscreen.func_200210_a(new TranslationTextComponent("connect.joining")); this.func_213241_c(workingscreen); -@@ -1570,10 +1627,12 @@ +@@ -1608,15 +1665,18 @@ + if (clientplaynethandler != null) { + this.func_213159_be(); + clientplaynethandler.func_147296_c(); ++ net.minecraftforge.client.MinecraftForgeClient.clearRenderCache(); + } + IntegratedServer integratedserver = this.field_71437_Z; this.field_71437_Z = null; this.field_71460_t.func_190564_k(); @@ -316,15 +322,7 @@ if (integratedserver != null) { while(!integratedserver.func_213201_w()) { this.func_195542_b(false); -@@ -1605,6 +1664,7 @@ - this.field_71438_f.func_72732_a(p_213257_1_); - this.field_71452_i.func_78870_a(p_213257_1_); - TileEntityRendererDispatcher.field_147556_a.func_147543_a(p_213257_1_); -+ net.minecraftforge.client.MinecraftForgeClient.clearRenderCache(); - } - - public final boolean func_71355_q() { -@@ -1630,112 +1690,9 @@ +@@ -1674,112 +1734,9 @@ private void func_147112_ai() { if (this.field_71476_x != null && this.field_71476_x.func_216346_c() != RayTraceResult.Type.MISS) { @@ -440,7 +438,7 @@ } } -@@ -1817,6 +1774,7 @@ +@@ -1861,6 +1818,7 @@ return field_71432_P; } @@ -448,7 +446,7 @@ public CompletableFuture func_213245_w() { return this.func_213169_a(this::func_213237_g).thenCompose((p_229993_0_) -> { return p_229993_0_; -@@ -1944,6 +1902,8 @@ +@@ -1988,6 +1946,8 @@ } public MusicTicker.MusicType func_147109_W() { @@ -457,7 +455,7 @@ if (this.field_71462_r instanceof WinGameScreen) { return MusicTicker.MusicType.CREDITS; } else if (this.field_71439_g == null) { -@@ -2120,7 +2080,7 @@ +@@ -2164,7 +2124,7 @@ supplier = func_228022_c_(supplier); } @@ -466,7 +464,7 @@ } private static Supplier func_228021_b_(Supplier p_228021_0_) { -@@ -2138,4 +2098,12 @@ +@@ -2182,4 +2142,12 @@ public void func_228020_b_(int p_228020_1_) { this.field_175617_aL.func_229355_a_(p_228020_1_); } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch index fc8429b71..b486a40d4 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch @@ -31,16 +31,16 @@ } -@@ -126,7 +132,7 @@ - this.addButton(new Button(this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 1, 200, 20, I18n.func_135052_a("menu.multiplayer"), (p_213086_1_) -> { - this.minecraft.func_147108_a(new MultiplayerScreen(this)); +@@ -131,7 +137,7 @@ + } + })); - this.addButton(new Button(this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, 200, 20, I18n.func_135052_a("menu.online"), (p_213095_1_) -> { + this.addButton(new Button(this.width / 2 + 2, p_73969_1_ + p_73969_2_ * 2, 98, 20, I18n.func_135052_a("menu.online"), (p_213095_1_) -> { this.func_140005_i(); })); } -@@ -190,6 +196,7 @@ +@@ -195,6 +201,7 @@ this.minecraft.func_110434_K().func_110577_a(field_194400_H); blit(j + 88, 67, 0.0F, 0.0F, 98, 14, 128, 16); @@ -48,8 +48,8 @@ if (this.field_73975_c != null) { RenderSystem.pushMatrix(); RenderSystem.translatef((float)(this.width / 2 + 90), 70.0F, 0.0F); -@@ -208,7 +215,13 @@ - s = s + ("release".equalsIgnoreCase(this.minecraft.func_184123_d()) ? "" : "/" + this.minecraft.func_184123_d()); +@@ -217,7 +224,13 @@ + s = s + I18n.func_135052_a("menu.modded"); } - this.drawString(this.font, s, 2, this.height - 10, 16777215 | l); @@ -63,7 +63,7 @@ this.drawString(this.font, "Copyright Mojang AB. Do not distribute!", this.field_193979_N, this.height - 10, 16777215 | l); if (p_render_1_ > this.field_193979_N && p_render_1_ < this.field_193979_N + this.field_193978_M && p_render_2_ > this.height - 10 && p_render_2_ < this.height) { fill(this.field_193979_N, this.height - 1, this.field_193979_N + this.field_193978_M, this.height, 16777215 | l); -@@ -222,6 +235,7 @@ +@@ -231,6 +244,7 @@ if (this.func_183501_a() && f1 >= 1.0F) { this.field_183503_M.render(p_render_1_, p_render_2_, p_render_3_); } diff --git a/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch b/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch index 469b0c7b8..454df2fa2 100644 --- a/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch @@ -24,7 +24,7 @@ public void setAlpha(float p_setAlpha_1_) { this.alpha = p_setAlpha_1_; } -@@ -233,4 +241,13 @@ +@@ -233,4 +241,17 @@ protected void setFocused(boolean p_setFocused_1_) { this.focused = p_setFocused_1_; } diff --git a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch index 29529bb59..2c016c87b 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch @@ -36,7 +36,7 @@ } } -@@ -216,6 +216,7 @@ +@@ -215,6 +215,7 @@ crashreportcategory.func_189529_a("Item Type", () -> { return String.valueOf((Object)p_184391_2_.func_77973_b()); }); @@ -44,7 +44,7 @@ crashreportcategory.func_189529_a("Item Damage", () -> { return String.valueOf(p_184391_2_.func_77952_i()); }); -@@ -247,18 +248,16 @@ +@@ -246,18 +247,16 @@ irendertypebuffer$impl.func_228461_a_(); } @@ -67,7 +67,7 @@ this.func_181565_a(bufferbuilder, p_180453_3_ + 2, p_180453_4_ + 13, 13, 2, 0, 0, 0, 255); this.func_181565_a(bufferbuilder, p_180453_3_ + 2, p_180453_4_ + 13, i, 1, j >> 16 & 255, j >> 8 & 255, j & 255, 255); RenderSystem.enableBlend(); -@@ -296,4 +295,9 @@ +@@ -295,4 +294,9 @@ public void func_195410_a(IResourceManager p_195410_1_) { this.field_175059_m.func_178085_b(); } diff --git a/patches/minecraft/net/minecraft/client/renderer/TransformationMatrix.java.patch b/patches/minecraft/net/minecraft/client/renderer/TransformationMatrix.java.patch index 84a0523d0..4bcfe84eb 100644 --- a/patches/minecraft/net/minecraft/client/renderer/TransformationMatrix.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/TransformationMatrix.java.patch @@ -9,15 +9,6 @@ private final Matrix4f field_227976_a_; private boolean field_227977_b_; @Nullable -@@ -97,7 +97,7 @@ - if (p_227986_0_ != null) { - matrix4f.field_226578_d_ = p_227986_0_.func_195899_a(); - matrix4f.field_226582_h_ = p_227986_0_.func_195900_b(); -- matrix4f.field_226589_o_ = p_227986_0_.func_195902_c(); -+ matrix4f.field_226586_l_ = p_227986_0_.func_195902_c(); - } - - return matrix4f; @@ -133,4 +133,32 @@ public int hashCode() { return Objects.hash(this.field_227976_a_); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/LivingRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/LivingRenderer.java.patch index 52ab3b674..e2d3d0438 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/LivingRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/LivingRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/LivingRenderer.java +++ b/net/minecraft/client/renderer/entity/LivingRenderer.java -@@ -47,14 +47,17 @@ +@@ -48,14 +48,17 @@ } public void func_225623_a_(T p_225623_1_, float p_225623_2_, float p_225623_3_, MatrixStack p_225623_4_, IRenderTypeBuffer p_225623_5_, int p_225623_6_) { @@ -20,7 +20,7 @@ LivingEntity livingentity = (LivingEntity)p_225623_1_.func_184187_bx(); f = MathHelper.func_219805_h(p_225623_3_, livingentity.field_70760_ar, livingentity.field_70761_aq); f2 = f1 - f; -@@ -91,7 +94,7 @@ +@@ -92,7 +95,7 @@ p_225623_4_.func_227861_a_(0.0D, (double)-1.501F, 0.0D); float f8 = 0.0F; float f5 = 0.0F; @@ -29,11 +29,11 @@ f8 = MathHelper.func_219799_g(p_225623_3_, p_225623_1_.field_184618_aE, p_225623_1_.field_70721_aZ); f5 = p_225623_1_.field_184619_aG - p_225623_1_.field_70721_aZ * (1.0F - p_225623_3_); if (p_225623_1_.func_70631_g_()) { -@@ -132,6 +135,7 @@ +@@ -123,6 +126,7 @@ p_225623_4_.func_227865_b_(); super.func_225623_a_(p_225623_1_, p_225623_2_, p_225623_3_, p_225623_4_, p_225623_5_, p_225623_6_); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderLivingEvent.Post(p_225623_1_, this, p_225623_3_, p_225623_4_)); } - public static int func_229117_c_(LivingEntity p_229117_0_, float p_229117_1_) { + @Nullable diff --git a/patches/minecraft/net/minecraft/client/renderer/model/BlockModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/BlockModel.java.patch index eb05e31a9..55dd51aa5 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/BlockModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/BlockModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/BlockModel.java +++ b/net/minecraft/client/renderer/model/BlockModel.java -@@ -56,9 +56,10 @@ +@@ -57,9 +57,10 @@ public BlockModel field_178315_d; @Nullable protected ResourceLocation field_178316_e; @@ -12,8 +12,8 @@ } public static BlockModel func_178294_a(String p_178294_0_) { -@@ -75,10 +76,15 @@ - this.field_187968_k = p_i46573_7_; +@@ -76,10 +77,15 @@ + this.field_187968_k = p_i230056_7_; } + @Deprecated @@ -28,7 +28,7 @@ public boolean func_178309_b() { return this.field_178315_d != null ? this.field_178315_d.func_178309_b() : this.field_178322_i; } -@@ -95,6 +101,10 @@ +@@ -100,6 +106,10 @@ return this.field_187968_k.isEmpty() ? ItemOverrideList.field_188022_a : new ItemOverrideList(p_217646_1_, p_217646_2_, p_217646_1_::func_209597_a, this.field_187968_k); } @@ -39,7 +39,7 @@ public Collection func_187965_e() { Set set = Sets.newHashSet(); -@@ -138,6 +148,9 @@ +@@ -143,6 +153,9 @@ Set set1 = Sets.newHashSet(this.func_228816_c_("particle")); @@ -49,20 +49,25 @@ for(BlockPart blockpart : this.func_178298_a()) { for(BlockPartFace blockpartface : blockpart.field_178240_c.values()) { Material material = this.func_228816_c_(blockpartface.field_178242_d); -@@ -168,7 +181,11 @@ - return this.func_228813_a_(p_225613_1_, this, p_225613_2_, p_225613_3_, p_225613_4_); +@@ -169,11 +182,17 @@ + return set1; } -- public IBakedModel func_228813_a_(ModelBakery p_228813_1_, BlockModel p_228813_2_, Function p_228813_3_, IModelTransform p_228813_4_, ResourceLocation p_228813_5_) { -+ public IBakedModel func_228813_a_(ModelBakery p_228813_1_, BlockModel p_228813_2_, Function p_228813_3_, IModelTransform p_228813_4_, ResourceLocation p_228813_5_) -+ { -+ return net.minecraftforge.client.model.ModelLoaderRegistry.bakeHelper(this, p_228813_1_, p_228813_2_, p_228813_3_, p_228813_4_, p_228813_5_); ++ @Deprecated //Forge: Use Boolean variant + public IBakedModel func_225613_a_(ModelBakery p_225613_1_, Function p_225613_2_, IModelTransform p_225613_3_, ResourceLocation p_225613_4_) { + return this.func_228813_a_(p_225613_1_, this, p_225613_2_, p_225613_3_, p_225613_4_, true); + } + + public IBakedModel func_228813_a_(ModelBakery p_228813_1_, BlockModel p_228813_2_, Function p_228813_3_, IModelTransform p_228813_4_, ResourceLocation p_228813_5_, boolean p_228813_6_) { ++ return net.minecraftforge.client.model.ModelLoaderRegistry.bakeHelper(this, p_228813_1_, p_228813_2_, p_228813_3_, p_228813_4_, p_228813_5_, p_228813_6_); + } -+ public IBakedModel bakeVanilla(ModelBakery p_228813_1_, BlockModel p_228813_2_, Function p_228813_3_, IModelTransform p_228813_4_, ResourceLocation p_228813_5_) { ++ ++ @Deprecated //Forge: exposed for our callbacks only. Use the above function. ++ public IBakedModel bakeVanilla(ModelBakery p_228813_1_, BlockModel p_228813_2_, Function p_228813_3_, IModelTransform p_228813_4_, ResourceLocation p_228813_5_, boolean p_228813_6_) { TextureAtlasSprite textureatlassprite = p_228813_3_.apply(this.func_228816_c_("particle")); if (this.func_178310_f() == ModelBakery.field_177616_r) { - return new BuiltInModel(this.func_181682_g(), this.func_217646_a(p_228813_1_, p_228813_2_), textureatlassprite); -@@ -195,6 +212,10 @@ + return new BuiltInModel(this.func_181682_g(), this.func_217646_a(p_228813_1_, p_228813_2_), textureatlassprite, this.func_230176_c_().func_230178_a_()); +@@ -200,6 +219,10 @@ return field_217647_g.func_228824_a_(p_228812_0_.field_178241_a, p_228812_0_.field_178239_b, p_228812_1_, p_228812_2_, p_228812_3_, p_228812_4_, p_228812_0_.field_178237_d, p_228812_0_.field_178238_e, p_228812_5_); } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch index e60c4e977..70bd2e6e8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch @@ -11,7 +11,7 @@ List func_200117_a(@Nullable BlockState p_200117_1_, @Nullable Direction p_200117_2_, Random p_200117_3_); boolean func_177555_b(); -@@ -19,9 +21,12 @@ +@@ -21,9 +23,12 @@ boolean func_188618_c(); diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch index e8d735c60..2c9d42496 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch @@ -2,7 +2,7 @@ +++ b/net/minecraft/client/renderer/model/ItemModelGenerator.java @@ -36,6 +36,7 @@ map.put("particle", p_209579_2_.func_178300_b("particle") ? Either.left(p_209579_2_.func_228816_c_("particle")) : map.get("layer0")); - BlockModel blockmodel = new BlockModel((ResourceLocation)null, list, map, false, false, p_209579_2_.func_181682_g(), p_209579_2_.func_187966_f()); + BlockModel blockmodel = new BlockModel((ResourceLocation)null, list, map, false, p_209579_2_.func_230176_c_(), p_209579_2_.func_181682_g(), p_209579_2_.func_187966_f()); blockmodel.field_178317_b = p_209579_2_.field_178317_b; + blockmodel.customData.copyFrom(p_209579_2_.customData); return blockmodel; diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch index 430f7a5dc..5c00aa4e6 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch @@ -46,7 +46,7 @@ field_177603_c.warn("Unable to bake model: '{}': {}", p_229350_1_, exception); } -@@ -447,6 +462,13 @@ +@@ -443,6 +458,13 @@ this.field_217848_D.addAll(p_209593_2_.func_187965_e()); } @@ -60,7 +60,7 @@ private void func_217843_a(ModelResourceLocation p_217843_1_) { IUnbakedModel iunbakedmodel = this.func_209597_a(p_217843_1_); this.field_217849_F.put(p_217843_1_, iunbakedmodel); -@@ -461,7 +483,13 @@ +@@ -457,7 +479,13 @@ } @Nullable @@ -74,12 +74,12 @@ Triple triple = Triple.of(p_217845_1_, p_217845_2_.func_225615_b_(), p_217845_2_.func_188049_c()); if (this.field_217850_G.containsKey(triple)) { return this.field_217850_G.get(triple); -@@ -472,11 +500,11 @@ +@@ -468,11 +496,11 @@ if (iunbakedmodel instanceof BlockModel) { BlockModel blockmodel = (BlockModel)iunbakedmodel; if (blockmodel.func_178310_f() == field_177606_o) { -- return field_217854_z.func_209579_a(this.field_229322_z_::func_229151_a_, blockmodel).func_228813_a_(this, blockmodel, this.field_229322_z_::func_229151_a_, p_217845_2_, p_217845_1_); -+ return field_217854_z.func_209579_a(textureGetter, blockmodel).func_228813_a_(this, blockmodel, textureGetter, p_217845_2_, p_217845_1_); +- return field_217854_z.func_209579_a(this.field_229322_z_::func_229151_a_, blockmodel).func_228813_a_(this, blockmodel, this.field_229322_z_::func_229151_a_, p_217845_2_, p_217845_1_, false); ++ return field_217854_z.func_209579_a(textureGetter, blockmodel).func_228813_a_(this, blockmodel, this.field_229322_z_::func_229151_a_, p_217845_2_, p_217845_1_, false); } } @@ -88,7 +88,7 @@ this.field_217850_G.put(triple, ibakedmodel); return ibakedmodel; } -@@ -530,6 +558,10 @@ +@@ -526,6 +554,10 @@ return this.field_225367_M; } @@ -99,7 +99,7 @@ @OnlyIn(Dist.CLIENT) static class BlockStateDefinitionException extends RuntimeException { public BlockStateDefinitionException(String p_i49526_1_) { -@@ -537,6 +569,10 @@ +@@ -533,6 +565,10 @@ } } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch index 90349e1d6..d69070365 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch @@ -29,7 +29,7 @@ p_212854_2_.func_219897_b(); return modelbakery; } -@@ -60,6 +64,7 @@ +@@ -64,6 +68,7 @@ this.field_174958_a = p_212853_1_.func_217846_a(); this.field_224744_f = p_212853_1_.func_225354_b(); this.field_174955_d = this.field_174958_a.get(ModelBakery.field_177604_a); @@ -37,7 +37,7 @@ p_212853_3_.func_219895_b("cache"); this.field_174957_c.func_178124_c(); p_212853_3_.func_76319_b(); -@@ -85,6 +90,7 @@ +@@ -89,6 +94,7 @@ } public AtlasTexture func_229356_a_(ResourceLocation p_229356_1_) { @@ -45,7 +45,7 @@ return this.field_229352_b_.func_229152_a_(p_229356_1_); } -@@ -95,4 +101,10 @@ +@@ -99,4 +105,10 @@ public void func_229355_a_(int p_229355_1_) { this.field_229354_f_ = p_229355_1_; } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch index 31bd88f7a..17a0355d7 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch @@ -1,13 +1,13 @@ --- a/net/minecraft/client/renderer/model/SimpleBakedModel.java +++ b/net/minecraft/client/renderer/model/SimpleBakedModel.java -@@ -74,6 +74,10 @@ - this(p_i46988_1_.func_178309_b(), p_i46988_1_.func_178311_c(), p_i46988_1_.func_181682_g(), p_i46988_2_); - } +@@ -77,6 +77,10 @@ + private final boolean field_177653_e; + private final ItemCameraTransforms field_177651_f; + public Builder(net.minecraftforge.client.model.IModelConfiguration model, ItemOverrideList overrides) { -+ this(model.useSmoothLighting(), model.isShadedInGui(), model.getCameraTransforms(), overrides); ++ this(model.useSmoothLighting(), model.isShadedInGui(), true/*TODO: Forge*/, model.getCameraTransforms(), overrides); + } + - private Builder(boolean p_i46990_1_, boolean p_i46990_2_, ItemCameraTransforms p_i46990_3_, ItemOverrideList p_i46990_4_) { - for(Direction direction : Direction.values()) { - this.field_177654_b.put(direction, Lists.newArrayList()); + public Builder(BlockModel p_i230060_1_, ItemOverrideList p_i230060_2_, boolean p_i230060_3_) { + this(p_i230060_1_.func_178309_b(), p_i230060_1_.func_230176_c_().func_230178_a_(), p_i230060_3_, p_i230060_1_.func_181682_g(), p_i230060_2_); + } diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/NativeImage.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/NativeImage.java.patch index bfa231e55..65b724353 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/NativeImage.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/NativeImage.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/NativeImage.java +++ b/net/minecraft/client/renderer/texture/NativeImage.java -@@ -178,7 +178,7 @@ +@@ -179,7 +179,7 @@ public int func_195709_a(int p_195709_1_, int p_195709_2_) { if (this.field_211680_b != NativeImage.PixelFormat.RGBA) { throw new IllegalArgumentException(String.format("getPixelRGBA only works on RGBA images; have %s", this.field_211680_b)); @@ -9,7 +9,7 @@ this.func_195696_g(); long i = (long)((p_195709_1_ + p_195709_2_ * this.field_195719_a) * 4); return MemoryUtil.memGetInt(this.field_195722_d + i); -@@ -190,7 +190,7 @@ +@@ -191,7 +191,7 @@ public void func_195700_a(int p_195700_1_, int p_195700_2_, int p_195700_3_) { if (this.field_211680_b != NativeImage.PixelFormat.RGBA) { throw new IllegalArgumentException(String.format("getPixelRGBA only works on RGBA images; have %s", this.field_211680_b)); @@ -18,7 +18,7 @@ this.func_195696_g(); long i = (long)((p_195700_1_ + p_195700_2_ * this.field_195719_a) * 4); MemoryUtil.memPutInt(this.field_195722_d + i, p_195700_3_); -@@ -202,7 +202,7 @@ +@@ -203,7 +203,7 @@ public byte func_211675_e(int p_211675_1_, int p_211675_2_) { if (!this.field_211680_b.func_211653_r()) { throw new IllegalArgumentException(String.format("no luminance or alpha in %s", this.field_211680_b)); diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/TextureManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/TextureManager.java.patch index 51c624e09..d59f86e15 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/TextureManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/TextureManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/TextureManager.java +++ b/net/minecraft/client/renderer/texture/TextureManager.java -@@ -140,6 +140,7 @@ +@@ -145,6 +145,7 @@ public void func_147645_c(ResourceLocation p_147645_1_) { Texture texture = this.func_229267_b_(p_147645_1_); if (texture != null) { diff --git a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch index 3a418208a..6b14293f4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java +++ b/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java -@@ -141,4 +141,9 @@ +@@ -134,4 +134,9 @@ public FontRenderer func_147548_a() { return this.field_147557_n; } diff --git a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch index 3ca7e901c..19036b9f5 100644 --- a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch @@ -53,16 +53,16 @@ for(int i = 0; i < 20; ++i) { double d0 = this.field_70146_Z.nextGaussian() * 0.02D; -@@ -571,7 +580,7 @@ - Effect effect = iterator.next(); - EffectInstance effectinstance = this.field_70713_bf.get(effect); - if (!effectinstance.func_76455_a(this)) { +@@ -573,7 +582,7 @@ + if (!effectinstance.func_76455_a(this, () -> { + this.func_70695_b(effectinstance, true); + })) { - if (!this.field_70170_p.field_72995_K) { + if (!this.field_70170_p.field_72995_K && !net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.living.PotionEvent.PotionExpiryEvent(this, effectinstance))) { iterator.remove(); this.func_70688_c(effectinstance); } -@@ -621,8 +630,10 @@ +@@ -623,8 +632,10 @@ this.func_82142_c(false); } else { Collection collection = this.field_70713_bf.values(); @@ -75,7 +75,7 @@ this.func_82142_c(this.func_70644_a(Effects.field_76441_p)); } -@@ -686,7 +697,9 @@ +@@ -688,7 +699,9 @@ boolean flag; for(flag = false; iterator.hasNext(); flag = true) { @@ -86,7 +86,7 @@ iterator.remove(); } -@@ -716,6 +729,7 @@ +@@ -718,6 +731,7 @@ return false; } else { EffectInstance effectinstance = this.field_70713_bf.get(p_195064_1_.func_188419_a()); @@ -94,7 +94,7 @@ if (effectinstance == null) { this.field_70713_bf.put(p_195064_1_.func_188419_a(), p_195064_1_); this.func_70670_a(p_195064_1_); -@@ -730,6 +744,9 @@ +@@ -732,6 +746,9 @@ } public boolean func_70687_e(EffectInstance p_70687_1_) { @@ -104,7 +104,7 @@ if (this.func_70668_bt() == CreatureAttribute.field_223223_b_) { Effect effect = p_70687_1_.func_188419_a(); if (effect == Effects.field_76428_l || effect == Effects.field_76436_u) { -@@ -750,6 +767,7 @@ +@@ -752,6 +769,7 @@ } public boolean func_195063_d(Effect p_195063_1_) { @@ -112,7 +112,7 @@ EffectInstance effectinstance = this.func_184596_c(p_195063_1_); if (effectinstance != null) { this.func_70688_c(effectinstance); -@@ -786,6 +804,8 @@ +@@ -788,6 +806,8 @@ } public void func_70691_i(float p_70691_1_) { @@ -121,7 +121,7 @@ float f = this.func_110143_aJ(); if (f > 0.0F) { this.func_70606_j(f + p_70691_1_); -@@ -802,6 +822,7 @@ +@@ -804,6 +824,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -129,7 +129,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; } else if (this.field_70170_p.field_72995_K) { -@@ -868,8 +889,8 @@ +@@ -870,8 +891,8 @@ if (entity1 instanceof PlayerEntity) { this.field_70718_bc = 100; this.field_70717_bb = (PlayerEntity)entity1; @@ -140,15 +140,15 @@ if (wolfentity.func_70909_n()) { this.field_70718_bc = 100; LivingEntity livingentity = wolfentity.func_70902_q(); -@@ -1051,6 +1072,7 @@ +@@ -1053,6 +1074,7 @@ } public void func_70645_a(DamageSource p_70645_1_) { + if (net.minecraftforge.common.ForgeHooks.onLivingDeath(this, p_70645_1_)) return; - if (!this.field_70729_aU) { + if (!this.field_70128_L && !this.field_70729_aU) { Entity entity = p_70645_1_.func_76346_g(); LivingEntity livingentity = this.func_94060_bK(); -@@ -1082,10 +1104,10 @@ +@@ -1084,10 +1106,10 @@ if (!this.field_70170_p.field_72995_K) { boolean flag = false; if (p_226298_1_ instanceof WitherEntity) { @@ -161,7 +161,7 @@ this.field_70170_p.func_180501_a(blockpos, blockstate, 3); flag = true; } -@@ -1102,13 +1124,10 @@ +@@ -1104,13 +1126,10 @@ protected void func_213345_d(DamageSource p_213345_1_) { Entity entity = p_213345_1_.func_76346_g(); @@ -178,7 +178,7 @@ boolean flag = this.field_70718_bc > 0; if (this.func_146066_aG() && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223602_e)) { this.func_213354_a(p_213345_1_, flag); -@@ -1117,6 +1136,10 @@ +@@ -1119,6 +1138,10 @@ this.func_213337_cE(); this.func_226294_cV_(); @@ -189,7 +189,7 @@ } protected void func_213337_cE() { -@@ -1126,6 +1149,7 @@ +@@ -1128,6 +1151,7 @@ if (!this.field_70170_p.field_72995_K && (this.func_70684_aJ() || this.field_70718_bc > 0 && this.func_146066_aG() && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223602_e))) { int i = this.func_70693_a(this.field_70717_bb); @@ -197,7 +197,7 @@ while(i > 0) { int j = ExperienceOrbEntity.func_70527_a(i); i -= j; -@@ -1133,6 +1157,7 @@ +@@ -1135,6 +1159,7 @@ } } @@ -205,7 +205,7 @@ } protected void func_213333_a(DamageSource p_213333_1_, int p_213333_2_, boolean p_213333_3_) { -@@ -1159,6 +1184,9 @@ +@@ -1161,6 +1186,9 @@ } public void func_70653_a(Entity p_70653_1_, float p_70653_2_, double p_70653_3_, double p_70653_5_) { @@ -215,7 +215,7 @@ if (!(this.field_70146_Z.nextDouble() < this.func_110148_a(SharedMonsterAttributes.field_111266_c).func_111126_e())) { this.field_70160_al = true; Vec3d vec3d = this.func_213322_ci(); -@@ -1194,12 +1222,7 @@ +@@ -1196,12 +1224,7 @@ return false; } else { BlockState blockstate = this.func_213339_cH(); @@ -229,7 +229,7 @@ } } -@@ -1223,6 +1246,11 @@ +@@ -1225,6 +1248,11 @@ } public boolean func_225503_b_(float p_225503_1_, float p_225503_2_) { @@ -241,7 +241,7 @@ boolean flag = super.func_225503_b_(p_225503_1_, p_225503_2_); int i = this.func_225508_e_(p_225503_1_, p_225503_2_); if (i > 0) { -@@ -1246,9 +1274,10 @@ +@@ -1248,9 +1276,10 @@ int i = MathHelper.func_76128_c(this.func_226277_ct_()); int j = MathHelper.func_76128_c(this.func_226278_cu_() - (double)0.2F); int k = MathHelper.func_76128_c(this.func_226281_cx_()); @@ -255,7 +255,7 @@ this.func_184185_a(soundtype.func_185842_g(), soundtype.func_185843_a() * 0.5F, soundtype.func_185847_b() * 0.75F); } -@@ -1317,6 +1346,8 @@ +@@ -1319,6 +1348,8 @@ protected void func_70665_d(DamageSource p_70665_1_, float p_70665_2_) { if (!this.func_180431_b(p_70665_1_)) { @@ -264,7 +264,7 @@ p_70665_2_ = this.func_70655_b(p_70665_1_, p_70665_2_); p_70665_2_ = this.func_70672_c(p_70665_1_, p_70665_2_); float f2 = Math.max(p_70665_2_ - this.func_110139_bj(), 0.0F); -@@ -1326,10 +1357,11 @@ +@@ -1328,10 +1359,11 @@ ((ServerPlayerEntity)p_70665_1_.func_76346_g()).func_195067_a(Stats.field_212735_F, Math.round(f * 10.0F)); } @@ -277,7 +277,7 @@ this.func_110149_m(this.func_110139_bj() - f2); } } -@@ -1383,6 +1415,8 @@ +@@ -1385,6 +1417,8 @@ } public void func_226292_a_(Hand p_226292_1_, boolean p_226292_2_) { @@ -286,7 +286,7 @@ if (!this.field_82175_bq || this.field_110158_av >= this.func_82166_i() / 2 || this.field_110158_av < 0) { this.field_110158_av = -1; this.field_82175_bq = true; -@@ -1769,15 +1803,16 @@ +@@ -1771,15 +1805,16 @@ } this.field_70160_al = true; @@ -305,7 +305,7 @@ } protected float func_189749_co() { -@@ -1787,11 +1822,15 @@ +@@ -1789,11 +1824,15 @@ public void func_213352_e(Vec3d p_213352_1_) { if (this.func_70613_aW() || this.func_184186_bw()) { double d0 = 0.08D; @@ -322,7 +322,7 @@ if (!this.func_70090_H() || this instanceof PlayerEntity && ((PlayerEntity)this).field_71075_bZ.field_75100_b) { if (!this.func_180799_ab() || this instanceof PlayerEntity && ((PlayerEntity)this).field_71075_bZ.field_75100_b) { -@@ -1840,7 +1879,7 @@ +@@ -1842,7 +1881,7 @@ } } else { BlockPos blockpos = this.func_226270_aj_(); @@ -331,7 +331,7 @@ float f7 = this.field_70122_E ? f5 * 0.91F : 0.91F; this.func_213309_a(this.func_213335_r(f5), p_213352_1_); this.func_213317_d(this.func_213362_f(this.func_213322_ci())); -@@ -1902,6 +1941,7 @@ +@@ -1904,6 +1943,7 @@ f = 0.96F; } @@ -339,7 +339,7 @@ this.func_213309_a(f1, p_213352_1_); this.func_213315_a(MoverType.SELF, this.func_213322_ci()); Vec3d vec3d1 = this.func_213322_ci(); -@@ -1977,6 +2017,7 @@ +@@ -1979,6 +2019,7 @@ } public void func_70071_h_() { @@ -347,7 +347,7 @@ super.func_70071_h_(); this.func_184608_ct(); this.func_205014_p(); -@@ -2020,7 +2061,9 @@ +@@ -2022,7 +2063,9 @@ ItemStack itemstack1 = this.func_184582_a(equipmentslottype); if (!ItemStack.func_77989_b(itemstack1, itemstack)) { @@ -357,7 +357,7 @@ if (!itemstack.func_190926_b()) { this.func_110140_aT().func_111148_a(itemstack.func_111283_C(equipmentslottype)); } -@@ -2472,13 +2515,22 @@ +@@ -2474,13 +2517,22 @@ private void func_184608_ct() { if (this.func_184587_cr()) { @@ -382,7 +382,7 @@ this.func_71036_o(); } } else { -@@ -2520,8 +2572,10 @@ +@@ -2522,8 +2574,10 @@ public void func_184598_c(Hand p_184598_1_) { ItemStack itemstack = this.func_184586_b(p_184598_1_); if (!itemstack.func_190926_b() && !this.func_184587_cr()) { @@ -394,7 +394,7 @@ if (!this.field_70170_p.field_72995_K) { this.func_204802_c(1, true); this.func_204802_c(2, p_184598_1_ == Hand.OFF_HAND); -@@ -2581,6 +2635,9 @@ +@@ -2583,6 +2637,9 @@ vec3d1 = vec3d1.func_178789_a(-this.field_70125_A * ((float)Math.PI / 180F)); vec3d1 = vec3d1.func_178785_b(-this.field_70177_z * ((float)Math.PI / 180F)); vec3d1 = vec3d1.func_72441_c(this.func_226277_ct_(), this.func_226280_cw_(), this.func_226281_cx_()); @@ -404,7 +404,7 @@ this.field_70170_p.func_195594_a(new ItemParticleData(ParticleTypes.field_197591_B, p_195062_1_), vec3d1.field_72450_a, vec3d1.field_72448_b, vec3d1.field_72449_c, vec3d.field_72450_a, vec3d.field_72448_b + 0.05D, vec3d.field_72449_c); } -@@ -2592,7 +2649,9 @@ +@@ -2594,7 +2651,9 @@ } else { if (!this.field_184627_bm.func_190926_b() && this.func_184587_cr()) { this.func_226293_b_(this.field_184627_bm, 16); @@ -415,7 +415,7 @@ this.func_184602_cy(); } -@@ -2613,7 +2672,11 @@ +@@ -2615,7 +2674,11 @@ public void func_184597_cx() { if (!this.field_184627_bm.func_190926_b()) { @@ -427,7 +427,7 @@ if (this.field_184627_bm.func_222122_m()) { this.func_184608_ct(); } -@@ -2770,16 +2833,16 @@ +@@ -2772,16 +2835,16 @@ private boolean func_213359_p() { return this.func_213374_dv().map((p_213347_1_) -> { @@ -448,7 +448,7 @@ BlockPos blockpos = p_213368_1_.func_177984_a(); return new Vec3d((double)blockpos.func_177958_n() + 0.5D, (double)blockpos.func_177956_o() + 0.1D, (double)blockpos.func_177952_p() + 0.5D); }); -@@ -2795,7 +2858,9 @@ +@@ -2797,7 +2860,9 @@ @OnlyIn(Dist.CLIENT) public Direction func_213376_dz() { BlockPos blockpos = this.func_213374_dv().orElse((BlockPos)null); @@ -459,7 +459,7 @@ } public boolean func_70094_T() { -@@ -2864,4 +2929,58 @@ +@@ -2866,4 +2931,58 @@ public void func_213334_d(Hand p_213334_1_) { this.func_213361_c(p_213334_1_ == Hand.MAIN_HAND ? EquipmentSlotType.MAINHAND : EquipmentSlotType.OFFHAND); } diff --git a/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch index 29c838232..6f29d16ef 100644 --- a/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/FallingBlockEntity.java +++ b/net/minecraft/entity/item/FallingBlockEntity.java -@@ -152,7 +152,7 @@ +@@ -153,7 +153,7 @@ ((FallingBlock)block).func_176502_a_(this.field_70170_p, blockpos1, this.field_175132_d, blockstate); } diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java.patch index c73eea583..3cfb77768 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java +++ b/net/minecraft/entity/item/minecart/FurnaceMinecartEntity.java -@@ -114,6 +114,7 @@ +@@ -110,6 +110,7 @@ } public boolean func_184230_a(PlayerEntity p_184230_1_, Hand p_184230_2_) { diff --git a/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch b/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch index 12239f249..080c19150 100644 --- a/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch @@ -304,24 +304,23 @@ this.func_226560_a_(p_213819_1_, false, true); return Either.left(PlayerEntity.SleepResult.NOT_POSSIBLE_NOW); } -@@ -1274,6 +1341,8 @@ - private boolean func_190774_a(BlockPos p_190774_1_, Direction p_190774_2_) { - if (Math.abs(this.func_226277_ct_() - (double)p_190774_1_.func_177958_n()) <= 3.0D && Math.abs(this.func_226278_cu_() - (double)p_190774_1_.func_177956_o()) <= 2.0D && Math.abs(this.func_226281_cx_() - (double)p_190774_1_.func_177952_p()) <= 3.0D) { - return true; -+ } else if (p_190774_2_ == null) { -+ return false; - } else { - BlockPos blockpos = p_190774_1_.func_177972_a(p_190774_2_.func_176734_d()); - return Math.abs(this.func_226277_ct_() - (double)blockpos.func_177958_n()) <= 3.0D && Math.abs(this.func_226278_cu_() - (double)blockpos.func_177956_o()) <= 2.0D && Math.abs(this.func_226281_cx_() - (double)blockpos.func_177952_p()) <= 3.0D; -@@ -1286,6 +1355,7 @@ +@@ -1273,6 +1340,7 @@ } + private boolean func_190774_a(BlockPos p_190774_1_, Direction p_190774_2_) { ++ if (p_190774_2_ == null) return false; + return this.func_230126_g_(p_190774_1_) || this.func_230126_g_(p_190774_1_.func_177972_a(p_190774_2_.func_176734_d())); + } + +@@ -1289,6 +1357,7 @@ public void func_225652_a_(boolean p_225652_1_, boolean p_225652_2_) { -+ net.minecraftforge.event.ForgeEventFactory.onPlayerWakeup(this, p_225652_1_, p_225652_2_); super.func_213366_dy(); if (this.field_70170_p instanceof ServerWorld && p_225652_2_) { ++ net.minecraftforge.event.ForgeEventFactory.onPlayerWakeup(this, p_225652_1_, p_225652_2_); ((ServerWorld)this.field_70170_p).func_72854_c(); -@@ -1299,17 +1369,17 @@ + } + +@@ -1300,17 +1369,17 @@ } public static Optional func_213822_a(IWorldReader p_213822_0_, BlockPos p_213822_1_, boolean p_213822_2_) { @@ -343,7 +342,7 @@ } } -@@ -1324,15 +1394,62 @@ +@@ -1325,15 +1394,62 @@ public void func_146105_b(ITextComponent p_146105_1_, boolean p_146105_2_) { } @@ -408,7 +407,7 @@ if (p_226560_1_ != null) { if (p_226560_3_ && !p_226560_1_.equals(this.field_71077_c)) { this.func_145747_a(new TranslationTextComponent("block.minecraft.bed.set_spawn")); -@@ -1505,6 +1622,7 @@ +@@ -1506,6 +1622,7 @@ public boolean func_225503_b_(float p_225503_1_, float p_225503_2_) { if (this.field_71075_bZ.field_75101_c) { @@ -416,7 +415,7 @@ return false; } else { if (p_225503_1_ >= 2.0F) { -@@ -1559,6 +1677,10 @@ +@@ -1560,6 +1677,10 @@ } public void func_195068_e(int p_195068_1_) { @@ -427,7 +426,7 @@ this.func_85039_t(p_195068_1_); this.field_71106_cc += (float)p_195068_1_ / (float)this.func_71050_bK(); this.field_71067_cb = MathHelper.func_76125_a(this.field_71067_cb + p_195068_1_, 0, Integer.MAX_VALUE); -@@ -1598,6 +1720,10 @@ +@@ -1599,6 +1720,10 @@ } public void func_82242_a(int p_82242_1_) { @@ -438,7 +437,7 @@ this.field_71068_ca += p_82242_1_; if (this.field_71068_ca < 0) { this.field_71068_ca = 0; -@@ -1788,7 +1914,10 @@ +@@ -1789,7 +1914,10 @@ } public ITextComponent func_145748_c_() { @@ -450,7 +449,7 @@ return this.func_208016_c(itextcomponent); } -@@ -2028,4 +2157,45 @@ +@@ -2029,4 +2157,45 @@ return this.field_221260_g; } } diff --git a/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch b/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch index de1de177b..50dd4ad31 100644 --- a/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch +++ b/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/potion/EffectInstance.java +++ b/net/minecraft/potion/EffectInstance.java -@@ -8,7 +8,7 @@ +@@ -9,7 +9,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,15 +9,15 @@ private static final Logger field_180155_a = LogManager.getLogger(); private final Effect field_188420_b; private int field_76460_b; -@@ -52,6 +52,7 @@ - this.field_82724_e = p_i1577_1_.field_82724_e; - this.field_188421_h = p_i1577_1_.field_188421_h; - this.field_205349_i = p_i1577_1_.field_205349_i; -+ this.curativeItems = p_i1577_1_.curativeItems == null ? null : new java.util.ArrayList(p_i1577_1_.curativeItems); +@@ -64,6 +64,7 @@ + this.field_82724_e = p_230117_1_.field_82724_e; + this.field_188421_h = p_230117_1_.field_188421_h; + this.field_205349_i = p_230117_1_.field_205349_i; ++ this.curativeItems = p_230117_1_.curativeItems == null ? null : new java.util.ArrayList(p_230117_1_.curativeItems); } public boolean func_199308_a(EffectInstance p_199308_1_) { -@@ -88,7 +89,7 @@ +@@ -112,7 +113,7 @@ } public Effect func_188419_a() { @@ -26,30 +26,30 @@ } public int func_76459_b() { -@@ -188,11 +189,12 @@ - p_82719_1_.func_74757_a("Ambient", this.func_82720_e()); - p_82719_1_.func_74757_a("ShowParticles", this.func_188418_e()); - p_82719_1_.func_74757_a("ShowIcon", this.func_205348_f()); -+ writeCurativeItems(p_82719_1_); - return p_82719_1_; +@@ -231,11 +232,12 @@ + this.field_230115_j_.func_82719_a(compoundnbt); + p_230119_1_.func_218657_a("HiddenEffect", compoundnbt); + } ++ writeCurativeItems(p_230119_1_); + } public static EffectInstance func_82722_b(CompoundNBT p_82722_0_) { - int i = p_82722_0_.func_74771_c("Id"); + int i = p_82722_0_.func_74771_c("Id") & 0xFF; Effect effect = Effect.func_188412_a(i); - if (effect == null) { - return null; -@@ -210,7 +212,7 @@ - flag2 = p_82722_0_.func_74767_n("ShowIcon"); - } - -- return new EffectInstance(effect, k, j < 0 ? 0 : j, flag, flag1, flag2); -+ return readCurativeItems(new EffectInstance(effect, k, j < 0 ? 0 : j, flag, flag1, flag2), p_82722_0_); + return effect == null ? null : func_230116_a_(effect, p_82722_0_); + } +@@ -259,7 +261,7 @@ + effectinstance = func_230116_a_(p_230116_0_, p_230116_1_.func_74775_l("HiddenEffect")); } + +- return new EffectInstance(p_230116_0_, j, i < 0 ? 0 : i, flag, flag1, flag2, effectinstance); ++ return readCurativeItems(new EffectInstance(p_230116_0_, j, i < 0 ? 0 : i, flag, flag1, flag2, effectinstance), p_230116_1_); } -@@ -226,6 +228,32 @@ + @OnlyIn(Dist.CLIENT) +@@ -274,6 +276,32 @@ public int compareTo(EffectInstance p_compareTo_1_) { int i = 32147; diff --git a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch index 2be345ab0..48f43f3c3 100644 --- a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -18,9 +18,9 @@ WorldInfo worldinfo = savehandler.func_75757_d(); WorldSettings worldsettings; if (worldinfo == null) { -@@ -356,13 +358,13 @@ - } +@@ -357,13 +359,13 @@ + worldinfo.func_230145_a_(this.getServerModName(), this.func_230045_q_().isPresent()); this.func_195560_a(savehandler.func_75765_b(), worldinfo); - IChunkStatusListener ichunkstatuslistener = this.field_213220_d.create(11); this.func_213194_a(savehandler, worldinfo, worldsettings, ichunkstatuslistener); @@ -33,7 +33,7 @@ if (this.func_71242_L()) { p_213194_2_.func_176127_a(field_213219_c); } -@@ -406,6 +408,7 @@ +@@ -407,6 +409,7 @@ if (dimensiontype != DimensionType.field_223227_a_) { this.field_71305_c.put(dimensiontype, new ServerMultiWorld(serverworld1, this, this.field_213217_au, p_213194_1_, dimensiontype, this.field_71304_b, p_213194_4_)); } @@ -41,7 +41,7 @@ } } -@@ -564,6 +567,7 @@ +@@ -565,6 +568,7 @@ for(ServerWorld serverworld1 : this.func_212370_w()) { if (serverworld1 != null) { try { @@ -49,7 +49,7 @@ serverworld1.close(); } catch (IOException ioexception) { field_147145_h.error("Exception closing the level", (Throwable)ioexception); -@@ -604,6 +608,7 @@ +@@ -605,6 +609,7 @@ public void run() { try { if (this.func_71197_b()) { @@ -57,7 +57,7 @@ this.field_211151_aa = Util.func_211177_b(); this.field_147147_p.func_151315_a(new StringTextComponent(this.field_71286_C)); this.field_147147_p.func_151321_a(new ServerStatusResponse.Version(SharedConstants.func_215069_a().getName(), SharedConstants.func_215069_a().getProtocolVersion())); -@@ -635,9 +640,15 @@ +@@ -636,9 +641,15 @@ this.field_71304_b.func_219897_b(); this.field_71296_Q = true; } @@ -73,7 +73,7 @@ } catch (Throwable throwable1) { field_147145_h.error("Encountered an unexpected exception", throwable1); CrashReport crashreport; -@@ -654,6 +665,7 @@ +@@ -655,6 +666,7 @@ field_147145_h.error("We were unable to save this crash report to disk."); } @@ -81,7 +81,7 @@ this.func_71228_a(crashreport); } finally { try { -@@ -662,6 +674,7 @@ +@@ -663,6 +675,7 @@ } catch (Throwable throwable) { field_147145_h.error("Exception stopping the server", throwable); } finally { @@ -89,7 +89,7 @@ this.func_71240_o(); } -@@ -758,6 +771,7 @@ +@@ -764,6 +777,7 @@ protected void func_71217_p(BooleanSupplier p_71217_1_) { long i = Util.func_211178_c(); @@ -97,7 +97,7 @@ ++this.field_71315_w; this.func_71190_q(p_71217_1_); if (i - this.field_147142_T >= 5000000000L) { -@@ -772,6 +786,7 @@ +@@ -778,6 +792,7 @@ Collections.shuffle(Arrays.asList(agameprofile)); this.field_147147_p.func_151318_b().func_151330_a(agameprofile); @@ -105,7 +105,7 @@ } if (this.field_71315_w % 6000 == 0) { -@@ -799,6 +814,7 @@ +@@ -805,6 +820,7 @@ long i1 = Util.func_211178_c(); this.field_213215_ap.func_181747_a(i1 - i); this.field_71304_b.func_76319_b(); @@ -113,7 +113,7 @@ } protected void func_71190_q(BooleanSupplier p_71190_1_) { -@@ -806,7 +822,8 @@ +@@ -812,7 +828,8 @@ this.func_193030_aL().func_73660_a(); this.field_71304_b.func_219895_b("levels"); @@ -123,7 +123,7 @@ if (serverworld.field_73011_w.func_186058_p() == DimensionType.field_223227_a_ || this.func_71255_r()) { this.field_71304_b.func_194340_a(() -> { return serverworld.func_72912_H().func_76065_j() + " " + Registry.field_212622_k.func_177774_c(serverworld.field_73011_w.func_186058_p()); -@@ -818,6 +835,7 @@ +@@ -824,6 +841,7 @@ } this.field_71304_b.func_76320_a("tick"); @@ -131,7 +131,7 @@ try { serverworld.func_72835_b(p_71190_1_); -@@ -826,12 +844,16 @@ +@@ -832,12 +850,16 @@ serverworld.func_72914_a(crashreport); throw new ReportedException(crashreport); } @@ -148,7 +148,7 @@ this.field_71304_b.func_219895_b("connection"); this.func_147137_ag().func_151269_c(); this.field_71304_b.func_219895_b("players"); -@@ -872,6 +894,7 @@ +@@ -878,6 +900,7 @@ OptionSpec optionspec10 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1); OptionSpec optionspec11 = optionparser.accepts("serverId").withRequiredArg(); OptionSpec optionspec12 = optionparser.nonOptions(); @@ -156,7 +156,7 @@ try { OptionSet optionset = optionparser.parse(p_main_0_); -@@ -903,6 +926,10 @@ +@@ -910,6 +933,10 @@ GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository(); PlayerProfileCache playerprofilecache = new PlayerProfileCache(gameprofilerepository, new File(s, field_152367_a.getName())); String s1 = Optional.ofNullable(optionset.valueOf(optionspec9)).orElse(serverpropertiesprovider.func_219034_a().field_219021_o); @@ -167,7 +167,7 @@ final DedicatedServer dedicatedserver = new DedicatedServer(new File(s), serverpropertiesprovider, DataFixesManager.func_210901_a(), yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, playerprofilecache, LoggingChunkStatusListener::new, s1); dedicatedserver.func_71224_l(optionset.valueOf(optionspec7)); dedicatedserver.func_71208_b(optionset.valueOf(optionspec10)); -@@ -920,6 +947,7 @@ +@@ -927,6 +954,7 @@ Thread thread = new Thread("Server Shutdown Thread") { public void run() { dedicatedserver.func_71263_m(true); @@ -175,7 +175,7 @@ } }; thread.setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(field_147145_h)); -@@ -964,7 +992,7 @@ +@@ -971,7 +999,7 @@ } public ServerWorld func_71218_a(DimensionType p_71218_1_) { @@ -184,7 +184,7 @@ } public Iterable func_212370_w() { -@@ -1003,7 +1031,7 @@ +@@ -1010,7 +1038,7 @@ } public String getServerModName() { @@ -193,7 +193,7 @@ } public CrashReport func_71230_b(CrashReport p_71230_1_) { -@@ -1558,6 +1586,31 @@ +@@ -1567,6 +1595,31 @@ public abstract boolean func_213199_b(GameProfile p_213199_1_); diff --git a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index aca836c39..bb912de21 100644 --- a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch +++ b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java -@@ -96,6 +96,7 @@ +@@ -97,6 +97,7 @@ public boolean func_71197_b() throws IOException { Thread thread = new Thread("Server console handler") { public void run() { @@ -8,7 +8,7 @@ BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8)); String s3; -@@ -117,6 +118,7 @@ +@@ -118,6 +119,7 @@ field_155771_h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); } @@ -16,7 +16,7 @@ field_155771_h.info("Loading properties"); ServerProperties serverproperties = this.field_71340_o.func_219034_a(); if (this.func_71264_H()) { -@@ -174,6 +176,7 @@ +@@ -175,6 +177,7 @@ if (!PreYggdrasilConverter.func_219587_e(this)) { return false; } else { @@ -24,7 +24,7 @@ this.func_184105_a(new DedicatedPlayerList(this)); long i = Util.func_211178_c(); String s = serverproperties.field_219022_p; -@@ -195,6 +198,7 @@ +@@ -196,6 +199,7 @@ SkullTileEntity.func_184293_a(this.func_152358_ax()); SkullTileEntity.func_184294_a(this.func_147130_as()); PlayerProfileCache.func_187320_a(this.func_71266_T()); @@ -32,7 +32,7 @@ field_155771_h.info("Preparing level \"{}\"", (Object)this.func_71270_I()); JsonObject jsonobject = new JsonObject(); if (worldtype == WorldType.field_77138_c) { -@@ -207,6 +211,7 @@ +@@ -208,6 +212,7 @@ long l = Util.func_211178_c() - i; String s2 = String.format(Locale.ROOT, "%.3fs", (double)l / 1.0E9D); field_155771_h.info("Done ({})! For help, type \"help\"", (Object)s2); @@ -40,7 +40,7 @@ if (serverproperties.field_219027_u != null) { this.func_200252_aR().func_223585_a(GameRules.field_223620_w).func_223570_a(serverproperties.field_219027_u, this); } -@@ -232,7 +237,8 @@ +@@ -233,7 +238,8 @@ } Items.field_190931_a.func_150895_a(ItemGroup.field_78027_g, NonNullList.func_191196_a()); @@ -50,7 +50,7 @@ } } -@@ -542,4 +548,9 @@ +@@ -547,4 +553,9 @@ public boolean func_213199_b(GameProfile p_213199_1_) { return false; } diff --git a/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch index 20e35ca06..49f4f78f2 100644 --- a/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch +++ b/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/integrated/IntegratedServer.java +++ b/net/minecraft/server/integrated/IntegratedServer.java -@@ -63,6 +63,8 @@ +@@ -64,6 +64,8 @@ this.func_71237_c(p_71247_1_); SaveHandler savehandler = this.func_71254_M().func_197715_a(p_71247_1_, this); this.func_175584_a(this.func_71270_I(), savehandler); @@ -9,15 +9,15 @@ WorldInfo worldinfo = savehandler.func_75757_d(); if (worldinfo == null) { worldinfo = new WorldInfo(this.field_71350_m, p_71247_2_); -@@ -71,7 +73,6 @@ - } +@@ -73,7 +75,6 @@ + worldinfo.func_230145_a_(this.getServerModName(), this.func_230045_q_().isPresent()); this.func_195560_a(savehandler.func_75765_b(), worldinfo); - IChunkStatusListener ichunkstatuslistener = this.field_213220_d.create(11); this.func_213194_a(savehandler, worldinfo, this.field_71350_m, ichunkstatuslistener); if (this.func_71218_a(DimensionType.field_223227_a_).func_72912_H().func_176130_y() == null) { this.func_147139_a(this.field_71349_l.field_71474_y.field_74318_M, true); -@@ -89,9 +90,10 @@ +@@ -91,9 +92,10 @@ this.func_71245_h(true); field_147148_h.info("Generating keypair"); this.func_71253_a(CryptManager.func_75891_b()); @@ -29,7 +29,7 @@ } public void func_71217_p(BooleanSupplier p_71217_1_) { -@@ -126,6 +128,7 @@ +@@ -128,6 +130,7 @@ } public Difficulty func_147135_j() { @@ -37,7 +37,7 @@ return this.field_71349_l.field_71441_e.func_72912_H().func_176130_y(); } -@@ -213,6 +216,7 @@ +@@ -219,6 +222,7 @@ } public void func_71263_m(boolean p_71263_1_) { diff --git a/patches/minecraft/net/minecraft/world/World.java.patch b/patches/minecraft/net/minecraft/world/World.java.patch index e42c37bc4..9f20a1d3d 100644 --- a/patches/minecraft/net/minecraft/world/World.java.patch +++ b/patches/minecraft/net/minecraft/world/World.java.patch @@ -331,9 +331,9 @@ if (this.field_72986_A.func_76059_o()) { this.field_73004_o = 1.0F; if (this.field_72986_A.func_76061_m()) { -@@ -739,10 +807,10 @@ - +@@ -740,10 +808,10 @@ public List func_175674_a(@Nullable Entity p_175674_1_, AxisAlignedBB p_175674_2_, @Nullable Predicate p_175674_3_) { + this.func_217381_Z().func_230035_c_("getEntities"); List list = Lists.newArrayList(); - int i = MathHelper.func_76128_c((p_175674_2_.field_72340_a - 2.0D) / 16.0D); - int j = MathHelper.func_76128_c((p_175674_2_.field_72336_d + 2.0D) / 16.0D); @@ -346,10 +346,10 @@ for(int i1 = i; i1 <= j; ++i1) { for(int j1 = k; j1 <= l; ++j1) { -@@ -757,10 +825,10 @@ - } +@@ -759,10 +827,10 @@ public List func_217394_a(@Nullable EntityType p_217394_1_, AxisAlignedBB p_217394_2_, Predicate p_217394_3_) { + this.func_217381_Z().func_230035_c_("getEntities"); - int i = MathHelper.func_76128_c((p_217394_2_.field_72340_a - 2.0D) / 16.0D); - int j = MathHelper.func_76143_f((p_217394_2_.field_72336_d + 2.0D) / 16.0D); - int k = MathHelper.func_76128_c((p_217394_2_.field_72339_c - 2.0D) / 16.0D); @@ -361,10 +361,10 @@ List list = Lists.newArrayList(); for(int i1 = i; i1 < j; ++i1) { -@@ -776,10 +844,10 @@ - } +@@ -779,10 +847,10 @@ public List func_175647_a(Class p_175647_1_, AxisAlignedBB p_175647_2_, @Nullable Predicate p_175647_3_) { + this.func_217381_Z().func_230035_c_("getEntities"); - int i = MathHelper.func_76128_c((p_175647_2_.field_72340_a - 2.0D) / 16.0D); - int j = MathHelper.func_76143_f((p_175647_2_.field_72336_d + 2.0D) / 16.0D); - int k = MathHelper.func_76128_c((p_175647_2_.field_72339_c - 2.0D) / 16.0D); @@ -376,10 +376,10 @@ List list = Lists.newArrayList(); AbstractChunkProvider abstractchunkprovider = this.func_72863_F(); -@@ -796,10 +864,10 @@ - } +@@ -800,10 +868,10 @@ public List func_225316_b(Class p_225316_1_, AxisAlignedBB p_225316_2_, @Nullable Predicate p_225316_3_) { + this.func_217381_Z().func_230035_c_("getLoadedEntities"); - int i = MathHelper.func_76128_c((p_225316_2_.field_72340_a - 2.0D) / 16.0D); - int j = MathHelper.func_76143_f((p_225316_2_.field_72336_d + 2.0D) / 16.0D); - int k = MathHelper.func_76128_c((p_225316_2_.field_72339_c - 2.0D) / 16.0D); @@ -391,7 +391,7 @@ List list = Lists.newArrayList(); AbstractChunkProvider abstractchunkprovider = this.func_72863_F(); -@@ -826,7 +894,8 @@ +@@ -830,7 +898,8 @@ } public int func_181545_F() { @@ -401,7 +401,7 @@ } public World func_201672_e() { -@@ -874,7 +943,7 @@ +@@ -878,7 +947,7 @@ public int func_175651_c(BlockPos p_175651_1_, Direction p_175651_2_) { BlockState blockstate = this.func_180495_p(p_175651_1_); @@ -410,7 +410,7 @@ } public boolean func_175640_z(BlockPos p_175640_1_) { -@@ -919,7 +988,7 @@ +@@ -923,7 +992,7 @@ } public long func_72905_C() { @@ -419,7 +419,7 @@ } public long func_82737_E() { -@@ -927,11 +996,11 @@ +@@ -931,11 +1000,11 @@ } public long func_72820_D() { @@ -433,7 +433,7 @@ } protected void func_217389_a() { -@@ -943,7 +1012,7 @@ +@@ -947,7 +1016,7 @@ } public BlockPos func_175694_M() { @@ -442,7 +442,7 @@ if (!this.func_175723_af().func_177746_a(blockpos)) { blockpos = this.func_205770_a(Heightmap.Type.MOTION_BLOCKING, new BlockPos(this.func_175723_af().func_177731_f(), 0.0D, this.func_175723_af().func_177721_g())); } -@@ -952,10 +1021,14 @@ +@@ -956,10 +1025,14 @@ } public void func_175652_B(BlockPos p_175652_1_) { @@ -458,7 +458,7 @@ return true; } -@@ -1023,8 +1096,7 @@ +@@ -1027,8 +1100,7 @@ } public boolean func_180502_D(BlockPos p_180502_1_) { @@ -468,7 +468,7 @@ } @Nullable -@@ -1038,7 +1110,7 @@ +@@ -1042,7 +1114,7 @@ } public int func_72940_L() { @@ -477,7 +477,7 @@ } public CrashReportCategory func_72914_a(CrashReport p_72914_1_) { -@@ -1069,16 +1141,15 @@ +@@ -1073,16 +1145,15 @@ public abstract Scoreboard func_96441_U(); public void func_175666_e(BlockPos p_175666_1_, Block p_175666_2_) { @@ -498,7 +498,7 @@ blockstate.func_215697_a(this, blockpos, p_175666_2_, p_175666_1_, false); } } -@@ -1146,4 +1217,16 @@ +@@ -1150,4 +1221,16 @@ public BiomeManager func_225523_d_() { return this.field_226689_w_; } diff --git a/patches/minecraft/net/minecraft/world/biome/DefaultBiomeFeatures.java.patch b/patches/minecraft/net/minecraft/world/biome/DefaultBiomeFeatures.java.patch index c19a2f7ef..4c3ba0a59 100644 --- a/patches/minecraft/net/minecraft/world/biome/DefaultBiomeFeatures.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/DefaultBiomeFeatures.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/DefaultBiomeFeatures.java +++ b/net/minecraft/world/biome/DefaultBiomeFeatures.java -@@ -132,26 +132,26 @@ +@@ -132,30 +132,30 @@ private static final BlockState field_226805_bm_ = Blocks.field_150419_aX.func_176223_P().func_206870_a(HugeMushroomBlock.field_196460_A, Boolean.valueOf(false)); private static final BlockState field_226806_bn_ = Blocks.field_150420_aW.func_176223_P().func_206870_a(HugeMushroomBlock.field_196465_z, Boolean.valueOf(true)).func_206870_a(HugeMushroomBlock.field_196460_A, Boolean.valueOf(false)); private static final BlockState field_226807_bo_ = Blocks.field_196706_do.func_176223_P().func_206870_a(HugeMushroomBlock.field_196465_z, Boolean.valueOf(false)).func_206870_a(HugeMushroomBlock.field_196460_A, Boolean.valueOf(false)); @@ -11,14 +11,18 @@ - public static final TreeFeatureConfig field_226810_e_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226776_ak_), new SimpleBlockStateProvider(field_226777_al_), new SpruceFoliagePlacer(2, 1))).func_225569_d_(6).func_227354_b_(3).func_227356_e_(1).func_227357_f_(1).func_227359_h_(2).func_227352_a_().func_225568_b_(); - public static final TreeFeatureConfig field_226811_f_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226778_am_), new SimpleBlockStateProvider(field_226779_an_), new AcaciaFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(2).func_227356_e_(0).func_227352_a_().func_225568_b_(); - public static final TreeFeatureConfig field_226812_g_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_225568_b_(); -- public static final TreeFeatureConfig field_226813_h_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(6).func_227360_i_(3).func_227352_a_().func_225568_b_(); +- public static final TreeFeatureConfig field_230129_h_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230130_i_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(6).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).func_225568_b_(); - public static final TreeFeatureConfig field_226814_i_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(3, 0))).func_225569_d_(5).func_227354_b_(3).func_227360_i_(3).func_227362_k_(1).func_227353_a_(ImmutableList.of(new LeaveVineTreeDecorator())).func_225568_b_(); - public static final TreeFeatureConfig field_226815_j_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_225568_b_(); - public static final TreeFeatureConfig field_226816_k_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230131_m_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).func_225568_b_(); - public static final TreeFeatureConfig field_226817_l_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).func_225568_b_(); -- public static final TreeFeatureConfig field_226818_m_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).func_225568_b_(); -- public static final TreeFeatureConfig field_226819_n_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).func_225568_b_(); -- public static final TreeFeatureConfig field_226820_o_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230132_o_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230133_p_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230134_q_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230135_r_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).func_225568_b_(); +- public static final TreeFeatureConfig field_230136_s_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).func_225568_b_(); - public static final BaseTreeFeatureConfig field_226821_p_ = (new BaseTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226774_ai_), new SimpleBlockStateProvider(field_226773_ah_))).func_225569_d_(4).func_225568_b_(); - public static final HugeTreeFeatureConfig field_226822_q_ = (new HugeTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226782_aq_), new SimpleBlockStateProvider(field_226783_ar_))).func_225569_d_(6).func_225568_b_(); - public static final HugeTreeFeatureConfig field_226823_r_ = (new HugeTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226776_ak_), new SimpleBlockStateProvider(field_226777_al_))).func_225569_d_(13).func_227283_b_(15).func_227284_c_(13).func_227282_a_(ImmutableList.of(new AlterGroundTreeDecorator(new SimpleBlockStateProvider(field_226771_af_)))).func_225568_b_(); @@ -31,15 +35,19 @@ + public static final TreeFeatureConfig field_226810_e_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226776_ak_), new SimpleBlockStateProvider(field_226777_al_), new SpruceFoliagePlacer(2, 1))).func_225569_d_(6).func_227354_b_(3).func_227356_e_(1).func_227357_f_(1).func_227359_h_(2).func_227352_a_().setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196675_u).func_225568_b_(); + public static final TreeFeatureConfig field_226811_f_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226778_am_), new SimpleBlockStateProvider(field_226779_an_), new AcaciaFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(2).func_227356_e_(0).func_227352_a_().setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196679_x).func_225568_b_(); + public static final TreeFeatureConfig field_226812_g_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); -+ public static final TreeFeatureConfig field_226813_h_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(6).func_227360_i_(3).func_227352_a_().setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); ++ public static final TreeFeatureConfig field_230129_h_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); ++ public static final TreeFeatureConfig field_230130_i_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227355_c_(6).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); + public static final TreeFeatureConfig field_226814_i_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(3, 0))).func_225569_d_(5).func_227354_b_(3).func_227360_i_(3).func_227362_k_(1).func_227353_a_(ImmutableList.of(new LeaveVineTreeDecorator())).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); + public static final TreeFeatureConfig field_226815_j_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); + public static final TreeFeatureConfig field_226816_k_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); ++ public static final TreeFeatureConfig field_230131_m_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); + public static final TreeFeatureConfig field_226817_l_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); -+ public static final TreeFeatureConfig field_226818_m_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); -+ public static final TreeFeatureConfig field_226819_n_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); -+ public static final TreeFeatureConfig field_226820_o_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.01F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); -+ public static final BaseTreeFeatureConfig field_226821_p_ = (new BaseTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226774_ai_), new SimpleBlockStateProvider(field_226773_ah_))).func_225569_d_(4).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); ++ public static final TreeFeatureConfig field_230132_o_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.002F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); ++ public static final TreeFeatureConfig field_230133_p_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(2, 0))).func_225569_d_(4).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); ++ public static final TreeFeatureConfig field_230134_q_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226772_ag_), new SimpleBlockStateProvider(field_226773_ah_), new BlobFoliagePlacer(0, 0))).func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196674_t).func_225568_b_(); ++ public static final TreeFeatureConfig field_230135_r_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.02F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); ++ public static final TreeFeatureConfig field_230136_s_ = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226780_ao_), new SimpleBlockStateProvider(field_226781_ap_), new BlobFoliagePlacer(2, 0))).func_225569_d_(5).func_227354_b_(2).func_227360_i_(3).func_227352_a_().func_227353_a_(ImmutableList.of(new BeehiveTreeDecorator(0.05F))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196676_v).func_225568_b_(); ++ public static final BaseTreeFeatureConfig field_226821_p_ = (new BaseTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226774_ai_), new SimpleBlockStateProvider(field_226773_ah_))).func_225569_d_(4).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196678_w).func_225568_b_(); + public static final HugeTreeFeatureConfig field_226822_q_ = (new HugeTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226782_aq_), new SimpleBlockStateProvider(field_226783_ar_))).func_225569_d_(6).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196680_y).func_225568_b_(); + public static final HugeTreeFeatureConfig field_226823_r_ = (new HugeTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226776_ak_), new SimpleBlockStateProvider(field_226777_al_))).func_225569_d_(13).func_227283_b_(15).func_227284_c_(13).func_227282_a_(ImmutableList.of(new AlterGroundTreeDecorator(new SimpleBlockStateProvider(field_226771_af_)))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196675_u).func_225568_b_(); + public static final HugeTreeFeatureConfig field_226824_s_ = (new HugeTreeFeatureConfig.Builder(new SimpleBlockStateProvider(field_226776_ak_), new SimpleBlockStateProvider(field_226777_al_))).func_225569_d_(13).func_227283_b_(15).func_227284_c_(3).func_227282_a_(ImmutableList.of(new AlterGroundTreeDecorator(new SimpleBlockStateProvider(field_226771_af_)))).setSapling((net.minecraftforge.common.IPlantable)Blocks.field_196675_u).func_225568_b_(); diff --git a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch index 74ce89349..a82bbc522 100644 --- a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch @@ -16,7 +16,7 @@ } this.func_219229_a(p_219185_5_); -@@ -481,6 +483,7 @@ +@@ -482,6 +484,7 @@ if (flag) { IChunk ichunk = ChunkSerializer.func_222656_a(this.field_219255_i, this.field_219269_w, this.field_219260_n, p_223172_1_, compoundnbt); ichunk.func_177432_b(this.field_219255_i.func_82737_E()); @@ -24,7 +24,7 @@ return Either.left(ichunk); } -@@ -590,6 +593,7 @@ +@@ -594,6 +597,7 @@ if (list != null) { list.forEach(chunk::func_76622_b); } @@ -32,15 +32,15 @@ } return chunk; -@@ -674,6 +678,7 @@ - } +@@ -679,6 +683,7 @@ + this.field_219255_i.func_217381_Z().func_230035_c_("chunkSave"); CompoundNBT compoundnbt1 = ChunkSerializer.func_222645_a(this.field_219255_i, p_219229_1_); + net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.world.ChunkDataEvent.Save(p_219229_1_, compoundnbt1)); this.func_219100_a(chunkpos, compoundnbt1); return true; } catch (Exception exception) { -@@ -810,6 +815,7 @@ +@@ -815,6 +820,7 @@ for(int l = i - this.field_219247_A; l <= i + this.field_219247_A; ++l) { for(int k = j - this.field_219247_A; k <= j + this.field_219247_A; ++k) { ChunkPos chunkpos = new ChunkPos(l, k); diff --git a/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch b/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch index d00a51dbc..b56797eb3 100644 --- a/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch @@ -143,18 +143,18 @@ i += this.field_73012_v.nextInt(8) - this.field_73012_v.nextInt(8); j += this.field_73012_v.nextInt(8) - this.field_73012_v.nextInt(8); ++k; -@@ -583,8 +592,9 @@ - if (p_217479_1_.field_70175_ag) { +@@ -584,8 +593,9 @@ ++p_217479_1_.field_70173_aa; - this.func_217381_Z().func_194340_a(() -> { + IProfiler iprofiler = this.func_217381_Z(); + iprofiler.func_194340_a(() -> { - return Registry.field_212629_r.func_177774_c(p_217479_1_.func_200600_R()).toString(); + return p_217479_1_.func_200600_R().getRegistryName() == null ? p_217479_1_.func_200600_R().toString() : p_217479_1_.func_200600_R().getRegistryName().toString(); }); + if (p_217479_1_.canUpdate()) + iprofiler.func_230035_c_("tickNonPassenger"); p_217479_1_.func_70071_h_(); - this.func_217381_Z().func_76319_b(); - } -@@ -644,6 +654,11 @@ + iprofiler.func_76319_b(); +@@ -652,6 +662,11 @@ } public boolean func_175660_a(PlayerEntity p_175660_1_, BlockPos p_175660_2_) { @@ -166,7 +166,7 @@ return !this.field_73061_a.func_175579_a(this, p_175660_2_, p_175660_1_) && this.func_175723_af().func_177746_a(p_175660_2_); } -@@ -653,6 +668,7 @@ +@@ -661,6 +676,7 @@ } else if (this.field_72986_A.func_76067_t() == WorldType.field_180272_g) { this.field_72986_A.func_176143_a(BlockPos.field_177992_a.func_177984_a()); } else { @@ -174,7 +174,7 @@ BiomeProvider biomeprovider = this.func_72863_F().func_201711_g().func_202090_b(); List list = biomeprovider.func_76932_a(); Random random = new Random(this.func_72905_C()); -@@ -726,6 +742,7 @@ +@@ -734,6 +750,7 @@ p_217445_1_.func_200209_c(new TranslationTextComponent("menu.savingChunks")); } @@ -182,7 +182,7 @@ serverchunkprovider.func_217210_a(p_217445_2_); } } -@@ -801,7 +818,7 @@ +@@ -809,7 +826,7 @@ } } @@ -191,7 +191,7 @@ if (entityclassification != EntityClassification.MISC && this.func_72863_F().func_223435_b(entity)) { object2intmap.mergeInt(entityclassification, 1, Integer::sum); } -@@ -843,6 +860,7 @@ +@@ -851,6 +868,7 @@ } private void func_217448_f(ServerPlayerEntity p_217448_1_) { @@ -199,7 +199,7 @@ Entity entity = this.field_175741_N.get(p_217448_1_.func_110124_au()); if (entity != null) { field_147491_a.warn("Force-added player with duplicate UUID {}", (Object)p_217448_1_.func_110124_au().toString()); -@@ -867,6 +885,7 @@ +@@ -875,6 +893,7 @@ } else if (this.func_217478_l(p_72838_1_)) { return false; } else { @@ -207,7 +207,7 @@ IChunk ichunk = this.func_217353_a(MathHelper.func_76128_c(p_72838_1_.func_226277_ct_() / 16.0D), MathHelper.func_76128_c(p_72838_1_.func_226281_cx_() / 16.0D), ChunkStatus.field_222617_m, p_72838_1_.field_98038_p); if (!(ichunk instanceof Chunk)) { return false; -@@ -882,6 +901,7 @@ +@@ -890,6 +909,7 @@ if (this.func_217478_l(p_217440_1_)) { return false; } else { @@ -215,7 +215,7 @@ this.func_217465_m(p_217440_1_); return true; } -@@ -917,12 +937,17 @@ +@@ -925,12 +945,17 @@ } @@ -234,7 +234,7 @@ this.field_175741_N.remove(p_217484_1_.func_110124_au()); this.func_72863_F().func_217226_b(p_217484_1_); -@@ -936,6 +961,7 @@ +@@ -944,6 +969,7 @@ this.field_217495_I.remove(((MobEntity)p_217484_1_).func_70661_as()); } @@ -242,7 +242,7 @@ } private void func_217465_m(Entity p_217465_1_) { -@@ -956,15 +982,19 @@ +@@ -964,15 +990,19 @@ } } @@ -263,7 +263,7 @@ } } -@@ -977,8 +1007,11 @@ +@@ -985,8 +1015,11 @@ } public void func_217434_e(ServerPlayerEntity p_217434_1_) { @@ -277,7 +277,7 @@ this.func_72854_c(); } -@@ -1002,10 +1035,20 @@ +@@ -1010,10 +1043,20 @@ } public void func_184148_a(@Nullable PlayerEntity p_184148_1_, double p_184148_2_, double p_184148_4_, double p_184148_6_, SoundEvent p_184148_8_, SoundCategory p_184148_9_, float p_184148_10_, float p_184148_11_) { @@ -298,7 +298,7 @@ this.field_73061_a.func_184103_al().func_148543_a(p_217384_1_, p_217384_2_.func_226277_ct_(), p_217384_2_.func_226278_cu_(), p_217384_2_.func_226281_cx_(), p_217384_5_ > 1.0F ? (double)(16.0F * p_217384_5_) : 16.0D, this.field_73011_w.func_186058_p(), new SSpawnMovingSoundEffectPacket(p_217384_3_, p_217384_4_, p_217384_2_, p_217384_5_, p_217384_6_)); } -@@ -1041,6 +1084,7 @@ +@@ -1049,6 +1092,7 @@ public Explosion func_217401_a(@Nullable Entity p_217401_1_, @Nullable DamageSource p_217401_2_, double p_217401_3_, double p_217401_5_, double p_217401_7_, float p_217401_9_, boolean p_217401_10_, Explosion.Mode p_217401_11_) { Explosion explosion = new Explosion(this, p_217401_1_, p_217401_3_, p_217401_5_, p_217401_7_, p_217401_9_, p_217401_10_, p_217401_11_); @@ -306,7 +306,7 @@ if (p_217401_2_ != null) { explosion.func_199592_a(p_217401_2_); } -@@ -1369,4 +1413,15 @@ +@@ -1377,4 +1421,15 @@ return p_229854_1_.func_175898_b(p_229855_1_.func_180328_a()); }); } diff --git a/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch b/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch index 83666be1d..98a1e16aa 100644 --- a/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/WorldInfo.java +++ b/net/minecraft/world/storage/WorldInfo.java -@@ -349,6 +349,7 @@ +@@ -362,6 +362,7 @@ CompoundNBT compoundnbt1 = new CompoundNBT(); for(Entry entry : this.field_186348_N.entrySet()) { diff --git a/src/main/java/net/minecraftforge/client/model/BakedItemModel.java b/src/main/java/net/minecraftforge/client/model/BakedItemModel.java index 2b907310c..3d4be23ad 100644 --- a/src/main/java/net/minecraftforge/client/model/BakedItemModel.java +++ b/src/main/java/net/minecraftforge/client/model/BakedItemModel.java @@ -61,6 +61,7 @@ public class BakedItemModel implements IBakedModel @Override public boolean isAmbientOcclusion() { return true; } @Override public boolean isGui3d() { return false; } + @Override public boolean func_230044_c_() { return false; } @Override public boolean isBuiltInRenderer() { return false; } @Override public TextureAtlasSprite getParticleTexture() { return particle; } @Override public ItemOverrideList getOverrides() { return overrides; } diff --git a/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java b/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java index d6c7f99d3..9a574eadf 100644 --- a/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java +++ b/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java @@ -69,6 +69,12 @@ public abstract class BakedModelWrapper implements IBaked return originalModel.isGui3d(); } + @Override + public boolean func_230044_c_() + { + return originalModel.func_230044_c_(); + } + @Override public boolean isBuiltInRenderer() { diff --git a/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java b/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java index 896b2842c..723471bd1 100644 --- a/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java +++ b/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java @@ -106,7 +106,7 @@ public class BlockModelConfiguration implements IModelConfiguration @Override public boolean isShadedInGui() { - return owner.isGui3d(); + return owner.func_230176_c_() == BlockModel.GuiLight.SIDE; } @Override diff --git a/src/main/java/net/minecraftforge/client/model/CompositeModel.java b/src/main/java/net/minecraftforge/client/model/CompositeModel.java index 0a5e0d83d..5bfa38908 100644 --- a/src/main/java/net/minecraftforge/client/model/CompositeModel.java +++ b/src/main/java/net/minecraftforge/client/model/CompositeModel.java @@ -89,6 +89,13 @@ public class CompositeModel implements IDynamicBakedModel return isGui3d; } + @Override + public boolean func_230044_c_() + { + // TODO: Forge: Auto-generated method stub + return false; + } + @Override public boolean isBuiltInRenderer() { diff --git a/src/main/java/net/minecraftforge/client/model/FancyMissingModel.java b/src/main/java/net/minecraftforge/client/model/FancyMissingModel.java index a1a1b1759..ab2f5843a 100644 --- a/src/main/java/net/minecraftforge/client/model/FancyMissingModel.java +++ b/src/main/java/net/minecraftforge/client/model/FancyMissingModel.java @@ -177,6 +177,9 @@ final class FancyMissingModel implements IUnbakedModel @Override public boolean isGui3d() { return false; } + @Override + public boolean func_230044_c_() { return false; } // TODO: Forge: Auto-generated method stub + @Override public boolean isBuiltInRenderer() { return false; } diff --git a/src/main/java/net/minecraftforge/client/model/FluidModel.java b/src/main/java/net/minecraftforge/client/model/FluidModel.java index dfc79ab43..ade96b813 100644 --- a/src/main/java/net/minecraftforge/client/model/FluidModel.java +++ b/src/main/java/net/minecraftforge/client/model/FluidModel.java @@ -439,6 +439,13 @@ public final class FluidModel implements IModelGeometry return false; } + @Override + public boolean func_230044_c_() + { + // TODO: Forge: Auto-generated method stub + return false; + } + @Override public boolean isBuiltInRenderer() { diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java index be3cd94a3..cb122d8af 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java @@ -211,28 +211,21 @@ public class ModelLoaderRegistry } } - public static IBakedModel bakeHelper(BlockModel blockModel, ModelBakery modelBakery, BlockModel otherModel, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation) + public static IBakedModel bakeHelper(BlockModel blockModel, ModelBakery modelBakery, BlockModel otherModel, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation, boolean guiLight3d) { IBakedModel model; IModelGeometry customModel = blockModel.customData.getCustomGeometry(); IModelTransform customModelState = blockModel.customData.getCustomModelState(); if (customModelState != null) - { modelTransform = new ModelTransformComposition(customModelState, modelTransform, modelTransform.isUvLock()); - } + if (customModel != null) - { model = customModel.bake(blockModel.customData, modelBakery, spriteGetter, modelTransform, blockModel.getOverrides(modelBakery, otherModel, spriteGetter), modelLocation); - } else - { - model = blockModel.bakeVanilla(modelBakery, otherModel, spriteGetter, modelTransform, modelLocation); - } + model = blockModel.bakeVanilla(modelBakery, otherModel, spriteGetter, modelTransform, modelLocation, guiLight3d); if (customModelState != null && !model.doesHandlePerspectives()) - { model = new PerspectiveMapWrapper(model, customModelState); - } return model; } diff --git a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java index 4f19702ca..40ce492d5 100644 --- a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java @@ -164,6 +164,13 @@ public final class MultiLayerModel implements IModelGeometry return gui3d; } + @Override + public boolean func_230044_c_() + { + // TODO: Forge: Auto-generated method stub + return false; + } + @Override public boolean isBuiltInRenderer() { @@ -224,4 +231,4 @@ public final class MultiLayerModel implements IModelGeometry return new MultiLayerModel(models); } } -} \ No newline at end of file +} diff --git a/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java b/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java index 076f38b98..3f8994969 100644 --- a/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java +++ b/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java @@ -127,6 +127,7 @@ public class PerspectiveMapWrapper implements IDynamicBakedModel @Override public boolean isAmbientOcclusion() { return parent.isAmbientOcclusion(); } @Override public boolean isAmbientOcclusion(BlockState state) { return parent.isAmbientOcclusion(state); } @Override public boolean isGui3d() { return parent.isGui3d(); } + @Override public boolean func_230044_c_() { return parent.func_230044_c_(); } @Override public boolean isBuiltInRenderer() { return parent.isBuiltInRenderer(); } @Override public TextureAtlasSprite getParticleTexture() { return parent.getParticleTexture(); } @SuppressWarnings("deprecation") diff --git a/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java b/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java index 394bc68a3..5881cc146 100644 --- a/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java +++ b/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java @@ -794,6 +794,13 @@ public enum B3DLoader implements ISelectiveResourceReloadListener return gui3d; } + @Override + public boolean func_230044_c_() + { + // TODO: Forge: Auto-generated method stub + return false; + } + @Override public boolean isBuiltInRenderer() { diff --git a/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java b/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java index cb2d824bd..10ae6948c 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java @@ -125,6 +125,11 @@ public class TRSRTransformerTest { return base.isGui3d(); } + @Override + public boolean func_230044_c_() { + return base.func_230044_c_(); + } + @Override public boolean isBuiltInRenderer() { return base.isBuiltInRenderer();