diff --git a/build.gradle b/build.gradle index 34e76899d9..b3efd6b5e2 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:4.1.1' + classpath 'net.minecraftforge.gradle:ForgeGradle:4.1.+' } } diff --git a/mdk/README.txt b/mdk/README.txt index 6904b37735..344bca7513 100644 --- a/mdk/README.txt +++ b/mdk/README.txt @@ -1,53 +1,46 @@ -------------------------------------------- + Source installation information for modders ------------------------------------------- This code follows the Minecraft Forge installation methodology. It will apply some small patches to the vanilla MCP source code, giving you and it access to some of the data and functions you need to build a successful mod. -Note also that the patches are built against "unrenamed" MCP source code (aka -srgnames) - this means that you will not be able to read them directly against +Note also that the patches are built against "un-renamed" MCP source code (aka +SRG Names) - this means that you will not be able to read them directly against normal code. -Source pack installation information: - -Standalone source installation +Setup Process: ============================== -See the Forge Documentation online for more detailed instructions: -http://mcforge.readthedocs.io/en/latest/gettingstarted/ - Step 1: Open your command-line and browse to the folder where you extracted the zip file. Step 2: You're left with a choice. If you prefer to use Eclipse: -1. Run the following command: "gradlew genEclipseRuns" (./gradlew genEclipseRuns if you are on Mac/Linux) +1. Run the following command: `gradlew genEclipseRuns` (`./gradlew genEclipseRuns` if you are on Mac/Linux) 2. Open Eclipse, Import > Existing Gradle Project > Select Folder - or run "gradlew eclipse" to generate the project. -(Current Issue) -4. Open Project > Run/Debug Settings > Edit runClient and runServer > Environment -5. Edit MOD_CLASSES to show [modid]%%[Path]; 2 times rather then the generated 4. + or run `gradlew eclipse` to generate the project. If you prefer to use IntelliJ: 1. Open IDEA, and import project. 2. Select your build.gradle file and have it import. -3. Run the following command: "gradlew genIntellijRuns" (./gradlew genIntellijRuns if you are on Mac/Linux) +3. Run the following command: `gradlew genIntellijRuns` (`./gradlew genIntellijRuns` if you are on Mac/Linux) 4. Refresh the Gradle Project in IDEA if required. -If at any point you are missing libraries in your IDE, or you've run into problems you can run "gradlew --refresh-dependencies" to refresh the local cache. "gradlew clean" to reset everything {this does not affect your code} and then start the processs again. +If at any point you are missing libraries in your IDE, or you've run into problems you can +run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything +{this does not affect your code} and then start the process again. -Should it still not work, -Refer to #ForgeGradle on EsperNet for more information about the gradle environment. -or the Forge Project Discord discord.gg/UvedJ9m +Mapping Names: +============================= +By default, the MDK is configured to use the official mapping names from Mojang for methods and fields +in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this +license, if you do not agree with it you can change your mapping names to other crowdsourced names in your +build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here: +https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md -Forge source installation +Additional Resources: ========================= -MinecraftForge ships with this code and installs it as part of the forge -installation process, no further action is required on your part. - -LexManos' Install Video -======================= -https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be - -For more details update more often refer to the Forge Forums: -http://www.minecraftforge.net/forum/index.php/topic,14048.0.html +Community Documentation: http://mcforge.readthedocs.io/en/latest/gettingstarted/ +LexManos' Install Video: https://www.youtube.com/watch?v=8VEdtQLuLO0 +Forge Forum: https://forums.minecraftforge.net/ +Forge Discord: https://discord.gg/UvedJ9m \ No newline at end of file diff --git a/mdk/build.gradle b/mdk/build.gradle index ea1c619e91..802dc12e24 100644 --- a/mdk/build.gradle +++ b/mdk/build.gradle @@ -22,8 +22,14 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) minecraft { // The mappings can be changed at any time, and must be in the following format. - // snapshot_YYYYMMDD Snapshot are built nightly. - // stable_# Stables are built at the discretion of the MCP team. + // Channel: Version: + // snapshot YYYYMMDD Snapshot are built nightly. + // stable # Stables are built at the discretion of the MCP team. + // official MCVersion Official field/method names from Mojang mapping files + // + // You must be aware of the Mojang license when using the 'official' mappings. + // See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md + // // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. mappings channel: '@MAPPING_CHANNEL@', version: '@MAPPING_VERSION@' diff --git a/patches/minecraft/com/mojang/blaze3d/platform/GlStateManager.java.patch b/patches/minecraft/com/mojang/blaze3d/platform/GlStateManager.java.patch index e340b0ec2d..9a19d82d6e 100644 --- a/patches/minecraft/com/mojang/blaze3d/platform/GlStateManager.java.patch +++ b/patches/minecraft/com/mojang/blaze3d/platform/GlStateManager.java.patch @@ -1,6 +1,6 @@ --- a/com/mojang/blaze3d/platform/GlStateManager.java +++ b/com/mojang/blaze3d/platform/GlStateManager.java -@@ -572,10 +572,17 @@ +@@ -572,10 +_,17 @@ GL13.glClientActiveTexture(p_227747_0_); } diff --git a/patches/minecraft/com/mojang/blaze3d/vertex/IVertexBuilder.java.patch b/patches/minecraft/com/mojang/blaze3d/vertex/IVertexBuilder.java.patch index 76082f2391..8fa6655019 100644 --- a/patches/minecraft/com/mojang/blaze3d/vertex/IVertexBuilder.java.patch +++ b/patches/minecraft/com/mojang/blaze3d/vertex/IVertexBuilder.java.patch @@ -1,6 +1,6 @@ --- a/com/mojang/blaze3d/vertex/IVertexBuilder.java +++ b/com/mojang/blaze3d/vertex/IVertexBuilder.java -@@ -18,7 +18,7 @@ +@@ -18,7 +_,7 @@ import org.lwjgl.system.MemoryStack; @OnlyIn(Dist.CLIENT) @@ -9,7 +9,7 @@ Logger field_227884_f_ = LogManager.getLogger(); IVertexBuilder func_225582_a_(double p_225582_1_, double p_225582_3_, double p_225582_5_); -@@ -96,11 +96,12 @@ +@@ -96,11 +_,12 @@ f5 = p_227890_3_[k] * p_227890_6_; } diff --git a/patches/minecraft/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java.patch b/patches/minecraft/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java.patch index bd830ef402..c6b6802f69 100644 --- a/patches/minecraft/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java.patch +++ b/patches/minecraft/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java.patch @@ -1,6 +1,6 @@ --- a/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java +++ b/com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen.java -@@ -63,6 +63,15 @@ +@@ -63,6 +_,15 @@ })); } diff --git a/patches/minecraft/net/minecraft/advancements/Advancement.java.patch b/patches/minecraft/net/minecraft/advancements/Advancement.java.patch index fa46060931..88b3f7d0b5 100644 --- a/patches/minecraft/net/minecraft/advancements/Advancement.java.patch +++ b/patches/minecraft/net/minecraft/advancements/Advancement.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/Advancement.java +++ b/net/minecraft/advancements/Advancement.java -@@ -309,6 +309,7 @@ +@@ -309,6 +_,7 @@ } public static Advancement.Builder func_241043_a_(JsonObject p_241043_0_, ConditionArrayParser p_241043_1_) { diff --git a/patches/minecraft/net/minecraft/advancements/AdvancementList.java.patch b/patches/minecraft/net/minecraft/advancements/AdvancementList.java.patch index 28196dd644..0a7ad01d12 100644 --- a/patches/minecraft/net/minecraft/advancements/AdvancementList.java.patch +++ b/patches/minecraft/net/minecraft/advancements/AdvancementList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/AdvancementList.java +++ b/net/minecraft/advancements/AdvancementList.java -@@ -96,6 +96,7 @@ +@@ -96,6 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/advancements/AdvancementManager.java.patch b/patches/minecraft/net/minecraft/advancements/AdvancementManager.java.patch index 49c1c70e23..c75b745877 100644 --- a/patches/minecraft/net/minecraft/advancements/AdvancementManager.java.patch +++ b/patches/minecraft/net/minecraft/advancements/AdvancementManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/AdvancementManager.java +++ b/net/minecraft/advancements/AdvancementManager.java -@@ -36,6 +36,10 @@ +@@ -36,6 +_,10 @@ try { JsonObject jsonobject = JSONUtils.func_151210_l(p_240923_3_, "advancement"); Advancement.Builder advancement$builder = Advancement.Builder.func_241043_a_(jsonobject, new ConditionArrayParser(p_240923_2_, this.field_240922_d_)); diff --git a/patches/minecraft/net/minecraft/advancements/AdvancementRewards.java.patch b/patches/minecraft/net/minecraft/advancements/AdvancementRewards.java.patch index 7a3250f319..5fa77a63f6 100644 --- a/patches/minecraft/net/minecraft/advancements/AdvancementRewards.java.patch +++ b/patches/minecraft/net/minecraft/advancements/AdvancementRewards.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/AdvancementRewards.java +++ b/net/minecraft/advancements/AdvancementRewards.java -@@ -39,7 +39,7 @@ +@@ -39,7 +_,7 @@ public void func_192113_a(ServerPlayerEntity p_192113_1_) { p_192113_1_.func_195068_e(this.field_192115_b); diff --git a/patches/minecraft/net/minecraft/advancements/PlayerAdvancements.java.patch b/patches/minecraft/net/minecraft/advancements/PlayerAdvancements.java.patch index d51a334b55..5ddaa779b4 100644 --- a/patches/minecraft/net/minecraft/advancements/PlayerAdvancements.java.patch +++ b/patches/minecraft/net/minecraft/advancements/PlayerAdvancements.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/PlayerAdvancements.java +++ b/net/minecraft/advancements/PlayerAdvancements.java -@@ -159,6 +159,10 @@ +@@ -159,6 +_,10 @@ } this.func_240920_c_(p_240921_1_); @@ -11,7 +11,7 @@ this.func_192752_d(); this.func_240919_b_(p_240921_1_); } -@@ -192,6 +196,8 @@ +@@ -192,6 +_,8 @@ } public boolean func_192750_a(Advancement p_192750_1_, String p_192750_2_) { @@ -20,7 +20,7 @@ boolean flag = false; AdvancementProgress advancementprogress = this.func_192747_a(p_192750_1_); boolean flag1 = advancementprogress.func_192105_a(); -@@ -204,6 +210,7 @@ +@@ -204,6 +_,7 @@ if (p_192750_1_.func_192068_c() != null && p_192750_1_.func_192068_c().func_193220_i() && this.field_192762_j.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223620_w)) { this.field_240917_e_.func_232641_a_(new TranslationTextComponent("chat.type.advancement." + p_192750_1_.func_192068_c().func_192291_d().func_192307_a(), this.field_192762_j.func_145748_c_(), p_192750_1_.func_193123_j()), ChatType.SYSTEM, Util.field_240973_b_); } diff --git a/patches/minecraft/net/minecraft/advancements/criterion/ItemPredicate.java.patch b/patches/minecraft/net/minecraft/advancements/criterion/ItemPredicate.java.patch index 551c0f8f7b..03996a8e0c 100644 --- a/patches/minecraft/net/minecraft/advancements/criterion/ItemPredicate.java.patch +++ b/patches/minecraft/net/minecraft/advancements/criterion/ItemPredicate.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/advancements/criterion/ItemPredicate.java +++ b/net/minecraft/advancements/criterion/ItemPredicate.java -@@ -26,6 +26,8 @@ +@@ -26,6 +_,8 @@ import net.minecraft.util.registry.Registry; public class ItemPredicate { @@ -9,7 +9,7 @@ public static final ItemPredicate field_192495_a = new ItemPredicate(); @Nullable private final ITag field_200018_b; -@@ -105,6 +107,11 @@ +@@ -105,6 +_,11 @@ public static ItemPredicate func_192492_a(@Nullable JsonElement p_192492_0_) { if (p_192492_0_ != null && !p_192492_0_.isJsonNull()) { JsonObject jsonobject = JSONUtils.func_151210_l(p_192492_0_, "item"); @@ -21,18 +21,18 @@ MinMaxBounds.IntBound minmaxbounds$intbound = MinMaxBounds.IntBound.func_211344_a(jsonobject.get("count")); MinMaxBounds.IntBound minmaxbounds$intbound1 = MinMaxBounds.IntBound.func_211344_a(jsonobject.get("durability")); if (jsonobject.has("data")) { -@@ -204,6 +211,14 @@ +@@ -202,6 +_,14 @@ + } else { + return new ItemPredicate[0]; } - } - ++ } ++ + public static void register(ResourceLocation name, java.util.function.Function deserializer) { + custom_predicates.put(name, deserializer); + } + + public static Map> getPredicates() { + return unmod_predicates; -+ } -+ + } + public static class Builder { - private final List field_200312_a = Lists.newArrayList(); - private final List field_226657_b_ = Lists.newArrayList(); diff --git a/patches/minecraft/net/minecraft/block/AbstractBlock.java.patch b/patches/minecraft/net/minecraft/block/AbstractBlock.java.patch index bba64a0bf5..bec52c5243 100644 --- a/patches/minecraft/net/minecraft/block/AbstractBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/AbstractBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/AbstractBlock.java +++ b/net/minecraft/block/AbstractBlock.java -@@ -60,7 +60,8 @@ +@@ -60,7 +_,8 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -10,7 +10,7 @@ protected static final Direction[] field_212556_a = new Direction[]{Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH, Direction.DOWN, Direction.UP}; protected final Material field_149764_J; protected final boolean field_235688_at_; -@@ -87,6 +88,8 @@ +@@ -87,6 +_,8 @@ this.field_226887_g_ = p_i241196_1_.field_226894_k_; this.field_208621_p = p_i241196_1_.field_208772_j; this.field_235684_aB_ = p_i241196_1_; @@ -19,7 +19,7 @@ } @Deprecated -@@ -129,7 +132,7 @@ +@@ -129,7 +_,7 @@ @Deprecated public void func_196243_a(BlockState p_196243_1_, World p_196243_2_, BlockPos p_196243_3_, BlockState p_196243_4_, boolean p_196243_5_) { @@ -28,7 +28,7 @@ p_196243_2_.func_175713_t(p_196243_3_); } -@@ -191,7 +194,7 @@ +@@ -191,7 +_,7 @@ @Deprecated public boolean func_196253_a(BlockState p_196253_1_, BlockItemUseContext p_196253_2_) { @@ -37,7 +37,7 @@ } @Deprecated -@@ -294,8 +297,8 @@ +@@ -294,8 +_,8 @@ if (f == -1.0F) { return 0.0F; } else { @@ -48,7 +48,7 @@ } } -@@ -321,14 +324,14 @@ +@@ -321,14 +_,14 @@ return 0; } @@ -65,7 +65,7 @@ } return this.field_220085_g; -@@ -346,6 +349,14 @@ +@@ -346,6 +_,14 @@ return this.field_235684_aB_.field_235800_b_.apply(this.func_230328_p_().func_176223_P()); } @@ -80,7 +80,7 @@ public abstract static class AbstractBlockState extends StateHolder { private final int field_215708_d; private final boolean field_215709_e; -@@ -424,18 +435,24 @@ +@@ -424,18 +_,24 @@ return this.field_215709_e; } @@ -106,7 +106,7 @@ public BlockState func_185907_a(Rotation p_185907_1_) { return this.func_177230_c().func_185499_a(this.func_230340_p_(), p_185907_1_); } -@@ -802,8 +819,11 @@ +@@ -802,8 +_,11 @@ private ResourceLocation field_222381_j; private boolean field_226895_m_ = true; private boolean field_235813_o_; @@ -119,7 +119,7 @@ }; private AbstractBlock.IPositionPredicate field_235815_q_ = (p_235853_0_, p_235853_1_, p_235853_2_) -> { return p_235853_0_.func_185904_a().func_76218_k() && p_235853_0_.func_235785_r_(p_235853_1_, p_235853_2_); -@@ -863,6 +883,8 @@ +@@ -863,6 +_,8 @@ abstractblock$properties.field_226895_m_ = p_200950_0_.field_235684_aB_.field_226895_m_; abstractblock$properties.field_235813_o_ = p_200950_0_.field_235684_aB_.field_235813_o_; abstractblock$properties.field_235806_h_ = p_200950_0_.field_235684_aB_.field_235806_h_; @@ -128,7 +128,7 @@ return abstractblock$properties; } -@@ -877,6 +899,24 @@ +@@ -877,6 +_,24 @@ return this; } @@ -153,7 +153,7 @@ public AbstractBlock.Properties func_200941_a(float p_200941_1_) { this.field_200961_i = p_200941_1_; return this; -@@ -932,11 +972,17 @@ +@@ -932,9 +_,15 @@ return this; } @@ -162,13 +162,11 @@ - this.field_222381_j = p_222379_1_.func_220068_i(); + this.lootTableSupplier = () -> p_222379_1_.delegate.get().func_220068_i(); return this; - } - ++ } ++ + public AbstractBlock.Properties lootFrom(java.util.function.Supplier blockIn) { + this.lootTableSupplier = () -> blockIn.get().func_220068_i(); + return this; -+ } -+ + } + public AbstractBlock.Properties func_235859_g_() { - this.field_235813_o_ = true; - return this; diff --git a/patches/minecraft/net/minecraft/block/AbstractFireBlock.java.patch b/patches/minecraft/net/minecraft/block/AbstractFireBlock.java.patch index a91ea36d6f..58f57d3d18 100644 --- a/patches/minecraft/net/minecraft/block/AbstractFireBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/AbstractFireBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/AbstractFireBlock.java +++ b/net/minecraft/block/AbstractFireBlock.java -@@ -124,6 +124,7 @@ +@@ -124,6 +_,7 @@ if (!p_220082_4_.func_203425_a(p_220082_1_.func_177230_c())) { if (func_242649_a(p_220082_2_)) { Optional optional = PortalSize.func_242964_a(p_220082_2_, p_220082_3_, Direction.Axis.X); diff --git a/patches/minecraft/net/minecraft/block/AbstractRailBlock.java.patch b/patches/minecraft/net/minecraft/block/AbstractRailBlock.java.patch index 38d083851a..c50a167e51 100644 --- a/patches/minecraft/net/minecraft/block/AbstractRailBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/AbstractRailBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/AbstractRailBlock.java +++ b/net/minecraft/block/AbstractRailBlock.java -@@ -13,7 +13,7 @@ +@@ -13,7 +_,7 @@ import net.minecraft.world.IWorldReader; import net.minecraft.world.World; @@ -9,7 +9,7 @@ protected static final VoxelShape field_185590_a = Block.func_208617_a(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D); protected static final VoxelShape field_190959_b = Block.func_208617_a(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D); private final boolean field_196277_c; -@@ -37,6 +37,7 @@ +@@ -37,6 +_,7 @@ public VoxelShape func_220053_a(BlockState p_220053_1_, IBlockReader p_220053_2_, BlockPos p_220053_3_, ISelectionContext p_220053_4_) { RailShape railshape = p_220053_1_.func_203425_a(this) ? p_220053_1_.func_177229_b(this.func_176560_l()) : null; @@ -17,7 +17,7 @@ return railshape != null && railshape.func_208092_c() ? field_190959_b : field_185590_a; } -@@ -61,7 +62,7 @@ +@@ -61,7 +_,7 @@ public void func_220069_a(BlockState p_220069_1_, World p_220069_2_, BlockPos p_220069_3_, Block p_220069_4_, BlockPos p_220069_5_, boolean p_220069_6_) { if (!p_220069_2_.field_72995_K && p_220069_2_.func_180495_p(p_220069_3_).func_203425_a(this)) { @@ -26,7 +26,7 @@ if (func_235328_a_(p_220069_3_, p_220069_2_, railshape)) { func_220075_c(p_220069_1_, p_220069_2_, p_220069_3_); p_220069_2_.func_217377_a(p_220069_3_, p_220069_6_); -@@ -110,7 +111,7 @@ +@@ -110,7 +_,7 @@ public void func_196243_a(BlockState p_196243_1_, World p_196243_2_, BlockPos p_196243_3_, BlockState p_196243_4_, boolean p_196243_5_) { if (!p_196243_5_) { super.func_196243_a(p_196243_1_, p_196243_2_, p_196243_3_, p_196243_4_, p_196243_5_); @@ -35,7 +35,7 @@ p_196243_2_.func_195593_d(p_196243_3_.func_177984_a(), this); } -@@ -129,5 +130,20 @@ +@@ -129,5 +_,20 @@ return blockstate.func_206870_a(this.func_176560_l(), flag ? RailShape.EAST_WEST : RailShape.NORTH_SOUTH); } diff --git a/patches/minecraft/net/minecraft/block/AbstractTopPlantBlock.java.patch b/patches/minecraft/net/minecraft/block/AbstractTopPlantBlock.java.patch index 2dba29c09b..9d27b632c1 100644 --- a/patches/minecraft/net/minecraft/block/AbstractTopPlantBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/AbstractTopPlantBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/AbstractTopPlantBlock.java +++ b/net/minecraft/block/AbstractTopPlantBlock.java -@@ -32,10 +32,11 @@ +@@ -32,10 +_,11 @@ } public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { diff --git a/patches/minecraft/net/minecraft/block/BambooBlock.java.patch b/patches/minecraft/net/minecraft/block/BambooBlock.java.patch index 4c59a73e57..b680223a7c 100644 --- a/patches/minecraft/net/minecraft/block/BambooBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/BambooBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/BambooBlock.java +++ b/net/minecraft/block/BambooBlock.java -@@ -100,10 +100,11 @@ +@@ -100,10 +_,11 @@ public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { if (p_225542_1_.func_177229_b(field_220266_f) == 0) { diff --git a/patches/minecraft/net/minecraft/block/BeehiveBlock.java.patch b/patches/minecraft/net/minecraft/block/BeehiveBlock.java.patch index bff3a98842..d0e2d986cc 100644 --- a/patches/minecraft/net/minecraft/block/BeehiveBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/BeehiveBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/BeehiveBlock.java +++ b/net/minecraft/block/BeehiveBlock.java -@@ -85,6 +85,7 @@ +@@ -85,6 +_,7 @@ List list = p_226881_1_.func_217357_a(BeeEntity.class, (new AxisAlignedBB(p_226881_2_)).func_72314_b(8.0D, 6.0D, 8.0D)); if (!list.isEmpty()) { List list1 = p_226881_1_.func_217357_a(PlayerEntity.class, (new AxisAlignedBB(p_226881_2_)).func_72314_b(8.0D, 6.0D, 8.0D)); diff --git a/patches/minecraft/net/minecraft/block/Block.java.patch b/patches/minecraft/net/minecraft/block/Block.java.patch index 0d53e186cc..638108cd35 100644 --- a/patches/minecraft/net/minecraft/block/Block.java.patch +++ b/patches/minecraft/net/minecraft/block/Block.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/Block.java +++ b/net/minecraft/block/Block.java -@@ -54,9 +54,10 @@ +@@ -54,9 +_,10 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -13,7 +13,7 @@ private static final LoadingCache field_223006_b = CacheBuilder.newBuilder().maximumSize(512L).weakKeys().build(new CacheLoader() { public Boolean load(VoxelShape p_load_1_) { return !VoxelShapes.func_197879_c(VoxelShapes.func_197868_b(), p_load_1_, IBooleanFunction.field_223236_g_); -@@ -151,6 +152,8 @@ +@@ -151,6 +_,8 @@ super(p_i48440_1_); StateContainer.Builder builder = new StateContainer.Builder<>(this); this.func_206840_a(builder); @@ -22,7 +22,7 @@ this.field_176227_L = builder.func_235882_a_(Block::func_176223_P, BlockState::new); this.func_180632_j(this.field_176227_L.func_177621_b()); } -@@ -261,7 +264,7 @@ +@@ -261,7 +_,7 @@ } public static void func_180635_a(World p_180635_0_, BlockPos p_180635_1_, ItemStack p_180635_2_) { @@ -31,7 +31,7 @@ float f = 0.5F; double d0 = (double)(p_180635_0_.field_73012_v.nextFloat() * 0.5F) + 0.25D; double d1 = (double)(p_180635_0_.field_73012_v.nextFloat() * 0.5F) + 0.25D; -@@ -273,7 +276,7 @@ +@@ -273,7 +_,7 @@ } public void func_180637_b(ServerWorld p_180637_1_, BlockPos p_180637_2_, int p_180637_3_) { @@ -40,7 +40,7 @@ while(p_180637_3_ > 0) { int i = ExperienceOrbEntity.func_70527_a(p_180637_3_); p_180637_3_ -= i; -@@ -283,6 +286,7 @@ +@@ -283,6 +_,7 @@ } @@ -48,7 +48,7 @@ public float func_149638_a() { return this.field_235689_au_; } -@@ -332,6 +336,7 @@ +@@ -332,6 +_,7 @@ p_176216_2_.func_213317_d(p_176216_2_.func_213322_ci().func_216372_d(1.0D, 0.0D, 1.0D)); } @@ -56,7 +56,7 @@ public ItemStack func_185473_a(IBlockReader p_185473_1_, BlockPos p_185473_2_, BlockState p_185473_3_) { return new ItemStack(this); } -@@ -363,6 +368,7 @@ +@@ -363,6 +_,7 @@ public void func_176224_k(World p_176224_1_, BlockPos p_176224_2_) { } @@ -64,7 +64,7 @@ public boolean func_149659_a(Explosion p_149659_1_) { return true; } -@@ -382,6 +388,7 @@ +@@ -382,6 +_,7 @@ return this.field_196275_y; } @@ -72,7 +72,7 @@ public SoundType func_220072_p(BlockState p_220072_1_) { return this.field_149762_H; } -@@ -391,7 +398,7 @@ +@@ -391,7 +_,7 @@ this.field_220086_i = Item.func_150898_a(this); } @@ -81,7 +81,7 @@ } public boolean func_208619_r() { -@@ -399,7 +406,7 @@ +@@ -399,7 +_,7 @@ } public String toString() { @@ -90,10 +90,11 @@ } @OnlyIn(Dist.CLIENT) -@@ -410,6 +417,78 @@ +@@ -409,6 +_,78 @@ + protected Block func_230328_p_() { return this; } - ++ + /* ======================================== FORGE START =====================================*/ + protected Random RANDOM = new Random(); + private net.minecraftforge.common.ToolType harvestTool; @@ -165,7 +166,6 @@ + }); + } + /* ========================================= FORGE END ======================================*/ -+ + public static final class RenderSideCacheKey { private final BlockState field_212164_a; - private final BlockState field_212165_b; diff --git a/patches/minecraft/net/minecraft/block/BlockState.java.patch b/patches/minecraft/net/minecraft/block/BlockState.java.patch index 815bf99243..7a47526268 100644 --- a/patches/minecraft/net/minecraft/block/BlockState.java.patch +++ b/patches/minecraft/net/minecraft/block/BlockState.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/BlockState.java +++ b/net/minecraft/block/BlockState.java -@@ -6,7 +6,7 @@ +@@ -6,7 +_,7 @@ import net.minecraft.state.Property; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/block/Blocks.java.patch b/patches/minecraft/net/minecraft/block/Blocks.java.patch index ad2a1c6e85..fce20cf8b0 100644 --- a/patches/minecraft/net/minecraft/block/Blocks.java.patch +++ b/patches/minecraft/net/minecraft/block/Blocks.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/Blocks.java +++ b/net/minecraft/block/Blocks.java -@@ -25,6 +25,7 @@ +@@ -25,6 +_,7 @@ import net.minecraft.world.IBlockReader; import net.minecraft.world.gen.feature.Features; @@ -8,7 +8,7 @@ public class Blocks { public static final Block field_150350_a = func_222382_a("air", new AirBlock(AbstractBlock.Properties.func_200945_a(Material.field_151579_a).func_200942_a().func_222380_e().func_235859_g_())); public static final Block field_150348_b = func_222382_a("stone", new Block(AbstractBlock.Properties.func_200949_a(Material.field_151576_e, MaterialColor.field_151665_m).func_235861_h_().func_200948_a(1.5F, 6.0F))); -@@ -119,7 +120,7 @@ +@@ -119,7 +_,7 @@ public static final Block field_196601_az = func_222382_a("green_bed", func_235422_a_(DyeColor.GREEN)); public static final Block field_196550_aA = func_222382_a("red_bed", func_235422_a_(DyeColor.RED)); public static final Block field_196551_aB = func_222382_a("black_bed", func_235422_a_(DyeColor.BLACK)); @@ -17,10 +17,11 @@ public static final Block field_150319_E = func_222382_a("detector_rail", new DetectorRailBlock(AbstractBlock.Properties.func_200945_a(Material.field_151594_q).func_200942_a().func_200943_b(0.7F).func_200947_a(SoundType.field_185852_e))); public static final Block field_150320_F = func_222382_a("sticky_piston", func_235432_a_(true)); public static final Block field_196553_aF = func_222382_a("cobweb", new WebBlock(AbstractBlock.Properties.func_200945_a(Material.field_151569_G).func_200942_a().func_235861_h_().func_200943_b(4.0F))); -@@ -937,15 +938,4 @@ +@@ -936,16 +_,5 @@ + public static void func_235419_a_() { Block.field_176229_d.forEach(AbstractBlock.AbstractBlockState::func_215692_c); - } +- } - - static { - for(Block block : Registry.field_212618_g) { @@ -31,5 +32,5 @@ - block.func_220068_i(); - } - -- } + } } diff --git a/patches/minecraft/net/minecraft/block/BushBlock.java.patch b/patches/minecraft/net/minecraft/block/BushBlock.java.patch index 180530b113..f4d73b295b 100644 --- a/patches/minecraft/net/minecraft/block/BushBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/BushBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/BushBlock.java +++ b/net/minecraft/block/BushBlock.java -@@ -7,7 +7,7 @@ +@@ -7,7 +_,7 @@ import net.minecraft.world.IWorld; import net.minecraft.world.IWorldReader; @@ -9,7 +9,7 @@ public BushBlock(AbstractBlock.Properties p_i48437_1_) { super(p_i48437_1_); } -@@ -22,6 +22,8 @@ +@@ -22,6 +_,8 @@ public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) { BlockPos blockpos = p_196260_3_.func_177977_b(); @@ -18,15 +18,16 @@ return this.func_200014_a_(p_196260_2_.func_180495_p(blockpos), p_196260_2_, blockpos); } -@@ -32,4 +34,11 @@ +@@ -31,5 +_,12 @@ + public boolean func_196266_a(BlockState p_196266_1_, IBlockReader p_196266_2_, BlockPos p_196266_3_, PathType p_196266_4_) { return p_196266_4_ == PathType.AIR && !this.field_235688_at_ ? true : super.func_196266_a(p_196266_1_, p_196266_2_, p_196266_3_, p_196266_4_); - } ++ } + + @Override + public BlockState getPlant(IBlockReader world, BlockPos pos) { + BlockState state = world.func_180495_p(pos); + if (state.func_177230_c() != this) return func_176223_P(); + return state; -+ } + } } diff --git a/patches/minecraft/net/minecraft/block/CactusBlock.java.patch b/patches/minecraft/net/minecraft/block/CactusBlock.java.patch index c1185a73e9..1c993d30cc 100644 --- a/patches/minecraft/net/minecraft/block/CactusBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/CactusBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/CactusBlock.java +++ b/net/minecraft/block/CactusBlock.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; @@ -9,7 +9,7 @@ public static final IntegerProperty field_176587_a = BlockStateProperties.field_208171_X; protected static final VoxelShape field_196400_b = Block.func_208617_a(1.0D, 0.0D, 1.0D, 15.0D, 15.0D, 15.0D); protected static final VoxelShape field_196401_c = Block.func_208617_a(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); -@@ -30,6 +30,7 @@ +@@ -30,6 +_,7 @@ } public void func_225534_a_(BlockState p_225534_1_, ServerWorld p_225534_2_, BlockPos p_225534_3_, Random p_225534_4_) { @@ -17,7 +17,7 @@ if (!p_225534_1_.func_196955_c(p_225534_2_, p_225534_3_)) { p_225534_2_.func_175655_b(p_225534_3_, true); } -@@ -45,6 +46,7 @@ +@@ -45,6 +_,7 @@ if (i < 3) { int j = p_225542_1_.func_177229_b(field_176587_a); @@ -25,7 +25,7 @@ if (j == 15) { p_225542_2_.func_175656_a(blockpos, this.func_176223_P()); BlockState blockstate = p_225542_1_.func_206870_a(field_176587_a, Integer.valueOf(0)); -@@ -53,7 +55,8 @@ +@@ -53,7 +_,8 @@ } else { p_225542_2_.func_180501_a(p_225542_3_, p_225542_1_.func_206870_a(field_176587_a, Integer.valueOf(j + 1)), 4); } @@ -35,7 +35,7 @@ } } } -@@ -84,7 +87,7 @@ +@@ -84,7 +_,7 @@ } BlockState blockstate1 = p_196260_2_.func_180495_p(p_196260_3_.func_177977_b()); @@ -44,10 +44,11 @@ } public void func_196262_a(BlockState p_196262_1_, World p_196262_2_, BlockPos p_196262_3_, Entity p_196262_4_) { -@@ -98,4 +101,14 @@ +@@ -97,5 +_,15 @@ + public boolean func_196266_a(BlockState p_196266_1_, IBlockReader p_196266_2_, BlockPos p_196266_3_, PathType p_196266_4_) { return false; - } ++ } + + @Override + public net.minecraftforge.common.PlantType getPlantType(IBlockReader world, BlockPos pos) { @@ -57,5 +58,5 @@ + @Override + public BlockState getPlant(IBlockReader world, BlockPos pos) { + return func_176223_P(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/block/CampfireBlock.java.patch b/patches/minecraft/net/minecraft/block/CampfireBlock.java.patch index b9d24cef82..b7bf5c64a7 100644 --- a/patches/minecraft/net/minecraft/block/CampfireBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/CampfireBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/CampfireBlock.java +++ b/net/minecraft/block/CampfireBlock.java -@@ -181,7 +181,7 @@ +@@ -181,7 +_,7 @@ public void func_220066_a(World p_220066_1_, BlockState p_220066_2_, BlockRayTraceResult p_220066_3_, ProjectileEntity p_220066_4_) { if (!p_220066_1_.field_72995_K && p_220066_4_.func_70027_ad()) { Entity entity = p_220066_4_.func_234616_v_(); @@ -9,7 +9,7 @@ if (flag && !p_220066_2_.func_177229_b(field_220101_b) && !p_220066_2_.func_177229_b(field_220103_d)) { BlockPos blockpos = p_220066_3_.func_216350_a(); p_220066_1_.func_180501_a(blockpos, p_220066_2_.func_206870_a(BlockStateProperties.field_208190_q, Boolean.valueOf(true)), 11); -@@ -208,7 +208,7 @@ +@@ -208,7 +_,7 @@ return true; } diff --git a/patches/minecraft/net/minecraft/block/ChorusFlowerBlock.java.patch b/patches/minecraft/net/minecraft/block/ChorusFlowerBlock.java.patch index de9481a37d..38f3da3d3f 100644 --- a/patches/minecraft/net/minecraft/block/ChorusFlowerBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/ChorusFlowerBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/ChorusFlowerBlock.java +++ b/net/minecraft/block/ChorusFlowerBlock.java -@@ -40,7 +40,7 @@ +@@ -40,7 +_,7 @@ BlockPos blockpos = p_225542_3_.func_177984_a(); if (p_225542_2_.func_175623_d(blockpos) && blockpos.func_177956_o() < 256) { int i = p_225542_1_.func_177229_b(field_185607_a); @@ -9,7 +9,7 @@ boolean flag = false; boolean flag1 = false; BlockState blockstate = p_225542_2_.func_180495_p(p_225542_3_.func_177977_b()); -@@ -65,7 +65,7 @@ +@@ -65,7 +_,7 @@ if (j < 2 || j <= p_225542_4_.nextInt(flag1 ? 5 : 4)) { flag = true; } @@ -18,7 +18,7 @@ flag = true; } -@@ -97,7 +97,7 @@ +@@ -97,7 +_,7 @@ } else { this.func_185605_c(p_225542_2_, p_225542_3_); } @@ -27,7 +27,7 @@ } } } -@@ -133,7 +133,7 @@ +@@ -133,7 +_,7 @@ public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) { BlockState blockstate = p_196260_2_.func_180495_p(p_196260_3_.func_177977_b()); if (blockstate.func_177230_c() != this.field_196405_b && !blockstate.func_203425_a(Blocks.field_150377_bs)) { @@ -36,7 +36,7 @@ return false; } else { boolean flag = false; -@@ -146,7 +146,7 @@ +@@ -146,7 +_,7 @@ } flag = true; diff --git a/patches/minecraft/net/minecraft/block/CocoaBlock.java.patch b/patches/minecraft/net/minecraft/block/CocoaBlock.java.patch index 74fe292c0a..a56342d3a1 100644 --- a/patches/minecraft/net/minecraft/block/CocoaBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/CocoaBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/CocoaBlock.java +++ b/net/minecraft/block/CocoaBlock.java -@@ -35,10 +35,11 @@ +@@ -35,10 +_,11 @@ } public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { diff --git a/patches/minecraft/net/minecraft/block/ComparatorBlock.java.patch b/patches/minecraft/net/minecraft/block/ComparatorBlock.java.patch index 9deaf6a719..1bb962f419 100644 --- a/patches/minecraft/net/minecraft/block/ComparatorBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/ComparatorBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/ComparatorBlock.java +++ b/net/minecraft/block/ComparatorBlock.java -@@ -154,4 +154,16 @@ +@@ -154,4 +_,16 @@ protected void func_206840_a(StateContainer.Builder p_206840_1_) { p_206840_1_.func_206894_a(field_185512_D, field_176463_b, field_196348_c); } diff --git a/patches/minecraft/net/minecraft/block/CropsBlock.java.patch b/patches/minecraft/net/minecraft/block/CropsBlock.java.patch index 241d0c09b5..70aa23d4b0 100644 --- a/patches/minecraft/net/minecraft/block/CropsBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/CropsBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/CropsBlock.java +++ b/net/minecraft/block/CropsBlock.java -@@ -61,12 +61,14 @@ +@@ -61,12 +_,14 @@ } public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { @@ -16,7 +16,7 @@ } } } -@@ -95,9 +97,9 @@ +@@ -95,9 +_,9 @@ for(int j = -1; j <= 1; ++j) { float f1 = 0.0F; BlockState blockstate = p_180672_1_.func_180495_p(blockpos.func_177982_a(i, 0, j)); @@ -28,7 +28,7 @@ f1 = 3.0F; } } -@@ -133,7 +135,7 @@ +@@ -133,7 +_,7 @@ } public void func_196262_a(BlockState p_196262_1_, World p_196262_2_, BlockPos p_196262_3_, Entity p_196262_4_) { diff --git a/patches/minecraft/net/minecraft/block/DeadBushBlock.java.patch b/patches/minecraft/net/minecraft/block/DeadBushBlock.java.patch index 0e82c93b5e..f253ba929d 100644 --- a/patches/minecraft/net/minecraft/block/DeadBushBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/DeadBushBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/DeadBushBlock.java +++ b/net/minecraft/block/DeadBushBlock.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; diff --git a/patches/minecraft/net/minecraft/block/DetectorRailBlock.java.patch b/patches/minecraft/net/minecraft/block/DetectorRailBlock.java.patch index 50324f8f70..5e38a2d969 100644 --- a/patches/minecraft/net/minecraft/block/DetectorRailBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/DetectorRailBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/DetectorRailBlock.java +++ b/net/minecraft/block/DetectorRailBlock.java -@@ -131,6 +131,8 @@ +@@ -131,6 +_,8 @@ } List list1 = this.func_200878_a(p_180641_2_, p_180641_3_, AbstractMinecartEntity.class, EntityPredicates.field_96566_b); diff --git a/patches/minecraft/net/minecraft/block/DoublePlantBlock.java.patch b/patches/minecraft/net/minecraft/block/DoublePlantBlock.java.patch index d21129c045..88103c304b 100644 --- a/patches/minecraft/net/minecraft/block/DoublePlantBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/DoublePlantBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/DoublePlantBlock.java +++ b/net/minecraft/block/DoublePlantBlock.java -@@ -51,6 +51,7 @@ +@@ -51,6 +_,7 @@ return super.func_196260_a(p_196260_1_, p_196260_2_, p_196260_3_); } else { BlockState blockstate = p_196260_2_.func_180495_p(p_196260_3_.func_177977_b()); diff --git a/patches/minecraft/net/minecraft/block/DropperBlock.java.patch b/patches/minecraft/net/minecraft/block/DropperBlock.java.patch index 7271e5e1cd..7d70f11c19 100644 --- a/patches/minecraft/net/minecraft/block/DropperBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/DropperBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/DropperBlock.java +++ b/net/minecraft/block/DropperBlock.java -@@ -37,7 +37,7 @@ +@@ -37,7 +_,7 @@ p_176439_1_.func_217379_c(1001, p_176439_2_, 0); } else { ItemStack itemstack = dispensertileentity.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/block/EnchantingTableBlock.java.patch b/patches/minecraft/net/minecraft/block/EnchantingTableBlock.java.patch index 7871f227fd..ca4416909c 100644 --- a/patches/minecraft/net/minecraft/block/EnchantingTableBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/EnchantingTableBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/EnchantingTableBlock.java +++ b/net/minecraft/block/EnchantingTableBlock.java -@@ -54,7 +54,7 @@ +@@ -54,7 +_,7 @@ if (p_180655_4_.nextInt(16) == 0) { for(int k = 0; k <= 1; ++k) { BlockPos blockpos = p_180655_3_.func_177982_a(i, k, j); diff --git a/patches/minecraft/net/minecraft/block/FallingBlock.java.patch b/patches/minecraft/net/minecraft/block/FallingBlock.java.patch index 698795bffc..858209d852 100644 --- a/patches/minecraft/net/minecraft/block/FallingBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/FallingBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/FallingBlock.java +++ b/net/minecraft/block/FallingBlock.java -@@ -30,7 +30,7 @@ +@@ -30,7 +_,7 @@ } public void func_225534_a_(BlockState p_225534_1_, ServerWorld p_225534_2_, BlockPos p_225534_3_, Random p_225534_4_) { @@ -9,7 +9,7 @@ FallingBlockEntity fallingblockentity = new FallingBlockEntity(p_225534_2_, (double)p_225534_3_.func_177958_n() + 0.5D, (double)p_225534_3_.func_177956_o(), (double)p_225534_3_.func_177952_p() + 0.5D, p_225534_2_.func_180495_p(p_225534_3_)); this.func_149829_a(fallingblockentity); p_225534_2_.func_217376_c(fallingblockentity); -@@ -59,7 +59,7 @@ +@@ -59,7 +_,7 @@ public void func_180655_c(BlockState p_180655_1_, World p_180655_2_, BlockPos p_180655_3_, Random p_180655_4_) { if (p_180655_4_.nextInt(16) == 0) { BlockPos blockpos = p_180655_3_.func_177977_b(); diff --git a/patches/minecraft/net/minecraft/block/FarmlandBlock.java.patch b/patches/minecraft/net/minecraft/block/FarmlandBlock.java.patch index 2181f271d5..cf439f5941 100644 --- a/patches/minecraft/net/minecraft/block/FarmlandBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/FarmlandBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/FarmlandBlock.java +++ b/net/minecraft/block/FarmlandBlock.java -@@ -77,7 +77,7 @@ +@@ -77,7 +_,7 @@ } public void func_180658_a(World p_180658_1_, BlockPos p_180658_2_, Entity p_180658_3_, float p_180658_4_) { @@ -9,7 +9,7 @@ func_199610_d(p_180658_1_.func_180495_p(p_180658_2_), p_180658_1_, p_180658_2_); } -@@ -88,9 +88,10 @@ +@@ -88,9 +_,10 @@ p_199610_1_.func_175656_a(p_199610_2_, func_199601_a(p_199610_0_, Blocks.field_150346_d.func_176223_P(), p_199610_1_, p_199610_2_)); } @@ -23,7 +23,7 @@ } private static boolean func_176530_e(IWorldReader p_176530_0_, BlockPos p_176530_1_) { -@@ -100,7 +101,7 @@ +@@ -100,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/block/FireBlock.java.patch b/patches/minecraft/net/minecraft/block/FireBlock.java.patch index 2139ce9802..f37807a2a3 100644 --- a/patches/minecraft/net/minecraft/block/FireBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/FireBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/FireBlock.java +++ b/net/minecraft/block/FireBlock.java -@@ -92,13 +92,13 @@ +@@ -92,13 +_,13 @@ protected BlockState func_196448_a(IBlockReader p_196448_1_, BlockPos p_196448_2_) { BlockPos blockpos = p_196448_2_.func_177977_b(); BlockState blockstate = p_196448_1_.func_180495_p(blockpos); @@ -16,7 +16,7 @@ } } -@@ -121,7 +121,7 @@ +@@ -121,7 +_,7 @@ } BlockState blockstate = p_225534_2_.func_180495_p(p_225534_3_.func_177977_b()); @@ -25,7 +25,7 @@ int i = p_225534_1_.func_177229_b(field_176543_a); if (!flag && p_225534_2_.func_72896_J() && this.func_176537_d(p_225534_2_, p_225534_3_) && p_225534_4_.nextFloat() < 0.2F + (float)i * 0.03F) { p_225534_2_.func_217377_a(p_225534_3_, false); -@@ -142,7 +142,7 @@ +@@ -142,7 +_,7 @@ return; } @@ -34,7 +34,7 @@ p_225534_2_.func_217377_a(p_225534_3_, false); return; } -@@ -150,12 +150,12 @@ +@@ -150,12 +_,12 @@ boolean flag1 = p_225534_2_.func_180502_D(p_225534_3_); int k = flag1 ? -50 : 0; @@ -53,7 +53,7 @@ BlockPos.Mutable blockpos$mutable = new BlockPos.Mutable(); for(int l = -1; l <= 1; ++l) { -@@ -193,16 +193,18 @@ +@@ -193,16 +_,18 @@ return p_176537_1_.func_175727_C(p_176537_2_) || p_176537_1_.func_175727_C(p_176537_2_.func_177976_e()) || p_176537_1_.func_175727_C(p_176537_2_.func_177974_f()) || p_176537_1_.func_175727_C(p_176537_2_.func_177978_c()) || p_176537_1_.func_175727_C(p_176537_2_.func_177968_d()); } @@ -74,7 +74,7 @@ if (p_176536_4_.nextInt(p_176536_3_) < i) { BlockState blockstate = p_176536_1_.func_180495_p(p_176536_2_); if (p_176536_4_.nextInt(p_176536_5_ + 10) < 5 && !p_176536_1_.func_175727_C(p_176536_2_)) { -@@ -212,11 +214,7 @@ +@@ -212,11 +_,7 @@ p_176536_1_.func_217377_a(p_176536_2_, false); } @@ -87,7 +87,7 @@ } } -@@ -228,7 +226,7 @@ +@@ -228,7 +_,7 @@ private boolean func_196447_a(IBlockReader p_196447_1_, BlockPos p_196447_2_) { for(Direction direction : Direction.values()) { @@ -96,7 +96,7 @@ return true; } } -@@ -244,13 +242,14 @@ +@@ -244,13 +_,14 @@ for(Direction direction : Direction.values()) { BlockState blockstate = p_176538_1_.func_180495_p(p_176538_2_.func_177972_a(direction)); @@ -112,15 +112,15 @@ protected boolean func_196446_i(BlockState p_196446_1_) { return this.func_220275_r(p_196446_1_) > 0; } -@@ -269,10 +268,23 @@ +@@ -269,8 +_,21 @@ } private void func_180686_a(Block p_180686_1_, int p_180686_2_, int p_180686_3_) { + if (p_180686_1_ == Blocks.field_150350_a) throw new IllegalArgumentException("Tried to set air on fire... This is bad."); this.field_149849_a.put(p_180686_1_, p_180686_2_); this.field_149848_b.put(p_180686_1_, p_180686_3_); - } - ++ } ++ + /** + * Side sensitive version that calls the block function. + * @@ -131,8 +131,6 @@ + */ + public boolean canCatchFire(IBlockReader world, BlockPos pos, Direction face) { + return world.func_180495_p(pos).isFlammable(world, pos, face); -+ } -+ + } + public static void func_149843_e() { - FireBlock fireblock = (FireBlock)Blocks.field_150480_ab; - fireblock.func_180686_a(Blocks.field_196662_n, 5, 20); diff --git a/patches/minecraft/net/minecraft/block/FlowerPotBlock.java.patch b/patches/minecraft/net/minecraft/block/FlowerPotBlock.java.patch index 6be7f074f7..e4d035b267 100644 --- a/patches/minecraft/net/minecraft/block/FlowerPotBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/FlowerPotBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/FlowerPotBlock.java +++ b/net/minecraft/block/FlowerPotBlock.java -@@ -24,12 +24,35 @@ +@@ -24,10 +_,33 @@ protected static final VoxelShape field_196450_a = Block.func_208617_a(5.0D, 0.0D, 5.0D, 11.0D, 6.0D, 11.0D); private final Block field_196452_c; @@ -13,8 +13,8 @@ + if (Blocks.field_150457_bL != null) { + ((FlowerPotBlock)Blocks.field_150457_bL).addPlant(p_i48395_1_.getRegistryName(), () -> this); + } - } - ++ } ++ + /** + * For mod use, eliminates the need to extend this class, and prevents modded + * flower pots from altering vanilla behavior. @@ -34,12 +34,10 @@ + this.fullPots = java.util.Collections.emptyMap(); + this.emptyPot = emptyPot; + } -+ } -+ - public VoxelShape func_220053_a(BlockState p_220053_1_, IBlockReader p_220053_2_, BlockPos p_220053_3_, ISelectionContext p_220053_4_) { - return field_196450_a; } -@@ -41,7 +64,7 @@ + + public VoxelShape func_220053_a(BlockState p_220053_1_, IBlockReader p_220053_2_, BlockPos p_220053_3_, ISelectionContext p_220053_4_) { +@@ -41,7 +_,7 @@ public ActionResultType func_225533_a_(BlockState p_225533_1_, World p_225533_2_, BlockPos p_225533_3_, PlayerEntity p_225533_4_, Hand p_225533_5_, BlockRayTraceResult p_225533_6_) { ItemStack itemstack = p_225533_4_.func_184586_b(p_225533_5_); Item item = itemstack.func_77973_b(); @@ -48,7 +46,7 @@ boolean flag = block == Blocks.field_150350_a; boolean flag1 = this.field_196452_c == Blocks.field_150350_a; if (flag != flag1) { -@@ -59,7 +82,7 @@ +@@ -59,7 +_,7 @@ p_225533_4_.func_71019_a(itemstack1, false); } @@ -57,7 +55,7 @@ } return ActionResultType.func_233537_a_(p_225533_2_.field_72995_K); -@@ -77,10 +100,27 @@ +@@ -77,10 +_,27 @@ } public Block func_220276_d() { diff --git a/patches/minecraft/net/minecraft/block/FlowingFluidBlock.java.patch b/patches/minecraft/net/minecraft/block/FlowingFluidBlock.java.patch index fb2b960d2d..dac95dab33 100644 --- a/patches/minecraft/net/minecraft/block/FlowingFluidBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/FlowingFluidBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/FlowingFluidBlock.java +++ b/net/minecraft/block/FlowingFluidBlock.java -@@ -29,10 +29,11 @@ +@@ -29,10 +_,11 @@ public class FlowingFluidBlock extends Block implements IBucketPickupHandler { public static final IntegerProperty field_176367_b = BlockStateProperties.field_208132_ag; @@ -13,14 +13,14 @@ public FlowingFluidBlock(FlowingFluid p_i49014_1_, AbstractBlock.Properties p_i49014_2_) { super(p_i49014_2_); this.field_204517_c = p_i49014_1_; -@@ -45,8 +46,21 @@ +@@ -45,6 +_,19 @@ this.field_212565_c.add(p_i49014_1_.func_207207_a(8, true)); this.func_180632_j(this.field_176227_L.func_177621_b().func_206870_a(field_176367_b, Integer.valueOf(0))); + fluidStateCacheInitialized = true; + supplier = p_i49014_1_.delegate; - } - ++ } ++ + /** + * @param supplier A fluid supplier such as {@link net.minecraftforge.fml.RegistryObject} + */ @@ -30,12 +30,10 @@ + this.field_212565_c = Lists.newArrayList(); + this.func_180632_j(this.field_176227_L.func_177621_b().func_206870_a(field_176367_b, Integer.valueOf(0))); + this.supplier = supplier; -+ } -+ - public VoxelShape func_220071_b(BlockState p_220071_1_, IBlockReader p_220071_2_, BlockPos p_220071_3_, ISelectionContext p_220071_4_) { - return p_220071_4_.func_216378_a(field_235510_c_, p_220071_3_, true) && p_220071_1_.func_177229_b(field_176367_b) == 0 && p_220071_4_.func_230426_a_(p_220071_2_.func_204610_c(p_220071_3_.func_177984_a()), this.field_204517_c) ? field_235510_c_ : VoxelShapes.func_197880_a(); } -@@ -69,6 +83,7 @@ + + public VoxelShape func_220071_b(BlockState p_220071_1_, IBlockReader p_220071_2_, BlockPos p_220071_3_, ISelectionContext p_220071_4_) { +@@ -69,6 +_,7 @@ public FluidState func_204507_t(BlockState p_204507_1_) { int i = p_204507_1_.func_177229_b(field_176367_b); @@ -43,7 +41,7 @@ return this.field_212565_c.get(Math.min(i, 8)); } -@@ -120,13 +135,13 @@ +@@ -120,13 +_,13 @@ BlockPos blockpos = p_204515_2_.func_177972_a(direction); if (p_204515_1_.func_204610_c(blockpos).func_206884_a(FluidTags.field_206959_a)) { Block block = p_204515_1_.func_204610_c(p_204515_2_).func_206889_d() ? Blocks.field_150343_Z : Blocks.field_150347_e; @@ -59,10 +57,12 @@ this.func_180688_d(p_204515_1_, p_204515_2_); return false; } -@@ -153,4 +168,23 @@ +@@ -151,6 +_,25 @@ + return this.field_204517_c; + } else { return Fluids.field_204541_a; - } - } ++ } ++ } + + // Forge start + private final java.util.function.Supplier supplier; @@ -80,6 +80,6 @@ + + this.field_212565_c.add(getFluid().func_207207_a(8, true)); + fluidStateCacheInitialized = true; -+ } -+ } + } + } } diff --git a/patches/minecraft/net/minecraft/block/ITileEntityProvider.java.patch b/patches/minecraft/net/minecraft/block/ITileEntityProvider.java.patch index bd96db3c64..cecbfff826 100644 --- a/patches/minecraft/net/minecraft/block/ITileEntityProvider.java.patch +++ b/patches/minecraft/net/minecraft/block/ITileEntityProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/ITileEntityProvider.java +++ b/net/minecraft/block/ITileEntityProvider.java -@@ -4,6 +4,7 @@ +@@ -4,6 +_,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockReader; diff --git a/patches/minecraft/net/minecraft/block/LeavesBlock.java.patch b/patches/minecraft/net/minecraft/block/LeavesBlock.java.patch index 03ab0bb12b..b20f63a617 100644 --- a/patches/minecraft/net/minecraft/block/LeavesBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/LeavesBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/LeavesBlock.java +++ b/net/minecraft/block/LeavesBlock.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/block/MushroomBlock.java.patch b/patches/minecraft/net/minecraft/block/MushroomBlock.java.patch index 83409f609b..a01a838815 100644 --- a/patches/minecraft/net/minecraft/block/MushroomBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/MushroomBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/MushroomBlock.java +++ b/net/minecraft/block/MushroomBlock.java -@@ -64,7 +64,7 @@ +@@ -64,7 +_,7 @@ if (blockstate.func_235714_a_(BlockTags.field_242171_aD)) { return true; } else { diff --git a/patches/minecraft/net/minecraft/block/NetherWartBlock.java.patch b/patches/minecraft/net/minecraft/block/NetherWartBlock.java.patch index 34487d9ae5..f07b5ea7b2 100644 --- a/patches/minecraft/net/minecraft/block/NetherWartBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/NetherWartBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/NetherWartBlock.java +++ b/net/minecraft/block/NetherWartBlock.java -@@ -35,9 +35,10 @@ +@@ -35,9 +_,10 @@ public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { int i = p_225542_1_.func_177229_b(field_176486_a); diff --git a/patches/minecraft/net/minecraft/block/NoteBlock.java.patch b/patches/minecraft/net/minecraft/block/NoteBlock.java.patch index ce9d856634..79ada4da25 100644 --- a/patches/minecraft/net/minecraft/block/NoteBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/NoteBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/NoteBlock.java +++ b/net/minecraft/block/NoteBlock.java -@@ -50,7 +50,7 @@ +@@ -50,7 +_,7 @@ } private void func_196482_a(World p_196482_1_, BlockPos p_196482_2_) { @@ -9,7 +9,7 @@ p_196482_1_.func_175641_c(p_196482_2_, this, 0, 0); } -@@ -60,7 +60,9 @@ +@@ -60,7 +_,9 @@ if (p_225533_2_.field_72995_K) { return ActionResultType.SUCCESS; } else { @@ -20,7 +20,7 @@ p_225533_2_.func_180501_a(p_225533_3_, p_225533_1_, 3); this.func_196482_a(p_225533_2_, p_225533_3_); p_225533_4_.func_195066_a(Stats.field_188087_U); -@@ -76,6 +78,9 @@ +@@ -76,6 +_,9 @@ } public boolean func_189539_a(BlockState p_189539_1_, World p_189539_2_, BlockPos p_189539_3_, int p_189539_4_, int p_189539_5_) { diff --git a/patches/minecraft/net/minecraft/block/OreBlock.java.patch b/patches/minecraft/net/minecraft/block/OreBlock.java.patch index 920cec2c5c..9e831cc6f0 100644 --- a/patches/minecraft/net/minecraft/block/OreBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/OreBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/OreBlock.java +++ b/net/minecraft/block/OreBlock.java -@@ -31,12 +31,10 @@ +@@ -31,12 +_,10 @@ public void func_220062_a(BlockState p_220062_1_, ServerWorld p_220062_2_, BlockPos p_220062_3_, ItemStack p_220062_4_) { super.func_220062_a(p_220062_1_, p_220062_2_, p_220062_3_, p_220062_4_); diff --git a/patches/minecraft/net/minecraft/block/PistonBlock.java.patch b/patches/minecraft/net/minecraft/block/PistonBlock.java.patch index a88b4e42ca..44aa84927e 100644 --- a/patches/minecraft/net/minecraft/block/PistonBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/PistonBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/PistonBlock.java +++ b/net/minecraft/block/PistonBlock.java -@@ -158,6 +158,7 @@ +@@ -158,6 +_,7 @@ } if (p_189539_4_ == 0) { @@ -8,7 +8,7 @@ if (!this.func_176319_a(p_189539_2_, p_189539_3_, direction, true)) { return false; } -@@ -165,6 +166,7 @@ +@@ -165,6 +_,7 @@ p_189539_2_.func_180501_a(p_189539_3_, p_189539_1_.func_206870_a(field_176320_b, Boolean.valueOf(true)), 67); p_189539_2_.func_184133_a((PlayerEntity)null, p_189539_3_, SoundEvents.field_187715_dR, SoundCategory.BLOCKS, 0.5F, p_189539_2_.field_73012_v.nextFloat() * 0.25F + 0.6F); } else if (p_189539_4_ == 1 || p_189539_4_ == 2) { @@ -16,7 +16,7 @@ TileEntity tileentity1 = p_189539_2_.func_175625_s(p_189539_3_.func_177972_a(direction)); if (tileentity1 instanceof PistonTileEntity) { ((PistonTileEntity)tileentity1).func_145866_f(); -@@ -204,6 +206,7 @@ +@@ -204,6 +_,7 @@ p_189539_2_.func_184133_a((PlayerEntity)null, p_189539_3_, SoundEvents.field_187712_dQ, SoundCategory.BLOCKS, 0.5F, p_189539_2_.field_73012_v.nextFloat() * 0.15F + 0.6F); } @@ -24,7 +24,7 @@ return true; } -@@ -234,7 +237,7 @@ +@@ -234,7 +_,7 @@ return false; } @@ -33,7 +33,7 @@ } } else { return false; -@@ -273,7 +276,7 @@ +@@ -273,7 +_,7 @@ for(int k = list2.size() - 1; k >= 0; --k) { BlockPos blockpos2 = list2.get(k); BlockState blockstate1 = p_176319_1_.func_180495_p(blockpos2); @@ -42,14 +42,14 @@ func_220059_a(blockstate1, p_176319_1_, blockpos2, tileentity); p_176319_1_.func_180501_a(blockpos2, Blocks.field_150350_a.func_176223_P(), 18); ablockstate[j++] = blockstate1; -@@ -337,6 +340,10 @@ - return p_185499_1_.func_206870_a(field_176387_N, p_185499_2_.func_185831_a(p_185499_1_.func_177229_b(field_176387_N))); - } +@@ -335,6 +_,10 @@ -+ public BlockState rotate(BlockState state, net.minecraft.world.IWorld world, BlockPos pos, Rotation direction) { -+ return state.func_177229_b(field_176320_b) ? state : super.rotate(state, world, pos, direction); + public BlockState func_185499_a(BlockState p_185499_1_, Rotation p_185499_2_) { + return p_185499_1_.func_206870_a(field_176387_N, p_185499_2_.func_185831_a(p_185499_1_.func_177229_b(field_176387_N))); + } + - public BlockState func_185471_a(BlockState p_185471_1_, Mirror p_185471_2_) { - return p_185471_1_.func_185907_a(p_185471_2_.func_185800_a(p_185471_1_.func_177229_b(field_176387_N))); ++ public BlockState rotate(BlockState state, net.minecraft.world.IWorld world, BlockPos pos, Rotation direction) { ++ return state.func_177229_b(field_176320_b) ? state : super.rotate(state, world, pos, direction); } + + public BlockState func_185471_a(BlockState p_185471_1_, Mirror p_185471_2_) { diff --git a/patches/minecraft/net/minecraft/block/PistonBlockStructureHelper.java.patch b/patches/minecraft/net/minecraft/block/PistonBlockStructureHelper.java.patch index 97e05a5761..9a5909d46b 100644 --- a/patches/minecraft/net/minecraft/block/PistonBlockStructureHelper.java.patch +++ b/patches/minecraft/net/minecraft/block/PistonBlockStructureHelper.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/PistonBlockStructureHelper.java +++ b/net/minecraft/block/PistonBlockStructureHelper.java -@@ -48,7 +48,7 @@ +@@ -48,7 +_,7 @@ } else { for(int i = 0; i < this.field_177258_e.size(); ++i) { BlockPos blockpos = this.field_177258_e.get(i); @@ -9,7 +9,7 @@ return false; } } -@@ -57,24 +57,9 @@ +@@ -57,24 +_,9 @@ } } @@ -35,7 +35,7 @@ return true; } else if (!PistonBlock.func_185646_a(blockstate, this.field_177261_a, p_177251_1_, this.field_177257_d, false, p_177251_2_)) { return true; -@@ -87,12 +72,12 @@ +@@ -87,12 +_,12 @@ if (i + this.field_177258_e.size() > 12) { return false; } else { @@ -52,7 +52,7 @@ break; } -@@ -119,7 +104,7 @@ +@@ -119,7 +_,7 @@ for(int k = 0; k <= j + l; ++k) { BlockPos blockpos2 = this.field_177258_e.get(k); @@ -61,7 +61,7 @@ return false; } } -@@ -128,7 +113,7 @@ +@@ -128,7 +_,7 @@ } blockstate = this.field_177261_a.func_180495_p(blockpos1); @@ -70,7 +70,7 @@ return true; } -@@ -173,7 +158,7 @@ +@@ -173,7 +_,7 @@ if (direction.func_176740_k() != this.field_177257_d.func_176740_k()) { BlockPos blockpos = p_177250_1_.func_177972_a(direction); BlockState blockstate1 = this.field_177261_a.func_180495_p(blockpos); diff --git a/patches/minecraft/net/minecraft/block/PortalSize.java.patch b/patches/minecraft/net/minecraft/block/PortalSize.java.patch index 9d282828f0..18e35628ec 100644 --- a/patches/minecraft/net/minecraft/block/PortalSize.java.patch +++ b/patches/minecraft/net/minecraft/block/PortalSize.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/PortalSize.java +++ b/net/minecraft/block/PortalSize.java -@@ -16,7 +16,7 @@ +@@ -16,7 +_,7 @@ public class PortalSize { private static final AbstractBlock.IPositionPredicate field_242962_a = (p_242966_0_, p_242966_1_, p_242966_2_) -> { diff --git a/patches/minecraft/net/minecraft/block/PoweredRailBlock.java.patch b/patches/minecraft/net/minecraft/block/PoweredRailBlock.java.patch index 0d9f07e485..3e741398d1 100644 --- a/patches/minecraft/net/minecraft/block/PoweredRailBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/PoweredRailBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/PoweredRailBlock.java +++ b/net/minecraft/block/PoweredRailBlock.java -@@ -14,10 +14,16 @@ +@@ -14,10 +_,16 @@ public class PoweredRailBlock extends AbstractRailBlock { public static final EnumProperty field_176568_b = BlockStateProperties.field_208166_S; public static final BooleanProperty field_176569_M = BlockStateProperties.field_208194_u; @@ -18,7 +18,7 @@ } protected boolean func_176566_a(World p_176566_1_, BlockPos p_176566_2_, BlockState p_176566_3_, boolean p_176566_4_, int p_176566_5_) { -@@ -99,13 +105,13 @@ +@@ -99,13 +_,13 @@ protected boolean func_208071_a(World p_208071_1_, BlockPos p_208071_2_, boolean p_208071_3_, int p_208071_4_, RailShape p_208071_5_) { BlockState blockstate = p_208071_1_.func_180495_p(p_208071_2_); @@ -35,7 +35,7 @@ return p_208071_1_.func_175640_z(p_208071_2_) ? true : this.func_176566_a(p_208071_1_, p_208071_2_, blockstate, p_208071_3_, p_208071_4_ + 1); } else { return false; -@@ -156,6 +162,9 @@ +@@ -156,6 +_,9 @@ return p_185499_1_.func_206870_a(field_176568_b, RailShape.SOUTH_EAST); case NORTH_EAST: return p_185499_1_.func_206870_a(field_176568_b, RailShape.SOUTH_WEST); @@ -45,12 +45,13 @@ } case COUNTERCLOCKWISE_90: switch((RailShape)p_185499_1_.func_177229_b(field_176568_b)) { -@@ -255,4 +264,8 @@ +@@ -254,5 +_,9 @@ + protected void func_206840_a(StateContainer.Builder p_206840_1_) { p_206840_1_.func_206894_a(field_176568_b, field_176569_M); - } ++ } + + public boolean isActivatorRail() { + return isActivator; -+ } + } } diff --git a/patches/minecraft/net/minecraft/block/RailBlock.java.patch b/patches/minecraft/net/minecraft/block/RailBlock.java.patch index 2c1bbba1b8..95ce1dc1d6 100644 --- a/patches/minecraft/net/minecraft/block/RailBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/RailBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/RailBlock.java +++ b/net/minecraft/block/RailBlock.java -@@ -49,6 +49,9 @@ +@@ -49,6 +_,9 @@ return p_185499_1_.func_206870_a(field_176565_b, RailShape.SOUTH_EAST); case NORTH_EAST: return p_185499_1_.func_206870_a(field_176565_b, RailShape.SOUTH_WEST); diff --git a/patches/minecraft/net/minecraft/block/RailState.java.patch b/patches/minecraft/net/minecraft/block/RailState.java.patch index 59bee3cd91..a5857110ca 100644 --- a/patches/minecraft/net/minecraft/block/RailState.java.patch +++ b/patches/minecraft/net/minecraft/block/RailState.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/RailState.java +++ b/net/minecraft/block/RailState.java -@@ -15,14 +15,16 @@ +@@ -15,14 +_,16 @@ private BlockState field_196923_d; private final boolean field_208513_e; private final List field_196924_e = Lists.newArrayList(); @@ -19,7 +19,7 @@ this.func_208509_a(railshape); } -@@ -178,7 +180,7 @@ +@@ -178,7 +_,7 @@ } } @@ -28,7 +28,7 @@ if (AbstractRailBlock.func_208488_a(this.field_196920_a, blockpos.func_177984_a())) { railshape = RailShape.ASCENDING_NORTH; } -@@ -188,7 +190,7 @@ +@@ -188,7 +_,7 @@ } } @@ -37,7 +37,7 @@ if (AbstractRailBlock.func_208488_a(this.field_196920_a, blockpos3.func_177984_a())) { railshape = RailShape.ASCENDING_EAST; } -@@ -304,7 +306,7 @@ +@@ -304,7 +_,7 @@ } } @@ -46,7 +46,7 @@ if (AbstractRailBlock.func_208488_a(this.field_196920_a, blockpos.func_177984_a())) { railshape = RailShape.ASCENDING_NORTH; } -@@ -314,7 +316,7 @@ +@@ -314,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/block/RedstoneDiodeBlock.java.patch b/patches/minecraft/net/minecraft/block/RedstoneDiodeBlock.java.patch index 251dbae637..c9546902aa 100644 --- a/patches/minecraft/net/minecraft/block/RedstoneDiodeBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/RedstoneDiodeBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/RedstoneDiodeBlock.java +++ b/net/minecraft/block/RedstoneDiodeBlock.java -@@ -65,7 +65,7 @@ +@@ -65,7 +_,7 @@ if (p_220069_1_.func_196955_c(p_220069_2_, p_220069_3_)) { this.func_176398_g(p_220069_2_, p_220069_3_, p_220069_1_); } else { @@ -9,7 +9,7 @@ func_220059_a(p_220069_1_, p_220069_2_, p_220069_3_, tileentity); p_220069_2_.func_217377_a(p_220069_3_, false); -@@ -163,6 +163,8 @@ +@@ -163,6 +_,8 @@ protected void func_176400_h(World p_176400_1_, BlockPos p_176400_2_, BlockState p_176400_3_) { Direction direction = p_176400_3_.func_177229_b(field_185512_D); BlockPos blockpos = p_176400_2_.func_177972_a(direction.func_176734_d()); diff --git a/patches/minecraft/net/minecraft/block/RedstoneOreBlock.java.patch b/patches/minecraft/net/minecraft/block/RedstoneOreBlock.java.patch index 5c52301734..69ab5d8b6a 100644 --- a/patches/minecraft/net/minecraft/block/RedstoneOreBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/RedstoneOreBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/RedstoneOreBlock.java +++ b/net/minecraft/block/RedstoneOreBlock.java -@@ -71,11 +71,11 @@ +@@ -71,11 +_,11 @@ public void func_220062_a(BlockState p_220062_1_, ServerWorld p_220062_2_, BlockPos p_220062_3_, ItemStack p_220062_4_) { super.func_220062_a(p_220062_1_, p_220062_2_, p_220062_3_, p_220062_4_); diff --git a/patches/minecraft/net/minecraft/block/RedstoneWireBlock.java.patch b/patches/minecraft/net/minecraft/block/RedstoneWireBlock.java.patch index 21c1e6a32b..18b9ede9b8 100644 --- a/patches/minecraft/net/minecraft/block/RedstoneWireBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/RedstoneWireBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/RedstoneWireBlock.java +++ b/net/minecraft/block/RedstoneWireBlock.java -@@ -184,7 +184,7 @@ +@@ -184,7 +_,7 @@ BlockState blockstate = p_235545_1_.func_180495_p(blockpos); if (p_235545_4_) { boolean flag = this.func_235552_b_(p_235545_1_, blockpos, blockstate); @@ -9,7 +9,7 @@ if (blockstate.func_224755_d(p_235545_1_, blockpos, p_235545_3_.func_176734_d())) { return RedstoneSide.UP; } -@@ -193,7 +193,7 @@ +@@ -193,7 +_,7 @@ } } @@ -18,7 +18,7 @@ } public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) { -@@ -335,11 +335,7 @@ +@@ -335,11 +_,7 @@ } } @@ -31,7 +31,7 @@ if (p_176343_0_.func_203425_a(Blocks.field_150488_af)) { return true; } else if (p_176343_0_.func_203425_a(Blocks.field_196633_cV)) { -@@ -348,7 +344,7 @@ +@@ -348,7 +_,7 @@ } else if (p_176343_0_.func_203425_a(Blocks.field_190976_dk)) { return p_176343_1_ == p_176343_0_.func_177229_b(ObserverBlock.field_176387_N); } else { diff --git a/patches/minecraft/net/minecraft/block/SaplingBlock.java.patch b/patches/minecraft/net/minecraft/block/SaplingBlock.java.patch index 7757b77254..b0851a5867 100644 --- a/patches/minecraft/net/minecraft/block/SaplingBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SaplingBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SaplingBlock.java +++ b/net/minecraft/block/SaplingBlock.java -@@ -29,6 +29,7 @@ +@@ -29,6 +_,7 @@ public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { if (p_225542_2_.func_201696_r(p_225542_3_.func_177984_a()) >= 9 && p_225542_4_.nextInt(7) == 0) { @@ -8,7 +8,7 @@ this.func_226942_a_(p_225542_2_, p_225542_3_, p_225542_1_, p_225542_4_); } -@@ -38,6 +39,7 @@ +@@ -38,6 +_,7 @@ if (p_226942_3_.func_177229_b(field_176479_b) == 0) { p_226942_1_.func_180501_a(p_226942_2_, p_226942_3_.func_235896_a_(field_176479_b), 4); } else { diff --git a/patches/minecraft/net/minecraft/block/SeaGrassBlock.java.patch b/patches/minecraft/net/minecraft/block/SeaGrassBlock.java.patch index 30881bb257..4db6d7b9d6 100644 --- a/patches/minecraft/net/minecraft/block/SeaGrassBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SeaGrassBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SeaGrassBlock.java +++ b/net/minecraft/block/SeaGrassBlock.java -@@ -17,7 +17,7 @@ +@@ -17,7 +_,7 @@ import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; diff --git a/patches/minecraft/net/minecraft/block/SoundType.java.patch b/patches/minecraft/net/minecraft/block/SoundType.java.patch index 67656aa09f..9457ee2e5d 100644 --- a/patches/minecraft/net/minecraft/block/SoundType.java.patch +++ b/patches/minecraft/net/minecraft/block/SoundType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SoundType.java +++ b/net/minecraft/block/SoundType.java -@@ -59,6 +59,7 @@ +@@ -59,6 +_,7 @@ private final SoundEvent field_185865_r; private final SoundEvent field_185866_s; diff --git a/patches/minecraft/net/minecraft/block/SpawnerBlock.java.patch b/patches/minecraft/net/minecraft/block/SpawnerBlock.java.patch index 30742c1dde..93f36a70ad 100644 --- a/patches/minecraft/net/minecraft/block/SpawnerBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SpawnerBlock.java.patch @@ -1,18 +1,16 @@ --- a/net/minecraft/block/SpawnerBlock.java +++ b/net/minecraft/block/SpawnerBlock.java -@@ -18,10 +18,13 @@ +@@ -18,8 +_,11 @@ public void func_220062_a(BlockState p_220062_1_, ServerWorld p_220062_2_, BlockPos p_220062_3_, ItemStack p_220062_4_) { super.func_220062_a(p_220062_1_, p_220062_2_, p_220062_3_, p_220062_4_); - int i = 15 + p_220062_2_.field_73012_v.nextInt(15) + p_220062_2_.field_73012_v.nextInt(15); - this.func_180637_b(p_220062_2_, p_220062_3_, i); - } - ++ } ++ + @Override + public int getExpDrop(BlockState state, net.minecraft.world.IWorldReader world, BlockPos pos, int fortune, int silktouch) { + return 15 + RANDOM.nextInt(15) + RANDOM.nextInt(15); -+ } -+ - public BlockRenderType func_149645_b(BlockState p_149645_1_) { - return BlockRenderType.MODEL; } + + public BlockRenderType func_149645_b(BlockState p_149645_1_) { diff --git a/patches/minecraft/net/minecraft/block/SpongeBlock.java.patch b/patches/minecraft/net/minecraft/block/SpongeBlock.java.patch index 0072d1bbf2..9efbca821e 100644 --- a/patches/minecraft/net/minecraft/block/SpongeBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SpongeBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SpongeBlock.java +++ b/net/minecraft/block/SpongeBlock.java -@@ -64,7 +64,7 @@ +@@ -64,7 +_,7 @@ queue.add(new Tuple<>(blockpos1, j + 1)); } } else if (material == Material.field_203243_f || material == Material.field_204868_h) { diff --git a/patches/minecraft/net/minecraft/block/SpreadableSnowyDirtBlock.java.patch b/patches/minecraft/net/minecraft/block/SpreadableSnowyDirtBlock.java.patch index 963e4828c9..a8d5ded1b3 100644 --- a/patches/minecraft/net/minecraft/block/SpreadableSnowyDirtBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SpreadableSnowyDirtBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SpreadableSnowyDirtBlock.java +++ b/net/minecraft/block/SpreadableSnowyDirtBlock.java -@@ -33,6 +33,7 @@ +@@ -33,6 +_,7 @@ public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { if (!func_220257_b(p_225542_1_, p_225542_2_, p_225542_3_)) { diff --git a/patches/minecraft/net/minecraft/block/StairsBlock.java.patch b/patches/minecraft/net/minecraft/block/StairsBlock.java.patch index 82b8795ce3..fa883a3374 100644 --- a/patches/minecraft/net/minecraft/block/StairsBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/StairsBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/StairsBlock.java +++ b/net/minecraft/block/StairsBlock.java -@@ -83,13 +83,23 @@ +@@ -83,11 +_,21 @@ return voxelshape; } @@ -11,20 +11,18 @@ this.field_150149_b = p_i48321_1_.func_177230_c(); this.field_150151_M = p_i48321_1_; + this.stateSupplier = () -> p_i48321_1_; - } - ++ } ++ + public StairsBlock(java.util.function.Supplier state, AbstractBlock.Properties properties) { + super(properties); + this.func_180632_j(this.field_176227_L.func_177621_b().func_206870_a(field_176309_a, Direction.NORTH).func_206870_a(field_176308_b, Half.BOTTOM).func_206870_a(field_176310_M, StairsShape.STRAIGHT).func_206870_a(field_204513_t, Boolean.valueOf(false))); + this.field_150149_b = Blocks.field_150350_a; // These are unused, fields are redirected + this.field_150151_M = Blocks.field_150350_a.func_176223_P(); + this.stateSupplier = state; -+ } -+ - public boolean func_220074_n(BlockState p_220074_1_) { - return true; } -@@ -265,4 +275,14 @@ + + public boolean func_220074_n(BlockState p_220074_1_) { +@@ -265,4 +_,14 @@ public boolean func_196266_a(BlockState p_196266_1_, IBlockReader p_196266_2_, BlockPos p_196266_3_, PathType p_196266_4_) { return false; } diff --git a/patches/minecraft/net/minecraft/block/StemBlock.java.patch b/patches/minecraft/net/minecraft/block/StemBlock.java.patch index 4176a59b0a..ddb17d0aca 100644 --- a/patches/minecraft/net/minecraft/block/StemBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/StemBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/StemBlock.java +++ b/net/minecraft/block/StemBlock.java -@@ -37,22 +37,24 @@ +@@ -37,22 +_,24 @@ } public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { @@ -29,14 +29,15 @@ } } -@@ -97,4 +99,10 @@ +@@ -96,5 +_,11 @@ + public StemGrownBlock func_208486_d() { return this.field_149877_a; - } ++ } + + //FORGE START + @Override + public net.minecraftforge.common.PlantType getPlantType(IBlockReader world, BlockPos pos) { + return net.minecraftforge.common.PlantType.CROP; -+ } + } } diff --git a/patches/minecraft/net/minecraft/block/SugarCaneBlock.java.patch b/patches/minecraft/net/minecraft/block/SugarCaneBlock.java.patch index 4a1b12069d..da29f8cff5 100644 --- a/patches/minecraft/net/minecraft/block/SugarCaneBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SugarCaneBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SugarCaneBlock.java +++ b/net/minecraft/block/SugarCaneBlock.java -@@ -15,7 +15,7 @@ +@@ -15,7 +_,7 @@ import net.minecraft.world.IWorldReader; import net.minecraft.world.server.ServerWorld; @@ -9,7 +9,7 @@ public static final IntegerProperty field_176355_a = BlockStateProperties.field_208171_X; protected static final VoxelShape field_196503_b = Block.func_208617_a(2.0D, 0.0D, 2.0D, 14.0D, 16.0D, 14.0D); -@@ -43,12 +43,14 @@ +@@ -43,12 +_,14 @@ if (i < 3) { int j = p_225542_1_.func_177229_b(field_176355_a); @@ -24,7 +24,7 @@ } } -@@ -63,6 +65,8 @@ +@@ -63,6 +_,8 @@ } public boolean func_196260_a(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) { @@ -33,10 +33,11 @@ BlockState blockstate = p_196260_2_.func_180495_p(p_196260_3_.func_177977_b()); if (blockstate.func_177230_c() == this) { return true; -@@ -86,4 +90,14 @@ +@@ -85,5 +_,15 @@ + protected void func_206840_a(StateContainer.Builder p_206840_1_) { p_206840_1_.func_206894_a(field_176355_a); - } ++ } + + @Override + public net.minecraftforge.common.PlantType getPlantType(IBlockReader world, BlockPos pos) { @@ -46,5 +47,5 @@ + @Override + public BlockState getPlant(IBlockReader world, BlockPos pos) { + return func_176223_P(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/block/SweetBerryBushBlock.java.patch b/patches/minecraft/net/minecraft/block/SweetBerryBushBlock.java.patch index e7d1cc8a2e..8d5a46580b 100644 --- a/patches/minecraft/net/minecraft/block/SweetBerryBushBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/SweetBerryBushBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/SweetBerryBushBlock.java +++ b/net/minecraft/block/SweetBerryBushBlock.java -@@ -52,8 +52,9 @@ +@@ -52,8 +_,9 @@ public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { int i = p_225542_1_.func_177229_b(field_220125_a); diff --git a/patches/minecraft/net/minecraft/block/TNTBlock.java.patch b/patches/minecraft/net/minecraft/block/TNTBlock.java.patch index f5758c1792..7ad46a4a45 100644 --- a/patches/minecraft/net/minecraft/block/TNTBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/TNTBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/TNTBlock.java +++ b/net/minecraft/block/TNTBlock.java -@@ -29,10 +29,14 @@ +@@ -29,10 +_,14 @@ this.func_180632_j(this.func_176223_P().func_206870_a(field_212569_a, Boolean.valueOf(false))); } @@ -16,7 +16,7 @@ p_220082_2_.func_217377_a(p_220082_3_, false); } -@@ -41,7 +45,7 @@ +@@ -41,7 +_,7 @@ public void func_220069_a(BlockState p_220069_1_, World p_220069_2_, BlockPos p_220069_3_, Block p_220069_4_, BlockPos p_220069_5_, boolean p_220069_6_) { if (p_220069_2_.func_175640_z(p_220069_3_)) { @@ -25,7 +25,7 @@ p_220069_2_.func_217377_a(p_220069_3_, false); } -@@ -49,7 +53,7 @@ +@@ -49,7 +_,7 @@ public void func_176208_a(World p_176208_1_, BlockPos p_176208_2_, BlockState p_176208_3_, PlayerEntity p_176208_4_) { if (!p_176208_1_.func_201670_d() && !p_176208_4_.func_184812_l_() && p_176208_3_.func_177229_b(field_212569_a)) { @@ -34,7 +34,7 @@ } super.func_176208_a(p_176208_1_, p_176208_2_, p_176208_3_, p_176208_4_); -@@ -63,10 +67,12 @@ +@@ -63,10 +_,12 @@ } } @@ -47,7 +47,7 @@ private static void func_196535_a(World p_196535_0_, BlockPos p_196535_1_, @Nullable LivingEntity p_196535_2_) { if (!p_196535_0_.field_72995_K) { TNTEntity tntentity = new TNTEntity(p_196535_0_, (double)p_196535_1_.func_177958_n() + 0.5D, (double)p_196535_1_.func_177956_o(), (double)p_196535_1_.func_177952_p() + 0.5D, p_196535_2_); -@@ -81,7 +87,7 @@ +@@ -81,7 +_,7 @@ if (item != Items.field_151033_d && item != Items.field_151059_bz) { return super.func_225533_a_(p_225533_1_, p_225533_2_, p_225533_3_, p_225533_4_, p_225533_5_, p_225533_6_); } else { @@ -56,7 +56,7 @@ p_225533_2_.func_180501_a(p_225533_3_, Blocks.field_150350_a.func_176223_P(), 11); if (!p_225533_4_.func_184812_l_()) { if (item == Items.field_151033_d) { -@@ -102,7 +108,7 @@ +@@ -102,7 +_,7 @@ Entity entity = p_220066_4_.func_234616_v_(); if (p_220066_4_.func_70027_ad()) { BlockPos blockpos = p_220066_3_.func_216350_a(); diff --git a/patches/minecraft/net/minecraft/block/TallGrassBlock.java.patch b/patches/minecraft/net/minecraft/block/TallGrassBlock.java.patch index 6fc2322b10..cc29e09840 100644 --- a/patches/minecraft/net/minecraft/block/TallGrassBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/TallGrassBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/TallGrassBlock.java +++ b/net/minecraft/block/TallGrassBlock.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; diff --git a/patches/minecraft/net/minecraft/block/TrapDoorBlock.java.patch b/patches/minecraft/net/minecraft/block/TrapDoorBlock.java.patch index f8d5a55858..1f530bf83a 100644 --- a/patches/minecraft/net/minecraft/block/TrapDoorBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/TrapDoorBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/TrapDoorBlock.java +++ b/net/minecraft/block/TrapDoorBlock.java -@@ -147,4 +147,17 @@ +@@ -147,4 +_,17 @@ return super.func_196271_a(p_196271_1_, p_196271_2_, p_196271_3_, p_196271_4_, p_196271_5_, p_196271_6_); } diff --git a/patches/minecraft/net/minecraft/block/TurtleEggBlock.java.patch b/patches/minecraft/net/minecraft/block/TurtleEggBlock.java.patch index b998482530..d4813c28aa 100644 --- a/patches/minecraft/net/minecraft/block/TurtleEggBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/TurtleEggBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/TurtleEggBlock.java +++ b/net/minecraft/block/TurtleEggBlock.java -@@ -149,7 +149,7 @@ +@@ -149,7 +_,7 @@ if (!(p_212570_2_ instanceof LivingEntity)) { return false; } else { diff --git a/patches/minecraft/net/minecraft/block/VineBlock.java.patch b/patches/minecraft/net/minecraft/block/VineBlock.java.patch index 75d398dbf9..6306c149c5 100644 --- a/patches/minecraft/net/minecraft/block/VineBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/VineBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/VineBlock.java +++ b/net/minecraft/block/VineBlock.java -@@ -22,7 +22,7 @@ +@@ -22,7 +_,7 @@ import net.minecraft.world.IWorldReader; import net.minecraft.world.server.ServerWorld; @@ -9,7 +9,7 @@ public static final BooleanProperty field_176277_a = SixWayBlock.field_196496_z; public static final BooleanProperty field_176273_b = SixWayBlock.field_196488_a; public static final BooleanProperty field_176278_M = SixWayBlock.field_196490_b; -@@ -152,14 +152,14 @@ +@@ -152,14 +_,14 @@ } public void func_225542_b_(BlockState p_225542_1_, ServerWorld p_225542_2_, BlockPos p_225542_3_, Random p_225542_4_) { @@ -26,7 +26,7 @@ Direction direction3 = direction.func_176746_e(); Direction direction4 = direction.func_176735_f(); boolean flag = p_225542_1_.func_177229_b(func_176267_a(direction3)); -@@ -216,8 +216,9 @@ +@@ -216,8 +_,9 @@ if (p_225542_3_.func_177956_o() > 0) { BlockPos blockpos1 = p_225542_3_.func_177977_b(); BlockState blockstate = p_225542_2_.func_180495_p(blockpos1); diff --git a/patches/minecraft/net/minecraft/block/WebBlock.java.patch b/patches/minecraft/net/minecraft/block/WebBlock.java.patch index 69cb69d477..59323bc3c3 100644 --- a/patches/minecraft/net/minecraft/block/WebBlock.java.patch +++ b/patches/minecraft/net/minecraft/block/WebBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/block/WebBlock.java +++ b/net/minecraft/block/WebBlock.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraft.util.math.vector.Vector3d; import net.minecraft.world.World; diff --git a/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch b/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch index 66abfb6245..ed8654b3d5 100644 --- a/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch +++ b/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/ClientBrandRetriever.java +++ b/net/minecraft/client/ClientBrandRetriever.java -@@ -6,6 +6,6 @@ +@@ -6,6 +_,6 @@ @OnlyIn(Dist.CLIENT) public class ClientBrandRetriever { public static String getClientModName() { diff --git a/patches/minecraft/net/minecraft/client/GameSettings.java.patch b/patches/minecraft/net/minecraft/client/GameSettings.java.patch index 9d797ec3e3..61f8cb0e26 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 @@ +@@ -170,6 +_,7 @@ public boolean field_241568_aS_; 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) { -@@ -529,7 +530,11 @@ +@@ -529,7 +_,11 @@ for(KeyBinding keybinding : this.field_74324_K) { if (s.equals("key_" + keybinding.func_151464_g())) { @@ -21,7 +21,7 @@ } } -@@ -576,6 +581,7 @@ +@@ -576,6 +_,7 @@ } public void func_74303_b() { @@ -29,7 +29,7 @@ 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)); -@@ -661,7 +667,7 @@ +@@ -661,7 +_,7 @@ printwriter.println("syncChunkWrites:" + this.field_241568_aS_); for(KeyBinding keybinding : this.field_74324_K) { @@ -38,10 +38,12 @@ } for(SoundCategory soundcategory : SoundCategory.values()) { -@@ -760,6 +766,23 @@ - p_198017_1_.func_198985_a(set); - } +@@ -758,6 +_,23 @@ + } + p_198017_1_.func_198985_a(set); ++ } ++ + private void setForgeKeybindProperties() { + net.minecraftforge.client.settings.KeyConflictContext inGame = net.minecraftforge.client.settings.KeyConflictContext.IN_GAME; + field_74351_w.setKeyConflictContext(inGame); @@ -57,8 +59,6 @@ + field_74323_J.setKeyConflictContext(inGame); + field_151457_aa.setKeyConflictContext(inGame); + field_151458_ab.setKeyConflictContext(inGame); -+ } -+ - public PointOfView func_243230_g() { - return this.field_243228_bb; } + + public PointOfView func_243230_g() { diff --git a/patches/minecraft/net/minecraft/client/KeyboardListener.java.patch b/patches/minecraft/net/minecraft/client/KeyboardListener.java.patch index 50d77c8615..ff24bc5b5c 100644 --- a/patches/minecraft/net/minecraft/client/KeyboardListener.java.patch +++ b/patches/minecraft/net/minecraft/client/KeyboardListener.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/KeyboardListener.java +++ b/net/minecraft/client/KeyboardListener.java -@@ -255,7 +255,9 @@ +@@ -255,7 +_,9 @@ } INestedGuiEventHandler inestedguieventhandler = this.field_197972_a.field_71462_r; @@ -11,7 +11,7 @@ if (this.field_197972_a.field_71474_y.field_152395_am.func_197976_a(p_197961_3_, p_197961_4_)) { this.field_197972_a.func_228018_at_().func_198077_g(); this.field_197972_a.field_71474_y.field_74353_u = this.field_197972_a.func_228018_at_().func_198113_j(); -@@ -274,6 +276,8 @@ +@@ -274,6 +_,8 @@ }); return; } @@ -20,7 +20,7 @@ } boolean flag = inestedguieventhandler == null || !(inestedguieventhandler.func_241217_q_() instanceof TextFieldWidget) || !((TextFieldWidget)inestedguieventhandler.func_241217_q_()).func_212955_f(); -@@ -289,10 +293,14 @@ +@@ -289,10 +_,14 @@ Screen.func_231153_a_(() -> { if (p_197961_5_ != 1 && (p_197961_5_ != 2 || !this.field_197973_b)) { if (p_197961_5_ == 0) { @@ -37,7 +37,7 @@ } }, "keyPressed event handler", inestedguieventhandler.getClass().getCanonicalName()); -@@ -345,7 +353,7 @@ +@@ -345,7 +_,7 @@ } } } @@ -46,7 +46,7 @@ } } -@@ -355,12 +363,16 @@ +@@ -355,12 +_,16 @@ if (iguieventlistener != null && this.field_197972_a.func_213250_au() == null) { if (Character.charCount(p_197963_3_) == 1) { Screen.func_231153_a_(() -> { diff --git a/patches/minecraft/net/minecraft/client/MainWindow.java.patch b/patches/minecraft/net/minecraft/client/MainWindow.java.patch index 5cdbf33933..65cde52c8b 100644 --- a/patches/minecraft/net/minecraft/client/MainWindow.java.patch +++ b/patches/minecraft/net/minecraft/client/MainWindow.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/MainWindow.java +++ b/net/minecraft/client/MainWindow.java -@@ -86,7 +86,7 @@ +@@ -86,7 +_,7 @@ GLFW.glfwWindowHint(139266, 2); GLFW.glfwWindowHint(139267, 0); GLFW.glfwWindowHint(139272, 0); @@ -9,7 +9,7 @@ if (monitor != null) { VideoMode videomode = monitor.func_197992_a(this.field_198125_l ? this.field_198124_k : Optional.empty()); this.field_198120_g = this.field_198127_n = monitor.func_197989_c() + videomode.func_198064_a() / 2 - this.field_198129_p / 2; -@@ -271,6 +271,7 @@ +@@ -271,6 +_,7 @@ GLFW.glfwGetFramebufferSize(this.field_198119_f, aint, aint1); this.field_198131_r = aint[0]; this.field_198132_s = aint1[0]; diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index a203825926..55ff6ea9a2 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 -@@ -368,6 +368,7 @@ +@@ -368,6 +_,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; -@@ -382,7 +383,6 @@ +@@ -382,7 +_,6 @@ this.field_244734_au = this.func_244735_a(yggdrasilauthenticationservice, p_i45547_1_); 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,7 +16,7 @@ this.field_71459_aj = p_i45547_1_.field_178741_d.field_178756_a; this.field_238175_ae_ = !p_i45547_1_.field_178741_d.field_239099_d_; this.field_238176_af_ = !p_i45547_1_.field_178741_d.field_239100_e_; -@@ -428,13 +428,13 @@ +@@ -428,13 +_,13 @@ this.field_195558_d.func_216526_a(this.field_71474_y.field_74350_i); this.field_71417_B = new MouseHelper(this); @@ -31,7 +31,7 @@ this.field_110448_aq.func_198983_a(); this.field_71474_y.func_198017_a(this.field_110448_aq); this.field_135017_as = new LanguageManager(this.field_71474_y.field_74363_ab); -@@ -476,6 +476,7 @@ +@@ -476,6 +_,7 @@ 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); @@ -39,7 +39,7 @@ this.field_110451_am.func_219534_a(this.field_71452_i); this.field_213272_aL = new PaintingSpriteUploader(this.field_71446_o); this.field_110451_am.func_219534_a(this.field_213272_aL); -@@ -483,7 +484,8 @@ +@@ -483,7 +_,8 @@ this.field_110451_am.func_219534_a(this.field_213273_aM); this.field_241557_ar_ = new GPUWarning(); this.field_110451_am.func_219534_a(this.field_241557_ar_); @@ -49,7 +49,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()) { -@@ -495,11 +497,6 @@ +@@ -495,11 +_,6 @@ 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(); @@ -61,7 +61,7 @@ ResourceLoadProgressGui.func_212970_a(this); List list = this.field_110448_aq.func_232623_f_(); -@@ -508,7 +505,14 @@ +@@ -508,7 +_,14 @@ if (SharedConstants.field_206244_b) { this.func_213256_aB(); } @@ -77,7 +77,7 @@ }); }, false)); } -@@ -556,7 +560,7 @@ +@@ -556,7 +_,7 @@ } private void func_229988_a_(Throwable p_229988_1_) { @@ -86,7 +86,7 @@ ITextComponent itextcomponent; if (p_229988_1_ instanceof SimpleReloadableResourceManager.FailedPackException) { itextcomponent = new StringTextComponent(((SimpleReloadableResourceManager.FailedPackException)p_229988_1_).func_241203_a().func_195762_a()); -@@ -644,7 +648,7 @@ +@@ -644,7 +_,7 @@ return Stream.of(Registry.field_212630_s.func_177774_c(p_213251_0_.func_77973_b())); }); SearchTreeReloadable searchtreereloadable = new SearchTreeReloadable<>((p_213235_0_) -> { @@ -95,7 +95,7 @@ }); NonNullList nonnulllist = NonNullList.func_191196_a(); -@@ -714,13 +718,13 @@ +@@ -714,13 +_,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()); @@ -112,7 +112,7 @@ } } -@@ -729,6 +733,7 @@ +@@ -729,6 +_,7 @@ return this.field_71474_y.field_211842_aO; } @@ -120,7 +120,7 @@ public CompletableFuture func_213237_g() { if (this.field_213276_aV != null) { return this.field_213276_aV; -@@ -817,10 +822,6 @@ +@@ -817,10 +_,6 @@ } public void func_147108_a(@Nullable Screen p_147108_1_) { @@ -131,7 +131,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_233643_dh_()) { -@@ -831,6 +832,14 @@ +@@ -831,6 +_,14 @@ } } @@ -146,7 +146,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); -@@ -962,11 +971,13 @@ +@@ -962,11 +_,13 @@ RenderSystem.enableCull(); this.field_71424_I.func_76319_b(); if (!this.field_71454_w) { @@ -160,7 +160,7 @@ } if (this.field_238174_aV_ != null) { -@@ -1065,6 +1076,7 @@ +@@ -1065,6 +_,7 @@ Framebuffer framebuffer = this.func_147110_a(); framebuffer.func_216491_a(this.field_195558_d.func_198109_k(), this.field_195558_d.func_198091_l(), field_142025_a); @@ -168,7 +168,7 @@ this.field_71460_t.func_147704_a(this.field_195558_d.func_198109_k(), this.field_195558_d.func_198091_l()); this.field_71417_B.func_198021_g(); } -@@ -1253,11 +1265,21 @@ +@@ -1253,11 +_,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(); @@ -192,7 +192,7 @@ } } -@@ -1276,6 +1298,8 @@ +@@ -1276,6 +_,8 @@ } } else if (!this.field_71439_g.func_184838_M()) { @@ -201,7 +201,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()); -@@ -1283,7 +1307,7 @@ +@@ -1283,7 +_,7 @@ case BLOCK: BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x; BlockPos blockpos = blockraytraceresult.func_216350_a(); @@ -210,7 +210,7 @@ this.field_71442_b.func_180511_b(blockpos, blockraytraceresult.func_216354_b()); break; } -@@ -1293,8 +1317,10 @@ +@@ -1293,8 +_,10 @@ } this.field_71439_g.func_184821_cY(); @@ -221,7 +221,7 @@ this.field_71439_g.func_184609_a(Hand.MAIN_HAND); } } -@@ -1309,6 +1335,11 @@ +@@ -1309,6 +_,11 @@ } for(Hand hand : Hand.values()) { @@ -233,7 +233,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()) { -@@ -1322,6 +1353,7 @@ +@@ -1322,6 +_,7 @@ if (actionresulttype.func_226246_a_()) { if (actionresulttype.func_226247_b_()) { @@ -241,7 +241,7 @@ this.field_71439_g.func_184609_a(hand); } -@@ -1334,6 +1366,7 @@ +@@ -1334,6 +_,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_()) { @@ -249,7 +249,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); -@@ -1349,6 +1382,9 @@ +@@ -1349,6 +_,9 @@ } } @@ -259,7 +259,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_()) { -@@ -1375,6 +1411,8 @@ +@@ -1375,6 +_,8 @@ --this.field_71467_ac; } @@ -268,7 +268,7 @@ this.field_71424_I.func_76320_a("gui"); if (!this.field_71445_n) { this.field_71456_v.func_73831_a(); -@@ -1500,6 +1538,8 @@ +@@ -1500,6 +_,8 @@ this.field_71424_I.func_219895_b("keyboard"); this.field_195559_v.func_204870_b(); this.field_71424_I.func_76319_b(); @@ -277,7 +277,7 @@ } private boolean func_244600_aM() { -@@ -1638,11 +1678,11 @@ +@@ -1638,11 +_,11 @@ } public void func_238191_a_(String p_238191_1_) { @@ -291,7 +291,7 @@ return p_238192_2_.func_234958_g_(); }, (p_238187_3_, p_238187_4_, p_238187_5_, p_238187_6_) -> { WorldGenSettingsExport worldgensettingsexport = WorldGenSettingsExport.func_240896_a_(JsonOps.INSTANCE, p_238192_3_); -@@ -1652,10 +1692,10 @@ +@@ -1652,10 +_,10 @@ }); DimensionGeneratorSettings dimensiongeneratorsettings = dataresult.resultOrPartial(Util.func_240982_a_("Error reading worldgen settings after loading data packs: ", field_147123_G::error)).orElse(p_238192_4_); return new ServerWorldInfo(p_238192_2_, dimensiongeneratorsettings, dataresult.lifecycle()); @@ -304,7 +304,7 @@ SaveFormat.LevelSave saveformat$levelsave; try { saveformat$levelsave = this.field_71469_aa.func_237274_c_(p_238195_1_); -@@ -1667,12 +1707,17 @@ +@@ -1667,12 +_,17 @@ } Minecraft.PackManager minecraft$packmanager; @@ -324,7 +324,7 @@ })); try { -@@ -1692,7 +1737,7 @@ +@@ -1692,7 +_,7 @@ this.field_213277_ad.set((TrackingChunkStatusListener)null); try { @@ -333,7 +333,7 @@ minecraft$packmanager.func_238225_b_().func_240971_i_(); YggdrasilAuthenticationService yggdrasilauthenticationservice = new YggdrasilAuthenticationService(this.field_110453_aa); MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService(); -@@ -1702,7 +1747,7 @@ +@@ -1702,7 +_,7 @@ SkullTileEntity.func_184294_a(minecraftsessionservice); PlayerProfileCache.func_187320_a(false); this.field_71437_Z = MinecraftServer.func_240784_a_((p_238188_8_) -> { @@ -342,7 +342,7 @@ TrackingChunkStatusListener trackingchunkstatuslistener = new TrackingChunkStatusListener(p_238211_1_ + 0); trackingchunkstatuslistener.func_219521_a(); this.field_213277_ad.set(trackingchunkstatuslistener); -@@ -1747,11 +1792,16 @@ +@@ -1747,11 +_,16 @@ networkmanager.func_150719_a(new ClientLoginNetHandler(networkmanager, this, (Screen)null, (p_229998_0_) -> { })); networkmanager.func_179290_a(new CHandshakePacket(socketaddress.toString(), 0, ProtocolType.LOGIN)); @@ -361,7 +361,7 @@ }); minecraft$packmanager.close(); -@@ -1821,6 +1871,7 @@ +@@ -1821,6 +_,7 @@ } public void func_71403_a(ClientWorld p_71403_1_) { @@ -369,7 +369,7 @@ WorkingScreen workingscreen = new WorkingScreen(); workingscreen.func_200210_a(new TranslationTextComponent("connect.joining")); this.func_213241_c(workingscreen); -@@ -1852,10 +1903,12 @@ +@@ -1852,10 +_,12 @@ IntegratedServer integratedserver = this.field_71437_Z; this.field_71437_Z = null; this.field_71460_t.func_190564_k(); @@ -382,7 +382,7 @@ if (integratedserver != null) { this.field_71424_I.func_76320_a("waitForServer"); -@@ -1870,6 +1923,7 @@ +@@ -1870,6 +_,7 @@ this.field_71456_v.func_181029_i(); this.field_71422_O = null; this.field_71455_al = false; @@ -390,7 +390,7 @@ this.field_213274_aO.func_216815_b(); } -@@ -1900,6 +1954,7 @@ +@@ -1900,6 +_,7 @@ this.field_71452_i.func_78870_a(p_213257_1_); TileEntityRendererDispatcher.field_147556_a.func_147543_a(p_213257_1_); this.func_230150_b_(); @@ -398,7 +398,7 @@ } public boolean func_238216_r_() { -@@ -1945,112 +2000,9 @@ +@@ -1945,112 +_,9 @@ private void func_147112_ai() { if (this.field_71476_x != null && this.field_71476_x.func_216346_c() != RayTraceResult.Type.MISS) { @@ -514,7 +514,7 @@ } } -@@ -2140,6 +2092,7 @@ +@@ -2140,6 +_,7 @@ return field_71432_P; } @@ -522,7 +522,7 @@ public CompletableFuture func_213245_w() { return this.func_213169_a(this::func_213237_g).thenCompose((p_229993_0_) -> { return p_229993_0_; -@@ -2451,7 +2404,7 @@ +@@ -2451,7 +_,7 @@ supplier = func_228022_c_(supplier); } @@ -531,18 +531,18 @@ } private static Supplier func_228021_b_(Supplier p_228021_0_) { -@@ -2470,6 +2423,14 @@ - this.field_175617_aL.func_229355_a_(p_228020_1_); - } +@@ -2468,6 +_,14 @@ + public void func_228020_b_(int p_228020_1_) { + this.field_175617_aL.func_229355_a_(p_228020_1_); ++ } ++ + public ItemColors getItemColors() { + return this.field_184128_aI; + } + + public SearchTreeManager getSearchTreeManager() { + return this.field_193995_ae; -+ } -+ + } + @OnlyIn(Dist.CLIENT) - public static final class PackManager implements AutoCloseable { - private final ResourcePackList field_238221_a_; diff --git a/patches/minecraft/net/minecraft/client/MouseHelper.java.patch b/patches/minecraft/net/minecraft/client/MouseHelper.java.patch index d015cdebee..af5a166bf8 100644 --- a/patches/minecraft/net/minecraft/client/MouseHelper.java.patch +++ b/patches/minecraft/net/minecraft/client/MouseHelper.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/MouseHelper.java +++ b/net/minecraft/client/MouseHelper.java -@@ -71,6 +71,7 @@ +@@ -71,6 +_,7 @@ this.field_198042_g = -1; } @@ -8,7 +8,7 @@ boolean[] aboolean = new boolean[]{false}; if (this.field_198036_a.field_213279_p == null) { if (this.field_198036_a.field_71462_r == null) { -@@ -82,11 +83,15 @@ +@@ -82,11 +_,15 @@ double d1 = this.field_198041_f * (double)this.field_198036_a.func_228018_at_().func_198087_p() / (double)this.field_198036_a.func_228018_at_().func_198083_n(); if (flag) { Screen.func_231153_a_(() -> { @@ -26,7 +26,7 @@ }, "mouseReleased event handler", this.field_198036_a.field_71462_r.getClass().getCanonicalName()); } } -@@ -110,7 +115,7 @@ +@@ -110,7 +_,7 @@ } } } @@ -35,7 +35,7 @@ } } -@@ -121,7 +126,9 @@ +@@ -121,7 +_,9 @@ if (this.field_198036_a.field_71462_r != null) { double d1 = this.field_198040_e * (double)this.field_198036_a.func_228018_at_().func_198107_o() / (double)this.field_198036_a.func_228018_at_().func_198105_m(); double d2 = this.field_198041_f * (double)this.field_198036_a.func_228018_at_().func_198087_p() / (double)this.field_198036_a.func_228018_at_().func_198083_n(); @@ -46,7 +46,7 @@ } else if (this.field_198036_a.field_71439_g != null) { if (this.field_200542_o != 0.0D && Math.signum(d0) != Math.signum(this.field_200542_o)) { this.field_200542_o = 0.0D; -@@ -134,6 +141,7 @@ +@@ -134,6 +_,7 @@ } this.field_200542_o -= (double)f1; @@ -54,7 +54,7 @@ if (this.field_198036_a.field_71439_g.func_175149_v()) { if (this.field_198036_a.field_71456_v.func_175187_g().func_175262_a()) { this.field_198036_a.field_71456_v.func_175187_g().func_195621_a((double)(-f1)); -@@ -202,7 +210,9 @@ +@@ -202,7 +_,9 @@ double d2 = (p_198022_3_ - this.field_198040_e) * (double)this.field_198036_a.func_228018_at_().func_198107_o() / (double)this.field_198036_a.func_228018_at_().func_198105_m(); double d3 = (p_198022_5_ - this.field_198041_f) * (double)this.field_198036_a.func_228018_at_().func_198087_p() / (double)this.field_198036_a.func_228018_at_().func_198083_n(); Screen.func_231153_a_(() -> { @@ -65,7 +65,7 @@ }, "mouseDragged event handler", iguieventlistener.getClass().getCanonicalName()); } } -@@ -267,6 +277,10 @@ +@@ -267,12 +_,24 @@ return this.field_198039_d; } @@ -76,18 +76,17 @@ public double func_198024_e() { return this.field_198040_e; } -@@ -275,6 +289,14 @@ - return this.field_198041_f; - } + public double func_198026_f() { + return this.field_198041_f; ++ } ++ + public double getXVelocity() { + return this.field_198048_m; + } + + public double getYVelocity() { + return this.field_198049_n; -+ } -+ - public void func_198021_g() { - this.field_198043_h = true; } + + public void func_198021_g() { diff --git a/patches/minecraft/net/minecraft/client/audio/SoundEngine.java.patch b/patches/minecraft/net/minecraft/client/audio/SoundEngine.java.patch index f138c3cc88..7012ada43f 100644 --- a/patches/minecraft/net/minecraft/client/audio/SoundEngine.java.patch +++ b/patches/minecraft/net/minecraft/client/audio/SoundEngine.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/audio/SoundEngine.java +++ b/net/minecraft/client/audio/SoundEngine.java -@@ -56,6 +56,7 @@ +@@ -56,6 +_,7 @@ this.field_148622_c = p_i50892_1_; this.field_148619_d = p_i50892_2_; this.field_217939_i = new AudioStreamManager(p_i50892_3_); @@ -8,7 +8,7 @@ } public void func_148596_a() { -@@ -71,6 +72,7 @@ +@@ -71,6 +_,7 @@ this.func_148613_b(); this.func_148608_i(); @@ -16,7 +16,7 @@ } private synchronized void func_148608_i() { -@@ -266,7 +268,8 @@ +@@ -266,7 +_,8 @@ public void func_148611_c(ISound p_148611_1_) { if (this.field_148617_f) { @@ -26,7 +26,7 @@ SoundEventAccessor soundeventaccessor = p_148611_1_.func_184366_a(this.field_148622_c); ResourceLocation resourcelocation = p_148611_1_.func_147650_b(); if (soundeventaccessor == null) { -@@ -331,11 +334,13 @@ +@@ -331,11 +_,13 @@ p_239543_8_.func_216420_a(vector3d); p_239543_8_.func_216432_b(flag); }); @@ -40,7 +40,7 @@ }); }); } else { -@@ -343,6 +348,7 @@ +@@ -343,6 +_,7 @@ channelmanager$entry.func_217888_a((p_217935_1_) -> { p_217935_1_.func_216433_a(p_217928_1_); p_217935_1_.func_216438_c(); diff --git a/patches/minecraft/net/minecraft/client/audio/SoundHandler.java.patch b/patches/minecraft/net/minecraft/client/audio/SoundHandler.java.patch index c7ef4ce9d5..be49f5e646 100644 --- a/patches/minecraft/net/minecraft/client/audio/SoundHandler.java.patch +++ b/patches/minecraft/net/minecraft/client/audio/SoundHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/audio/SoundHandler.java +++ b/net/minecraft/client/audio/SoundHandler.java -@@ -192,6 +192,11 @@ +@@ -192,6 +_,11 @@ this.field_147694_f.func_195855_a(p_195478_1_, p_195478_2_); } diff --git a/patches/minecraft/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java.patch b/patches/minecraft/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java.patch index e6a4e0728e..529419b3eb 100644 --- a/patches/minecraft/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java +++ b/net/minecraft/client/entity/player/AbstractClientPlayerEntity.java -@@ -126,6 +126,6 @@ +@@ -126,6 +_,6 @@ f *= 1.0F - f1 * 0.15F; } diff --git a/patches/minecraft/net/minecraft/client/entity/player/ClientPlayerEntity.java.patch b/patches/minecraft/net/minecraft/client/entity/player/ClientPlayerEntity.java.patch index 173bd6b91a..24c32fc4e3 100644 --- a/patches/minecraft/net/minecraft/client/entity/player/ClientPlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/player/ClientPlayerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/entity/player/ClientPlayerEntity.java +++ b/net/minecraft/client/entity/player/ClientPlayerEntity.java -@@ -134,6 +134,7 @@ +@@ -134,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -8,7 +8,7 @@ return false; } -@@ -457,6 +458,11 @@ +@@ -457,6 +_,11 @@ } public void func_184185_a(SoundEvent p_184185_1_, float p_184185_2_, float p_184185_3_) { @@ -20,7 +20,7 @@ this.field_70170_p.func_184134_a(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_(), p_184185_1_, this.func_184176_by(), p_184185_2_, p_184185_3_, false); } -@@ -595,6 +601,7 @@ +@@ -595,6 +_,7 @@ boolean flag2 = this.func_223110_ee(); this.field_239203_ch_ = !this.field_71075_bZ.field_75100_b && !this.func_203007_ba() && this.func_213298_c(Pose.CROUCHING) && (this.func_225608_bj_() || !this.func_70608_bn() && !this.func_213298_c(Pose.STANDING)); this.field_71158_b.func_225607_a_(this.func_228354_I_()); @@ -28,7 +28,7 @@ this.field_71159_c.func_193032_ao().func_193293_a(this.field_71158_b); if (this.func_184587_cr() && !this.func_184218_aH()) { this.field_71158_b.field_78902_a *= 0.2F; -@@ -667,7 +674,7 @@ +@@ -667,7 +_,7 @@ if (this.field_71158_b.field_78901_c && !flag7 && !flag && !this.field_71075_bZ.field_75100_b && !this.func_184218_aH() && !this.func_70617_f_()) { ItemStack itemstack = this.func_184582_a(EquipmentSlotType.CHEST); @@ -37,10 +37,11 @@ this.field_71174_a.func_147297_a(new CEntityActionPacket(this, CEntityActionPacket.Action.START_FALL_FLYING)); } } -@@ -975,4 +982,16 @@ +@@ -974,5 +_,17 @@ + } else { return super.func_241843_o(p_241843_1_); } - } ++ } + + public void updateSyncFields(ClientPlayerEntity old) { + this.field_175172_bI = old.field_175172_bI; @@ -52,5 +53,5 @@ + this.field_228351_cj_ = old.field_228351_cj_; + this.field_175171_bO = old.field_175171_bO; + this.field_175168_bP = old.field_175168_bP; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java.patch b/patches/minecraft/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java.patch index d54f3d34d7..61d827d647 100644 --- a/patches/minecraft/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java +++ b/net/minecraft/client/entity/player/RemoteClientPlayerEntity.java -@@ -29,6 +29,7 @@ +@@ -29,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { diff --git a/patches/minecraft/net/minecraft/client/gui/DisplayEffectsScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/DisplayEffectsScreen.java.patch index 3d92abefa4..cf4058a84f 100644 --- a/patches/minecraft/net/minecraft/client/gui/DisplayEffectsScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/DisplayEffectsScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/DisplayEffectsScreen.java +++ b/net/minecraft/client/gui/DisplayEffectsScreen.java -@@ -35,6 +35,9 @@ +@@ -35,6 +_,9 @@ this.field_147003_i = (this.field_230708_k_ - this.field_146999_f) / 2; this.field_147045_u = false; } else { @@ -10,7 +10,7 @@ this.field_147003_i = 160 + (this.field_230708_k_ - this.field_146999_f - 200) / 2; this.field_147045_u = true; } -@@ -59,7 +62,7 @@ +@@ -59,7 +_,7 @@ j = 132 / (collection.size() - 1); } @@ -19,7 +19,7 @@ this.func_238810_a_(p_238811_1_, i, j, iterable); this.func_238812_b_(p_238811_1_, i, j, iterable); this.func_238813_c_(p_238811_1_, i, j, iterable); -@@ -96,6 +99,11 @@ +@@ -96,6 +_,11 @@ int i = this.field_147009_r; for(EffectInstance effectinstance : p_238813_4_) { diff --git a/patches/minecraft/net/minecraft/client/gui/IngameGui.java.patch b/patches/minecraft/net/minecraft/client/gui/IngameGui.java.patch index 0116a697bd..8ce90013b5 100644 --- a/patches/minecraft/net/minecraft/client/gui/IngameGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/IngameGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/IngameGui.java +++ b/net/minecraft/client/gui/IngameGui.java -@@ -79,7 +79,7 @@ +@@ -79,7 +_,7 @@ protected static final ResourceLocation field_110329_b = new ResourceLocation("textures/misc/vignette.png"); protected static final ResourceLocation field_110330_c = new ResourceLocation("textures/gui/widgets.png"); protected static final ResourceLocation field_110328_d = new ResourceLocation("textures/misc/pumpkinblur.png"); @@ -9,7 +9,7 @@ protected final Random field_73842_c = new Random(); protected final Minecraft field_73839_d; protected final ItemRenderer field_73841_b; -@@ -415,6 +415,9 @@ +@@ -415,6 +_,9 @@ for(EffectInstance effectinstance : Ordering.natural().reverse().sortedCopy(collection)) { Effect effect = effectinstance.func_188419_a(); @@ -19,7 +19,7 @@ if (effectinstance.func_205348_f()) { int k = this.field_194811_H; int l = 1; -@@ -452,6 +455,7 @@ +@@ -452,6 +_,7 @@ RenderSystem.color4f(1.0F, 1.0F, 1.0F, f1); func_238470_a_(p_238444_1_, j1 + 3, k1 + 3, this.func_230927_p_(), 18, 18, textureatlassprite); }); @@ -27,7 +27,7 @@ } } -@@ -576,7 +580,8 @@ +@@ -576,7 +_,8 @@ iformattabletextcomponent.func_240699_a_(TextFormatting.ITALIC); } @@ -37,7 +37,7 @@ int j = (this.field_194811_H - i) / 2; int k = this.field_194812_I - 59; if (!this.field_73839_d.field_71442_b.func_78755_b()) { -@@ -593,7 +598,13 @@ +@@ -593,7 +_,13 @@ RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); func_238467_a_(p_238453_1_, j - 2, k - 2, j + i + 2, k + 9 + 2, this.field_73839_d.field_71474_y.func_216839_a(0)); @@ -52,7 +52,7 @@ RenderSystem.disableBlend(); RenderSystem.popMatrix(); } -@@ -1056,7 +1067,7 @@ +@@ -1056,7 +_,7 @@ ItemStack itemstack = this.field_73839_d.field_71439_g.field_71071_by.func_70448_g(); if (itemstack.func_190926_b()) { this.field_92017_k = 0; diff --git a/patches/minecraft/net/minecraft/client/gui/MapItemRenderer.java.patch b/patches/minecraft/net/minecraft/client/gui/MapItemRenderer.java.patch index 58ca944589..7f32a92348 100644 --- a/patches/minecraft/net/minecraft/client/gui/MapItemRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/MapItemRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/MapItemRenderer.java +++ b/net/minecraft/client/gui/MapItemRenderer.java -@@ -115,6 +115,7 @@ +@@ -115,6 +_,7 @@ for(MapDecoration mapdecoration : this.field_148242_b.field_76203_h.values()) { if (!p_228089_3_ || mapdecoration.func_191180_f()) { diff --git a/patches/minecraft/net/minecraft/client/gui/ResourceLoadProgressGui.java.patch b/patches/minecraft/net/minecraft/client/gui/ResourceLoadProgressGui.java.patch index 57e6c839e7..d9dbfeb036 100644 --- a/patches/minecraft/net/minecraft/client/gui/ResourceLoadProgressGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/ResourceLoadProgressGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/ResourceLoadProgressGui.java +++ b/net/minecraft/client/gui/ResourceLoadProgressGui.java -@@ -97,6 +97,7 @@ +@@ -97,6 +_,7 @@ int l1 = (int)((double)this.field_212974_b.func_228018_at_().func_198087_p() * 0.8325D); float f3 = this.field_212975_c.func_219555_b(); this.field_212978_f = MathHelper.func_76131_a(this.field_212978_f * 0.95F + f3 * 0.050000012F, 0.0F, 1.0F); @@ -8,7 +8,7 @@ if (f < 1.0F) { this.func_238629_a_(p_230430_1_, i / 2 - k1, l1 - 5, i / 2 + k1, l1 + 5, 1.0F - MathHelper.func_76131_a(f, 0.0F, 1.0F)); } -@@ -106,6 +107,7 @@ +@@ -106,6 +_,7 @@ } if (this.field_212979_g == -1L && this.field_212975_c.func_219554_d() && (!this.field_212977_e || f1 >= 2.0F)) { @@ -16,7 +16,7 @@ try { this.field_212975_c.func_219556_e(); this.field_212976_d.accept(Optional.empty()); -@@ -113,7 +115,6 @@ +@@ -113,7 +_,6 @@ this.field_212976_d.accept(Optional.of(throwable)); } diff --git a/patches/minecraft/net/minecraft/client/gui/ScreenManager.java.patch b/patches/minecraft/net/minecraft/client/gui/ScreenManager.java.patch index 8227b04c03..3d4f94b975 100644 --- a/patches/minecraft/net/minecraft/client/gui/ScreenManager.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/ScreenManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/ScreenManager.java +++ b/net/minecraft/client/gui/ScreenManager.java -@@ -40,6 +40,10 @@ +@@ -40,6 +_,10 @@ private static final Map, ScreenManager.IScreenFactory> field_216914_b = Maps.newHashMap(); public static void func_216909_a(@Nullable ContainerType p_216909_0_, Minecraft p_216909_1_, int p_216909_2_, ITextComponent p_216909_3_) { @@ -11,7 +11,7 @@ if (p_216909_0_ == null) { field_216913_a.warn("Trying to open invalid screen with name: {}", (Object)p_216909_3_.getString()); } else { -@@ -47,9 +51,10 @@ +@@ -47,9 +_,10 @@ if (iscreenfactory == null) { field_216913_a.warn("Failed to create screen for menu type: {}", (Object)Registry.field_218366_G.func_177774_c(p_216909_0_)); } else { diff --git a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabGui.java.patch b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabGui.java.patch index b8b7f63816..e266b3741b 100644 --- a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/advancements/AdvancementTabGui.java +++ b/net/minecraft/client/gui/advancements/AdvancementTabGui.java -@@ -38,6 +38,7 @@ +@@ -38,6 +_,7 @@ private int field_191814_q = Integer.MIN_VALUE; private float field_191815_r; private boolean field_192992_s; @@ -8,7 +8,7 @@ public AdvancementTabGui(Minecraft p_i47589_1_, AdvancementsScreen p_i47589_2_, AdvancementTabType p_i47589_3_, int p_i47589_4_, Advancement p_i47589_5_, DisplayInfo p_i47589_6_) { this.field_191802_a = p_i47589_1_; -@@ -52,6 +53,15 @@ +@@ -52,6 +_,15 @@ this.func_193937_a(this.field_191809_l, p_i47589_5_); } @@ -24,7 +24,7 @@ public Advancement func_193935_c() { return this.field_191805_h; } -@@ -152,8 +162,8 @@ +@@ -152,8 +_,8 @@ return null; } else { for(AdvancementTabType advancementtabtype : AdvancementTabType.values()) { diff --git a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabType.java.patch b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabType.java.patch index 0e57ecc1db..20042ac1de 100644 --- a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabType.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementTabType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/advancements/AdvancementTabType.java +++ b/net/minecraft/client/gui/advancements/AdvancementTabType.java -@@ -14,6 +14,7 @@ +@@ -14,6 +_,7 @@ LEFT(0, 64, 32, 28, 5), RIGHT(96, 64, 32, 28, 5); diff --git a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementsScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementsScreen.java.patch index acdc5feb5e..90c5b02ec4 100644 --- a/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementsScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/advancements/AdvancementsScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/advancements/AdvancementsScreen.java +++ b/net/minecraft/client/gui/advancements/AdvancementsScreen.java -@@ -29,6 +29,7 @@ +@@ -29,6 +_,7 @@ private final Map field_191947_i = Maps.newLinkedHashMap(); private AdvancementTabGui field_191940_s; private boolean field_191944_v; @@ -8,7 +8,7 @@ public AdvancementsScreen(ClientAdvancementManager p_i47383_1_) { super(NarratorChatListener.field_216868_a); -@@ -44,7 +45,13 @@ +@@ -44,7 +_,13 @@ } else { this.field_191946_h.func_194230_a(this.field_191940_s == null ? null : this.field_191940_s.func_193935_c(), true); } @@ -23,7 +23,7 @@ } public void func_231164_f_() { -@@ -62,7 +69,7 @@ +@@ -62,7 +_,7 @@ int j = (this.field_230709_l_ - 140) / 2; for(AdvancementTabGui advancementtabgui : this.field_191947_i.values()) { @@ -32,7 +32,7 @@ this.field_191946_h.func_194230_a(advancementtabgui.func_193935_c(), true); break; } -@@ -86,6 +93,12 @@ +@@ -86,6 +_,12 @@ int i = (this.field_230708_k_ - 252) / 2; int j = (this.field_230709_l_ - 140) / 2; this.func_230446_a_(p_230430_1_); @@ -45,7 +45,7 @@ this.func_238696_c_(p_230430_1_, p_230430_2_, p_230430_3_, i, j); this.func_238695_a_(p_230430_1_, i, j); this.func_238697_d_(p_230430_1_, p_230430_2_, p_230430_3_, i, j); -@@ -132,6 +145,7 @@ +@@ -132,6 +_,7 @@ this.field_230706_i_.func_110434_K().func_110577_a(field_191945_g); for(AdvancementTabGui advancementtabgui : this.field_191947_i.values()) { @@ -53,7 +53,7 @@ advancementtabgui.func_238683_a_(p_238695_1_, p_238695_2_, p_238695_3_, advancementtabgui == this.field_191940_s); } -@@ -139,6 +153,7 @@ +@@ -139,6 +_,7 @@ RenderSystem.defaultBlendFunc(); for(AdvancementTabGui advancementtabgui1 : this.field_191947_i.values()) { @@ -61,7 +61,7 @@ advancementtabgui1.func_191796_a(p_238695_2_, p_238695_3_, this.field_230707_j_); } -@@ -161,7 +176,7 @@ +@@ -161,7 +_,7 @@ if (this.field_191947_i.size() > 1) { for(AdvancementTabGui advancementtabgui : this.field_191947_i.values()) { diff --git a/patches/minecraft/net/minecraft/client/gui/overlay/BossOverlayGui.java.patch b/patches/minecraft/net/minecraft/client/gui/overlay/BossOverlayGui.java.patch index e93141f5eb..55de676224 100644 --- a/patches/minecraft/net/minecraft/client/gui/overlay/BossOverlayGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/overlay/BossOverlayGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/overlay/BossOverlayGui.java +++ b/net/minecraft/client/gui/overlay/BossOverlayGui.java -@@ -32,6 +32,9 @@ +@@ -32,6 +_,9 @@ for(ClientBossInfo clientbossinfo : this.field_184060_g.values()) { int k = i / 2 - 91; @@ -10,7 +10,7 @@ RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.field_184059_f.func_110434_K().func_110577_a(field_184058_a); this.func_238485_a_(p_238484_1_, k, j, clientbossinfo); -@@ -40,7 +43,9 @@ +@@ -40,7 +_,9 @@ int i1 = i / 2 - l / 2; int j1 = j - 9; this.field_184059_f.field_71466_p.func_243246_a(p_238484_1_, itextcomponent, (float)i1, (float)j1, 16777215); diff --git a/patches/minecraft/net/minecraft/client/gui/overlay/DebugOverlayGui.java.patch b/patches/minecraft/net/minecraft/client/gui/overlay/DebugOverlayGui.java.patch index 7e017d224e..7168c2c606 100644 --- a/patches/minecraft/net/minecraft/client/gui/overlay/DebugOverlayGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/overlay/DebugOverlayGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/overlay/DebugOverlayGui.java +++ b/net/minecraft/client/gui/overlay/DebugOverlayGui.java -@@ -362,7 +362,7 @@ +@@ -362,7 +_,7 @@ list.add(this.func_211534_a(entry)); } @@ -9,7 +9,7 @@ list.add("#" + resourcelocation); } } -@@ -378,7 +378,7 @@ +@@ -378,7 +_,7 @@ list.add(this.func_211534_a(entry1)); } @@ -18,7 +18,7 @@ list.add("#" + resourcelocation1); } } -@@ -388,6 +388,7 @@ +@@ -388,6 +_,7 @@ list.add(""); list.add(TextFormatting.UNDERLINE + "Targeted Entity"); list.add(String.valueOf((Object)Registry.field_212629_r.func_177774_c(entity.func_200600_R()))); diff --git a/patches/minecraft/net/minecraft/client/gui/recipebook/RecipeBookGui.java.patch b/patches/minecraft/net/minecraft/client/gui/recipebook/RecipeBookGui.java.patch index bd36bc8e32..d038ea7134 100644 --- a/patches/minecraft/net/minecraft/client/gui/recipebook/RecipeBookGui.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/recipebook/RecipeBookGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/recipebook/RecipeBookGui.java +++ b/net/minecraft/client/gui/recipebook/RecipeBookGui.java -@@ -95,7 +95,7 @@ +@@ -95,7 +_,7 @@ this.func_205702_a(); this.field_193018_j.clear(); @@ -9,7 +9,7 @@ this.field_193018_j.add(new RecipeTabToggleWidget(recipebookcategories)); } -@@ -434,7 +434,7 @@ +@@ -434,7 +_,7 @@ languagemanager.func_135045_a(language); this.field_191888_F.field_71474_y.field_74363_ab = language.getCode(); diff --git a/patches/minecraft/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java.patch index 16299d898c..0eb3814ec7 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java +++ b/net/minecraft/client/gui/screen/BiomeGeneratorTypeScreens.java -@@ -113,6 +113,9 @@ +@@ -113,6 +_,9 @@ private BiomeGeneratorTypeScreens(String p_i232324_1_) { this.field_239076_k_ = new TranslationTextComponent("generator." + p_i232324_1_); } @@ -10,7 +10,7 @@ private static DimensionGeneratorSettings func_243452_a(DynamicRegistries p_243452_0_, DimensionGeneratorSettings p_243452_1_, BiomeGeneratorTypeScreens p_243452_2_, Biome p_243452_3_) { BiomeProvider biomeprovider = new SingleBiomeProvider(p_243452_3_); -@@ -166,4 +169,8 @@ +@@ -166,4 +_,8 @@ public interface IFactory { Screen createEditScreen(CreateWorldScreen p_createEditScreen_1_, DimensionGeneratorSettings p_createEditScreen_2_); } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/ControlsScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/ControlsScreen.java.patch index 40b143b9b2..70336c181a 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/ControlsScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/ControlsScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/ControlsScreen.java +++ b/net/minecraft/client/gui/screen/ControlsScreen.java -@@ -33,7 +33,7 @@ +@@ -33,7 +_,7 @@ this.field_230705_e_.add(this.field_146494_r); this.field_146493_s = this.func_230480_a_(new Button(this.field_230708_k_ / 2 - 155, this.field_230709_l_ - 29, 150, 20, new TranslationTextComponent("controls.resetAll"), (p_213125_1_) -> { for(KeyBinding keybinding : this.field_228183_b_.field_74324_K) { @@ -9,7 +9,7 @@ } KeyBinding.func_74508_b(); -@@ -57,11 +57,14 @@ +@@ -57,11 +_,14 @@ public boolean func_231046_a_(int p_231046_1_, int p_231046_2_, int p_231046_3_) { if (this.field_146491_f != null) { if (p_231046_1_ == 256) { diff --git a/patches/minecraft/net/minecraft/client/gui/screen/CreateWorldScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/CreateWorldScreen.java.patch index fdb65be2d6..2fe57a3798 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/CreateWorldScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/CreateWorldScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/CreateWorldScreen.java +++ b/net/minecraft/client/gui/screen/CreateWorldScreen.java -@@ -110,7 +110,7 @@ +@@ -110,7 +_,7 @@ public static CreateWorldScreen func_243425_a(@Nullable Screen p_243425_0_) { DynamicRegistries.Impl dynamicregistries$impl = DynamicRegistries.func_239770_b_(); @@ -9,7 +9,7 @@ } private CreateWorldScreen(@Nullable Screen p_i242063_1_, DatapackCodec p_i242063_2_, WorldOptionsScreen p_i242063_3_) { -@@ -542,6 +542,7 @@ +@@ -542,6 +_,7 @@ File file1 = path.toFile(); if (this.field_243416_G == null) { this.field_243416_G = new ResourcePackList(new ServerPackFinder(), new FolderPackFinder(file1, IPackNameDecorator.field_232625_a_)); diff --git a/patches/minecraft/net/minecraft/client/gui/screen/DeathScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/DeathScreen.java.patch index 61c1f8518e..e646008074 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/DeathScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/DeathScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/DeathScreen.java +++ b/net/minecraft/client/gui/screen/DeathScreen.java -@@ -35,6 +35,7 @@ +@@ -35,6 +_,7 @@ })); Button button = this.func_230480_a_(new Button(this.field_230708_k_ / 2 - 100, this.field_230709_l_ / 4 + 96, 200, 20, new TranslationTextComponent("deathScreen.titleScreen"), (p_213020_1_) -> { if (this.field_213023_c) { diff --git a/patches/minecraft/net/minecraft/client/gui/screen/EnchantmentScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/EnchantmentScreen.java.patch index 95eb610a31..48a04998a0 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/EnchantmentScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/EnchantmentScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/EnchantmentScreen.java +++ b/net/minecraft/client/gui/screen/EnchantmentScreen.java -@@ -149,7 +149,7 @@ +@@ -149,7 +_,7 @@ int i2 = 86 - this.field_230712_o_.func_78256_a(s); ITextProperties itextproperties = EnchantmentNameParts.func_178176_a().func_238816_a_(this.field_230712_o_, i2); int j2 = 6839882; @@ -9,7 +9,7 @@ this.func_238474_b_(p_230450_1_, j1, j + 14 + 19 * i1, 0, 185, 108, 19); this.func_238474_b_(p_230450_1_, j1 + 1, j + 15 + 19 * i1, 16 * i1, 239, 16, 16); this.field_230712_o_.func_238418_a_(itextproperties, k1, j + 16 + 19 * i1, i2, (j2 & 16711422) >> 1); -@@ -188,10 +188,13 @@ +@@ -188,10 +_,13 @@ Enchantment enchantment = Enchantment.func_185262_c((this.field_147002_h).field_185001_h[j]); int l = (this.field_147002_h).field_185002_i[j]; int i1 = j + 1; diff --git a/patches/minecraft/net/minecraft/client/gui/screen/LanguageScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/LanguageScreen.java.patch index 7c245db65a..e9aed17848 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/LanguageScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/LanguageScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/LanguageScreen.java +++ b/net/minecraft/client/gui/screen/LanguageScreen.java -@@ -46,7 +46,7 @@ +@@ -46,7 +_,7 @@ if (languagescreen$list$languageentry != null && !languagescreen$list$languageentry.field_214398_b.getCode().equals(this.field_146454_h.func_135041_c().getCode())) { this.field_146454_h.func_135045_a(languagescreen$list$languageentry.field_214398_b); this.field_228183_b_.field_74363_ab = languagescreen$list$languageentry.field_214398_b.getCode(); 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 e664711368..b199962bec 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/MainMenuScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/MainMenuScreen.java +++ b/net/minecraft/client/gui/screen/MainMenuScreen.java -@@ -54,6 +54,7 @@ +@@ -54,6 +_,7 @@ private final RenderSkybox field_209101_K = new RenderSkybox(field_213098_a); private final boolean field_213102_y; private long field_213103_z; @@ -8,7 +8,7 @@ public MainMenuScreen() { this(false); -@@ -97,11 +98,16 @@ +@@ -97,11 +_,16 @@ this.field_193979_N = this.field_230708_k_ - this.field_193978_M - 2; int i = 24; int j = this.field_230709_l_ / 4 + 48; @@ -25,7 +25,7 @@ this.func_230480_a_(new ImageButton(this.field_230708_k_ / 2 - 124, j + 72 + 12, 20, 20, 0, 106, 20, Button.field_230687_i_, 256, 256, (p_213090_1_) -> { this.field_230706_i_.func_147108_a(new LanguageScreen(this, this.field_230706_i_.field_71474_y, this.field_230706_i_.func_135016_M())); -@@ -143,7 +149,7 @@ +@@ -143,7 +_,7 @@ Screen screen = (Screen)(this.field_230706_i_.field_71474_y.field_230152_Z_ ? new MultiplayerScreen(this) : new MultiplayerWarningScreen(this)); this.field_230706_i_.func_147108_a(screen); }, button$itooltip))).field_230693_o_ = flag; @@ -34,7 +34,7 @@ this.func_140005_i(); }, button$itooltip))).field_230693_o_ = flag; } -@@ -229,6 +235,7 @@ +@@ -229,6 +_,7 @@ this.field_230706_i_.func_110434_K().func_110577_a(field_194400_H); func_238463_a_(p_230430_1_, j + 88, 67, 0.0F, 0.0F, 98, 14, 128, 16); @@ -42,7 +42,7 @@ if (this.field_73975_c != null) { RenderSystem.pushMatrix(); RenderSystem.translatef((float)(this.field_230708_k_ / 2 + 90), 70.0F, 0.0F); -@@ -251,7 +258,14 @@ +@@ -251,7 +_,14 @@ s = s + I18n.func_135052_a("menu.modded"); } @@ -58,7 +58,7 @@ func_238476_c_(p_230430_1_, this.field_230712_o_, "Copyright Mojang AB. Do not distribute!", this.field_193979_N, this.field_230709_l_ - 10, 16777215 | l); if (p_230430_2_ > this.field_193979_N && p_230430_2_ < this.field_193979_N + this.field_193978_M && p_230430_3_ > this.field_230709_l_ - 10 && p_230430_3_ < this.field_230709_l_) { func_238467_a_(p_230430_1_, this.field_193979_N, this.field_230709_l_ - 1, this.field_193979_N + this.field_193978_M, this.field_230709_l_, 16777215 | l); -@@ -265,6 +279,7 @@ +@@ -265,6 +_,7 @@ if (this.func_183501_a() && f1 >= 1.0F) { this.field_183503_M.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_); } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/MultiplayerScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/MultiplayerScreen.java.patch index dac8aef402..7e6457c584 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/MultiplayerScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/MultiplayerScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/MultiplayerScreen.java +++ b/net/minecraft/client/gui/screen/MultiplayerScreen.java -@@ -241,6 +241,11 @@ +@@ -241,6 +_,11 @@ } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/OptionsScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/OptionsScreen.java.patch index c778f05249..0fbbbd237c 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/OptionsScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/OptionsScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/OptionsScreen.java +++ b/net/minecraft/client/gui/screen/OptionsScreen.java -@@ -146,4 +146,12 @@ +@@ -146,4 +_,12 @@ func_238472_a_(p_230430_1_, this.field_230712_o_, this.field_230704_d_, this.field_230708_k_ / 2, 15, 16777215); super.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_); } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/PackLoadingManager.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/PackLoadingManager.java.patch index ac5eee9b57..e2f684e9cb 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/PackLoadingManager.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/PackLoadingManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/PackLoadingManager.java +++ b/net/minecraft/client/gui/screen/PackLoadingManager.java -@@ -134,6 +134,11 @@ +@@ -134,6 +_,11 @@ public void func_230468_k_() { this.func_238879_a_(1); } @@ -12,7 +12,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -229,5 +234,7 @@ +@@ -229,5 +_,7 @@ boolean func_230469_o_(); boolean func_230470_p_(); diff --git a/patches/minecraft/net/minecraft/client/gui/screen/PackScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/PackScreen.java.patch index 9e81765a96..bf3b64ea9c 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/PackScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/PackScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/PackScreen.java +++ b/net/minecraft/client/gui/screen/PackScreen.java -@@ -129,7 +129,7 @@ +@@ -129,7 +_,7 @@ private void func_238899_a_(net.minecraft.client.gui.widget.list.ResourcePackList p_238899_1_, Stream p_238899_2_) { p_238899_1_.func_231039_at__().clear(); diff --git a/patches/minecraft/net/minecraft/client/gui/screen/Screen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/Screen.java.patch index 7cf0dbd115..622f77e957 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/Screen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/Screen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/Screen.java +++ b/net/minecraft/client/gui/screen/Screen.java -@@ -113,7 +113,10 @@ +@@ -113,7 +_,10 @@ } protected void func_230457_a_(MatrixStack p_230457_1_, ItemStack p_230457_2_, int p_230457_3_, int p_230457_4_) { @@ -12,7 +12,7 @@ } public List func_231151_a_(ItemStack p_231151_1_) { -@@ -121,14 +124,20 @@ +@@ -121,14 +_,20 @@ } public void func_238652_a_(MatrixStack p_238652_1_, ITextComponent p_238652_2_, int p_238652_3_, int p_238652_4_) { @@ -23,10 +23,10 @@ public void func_243308_b(MatrixStack p_243308_1_, List p_243308_2_, int p_243308_3_, int p_243308_4_) { - this.func_238654_b_(p_243308_1_, Lists.transform(p_243308_2_, ITextComponent::func_241878_f), p_243308_3_, p_243308_4_); + this.renderWrappedToolTip(p_243308_1_, p_243308_2_, p_243308_3_, p_243308_4_, field_230712_o_); - } ++ } + public void renderWrappedToolTip(MatrixStack matrixStack, List tooltips, int mouseX, int mouseY, FontRenderer font) { + net.minecraftforge.fml.client.gui.GuiUtils.drawHoveringText(matrixStack, tooltips, mouseX, mouseY, field_230708_k_, field_230709_l_, -1, font); -+ } + } public void func_238654_b_(MatrixStack p_238654_1_, List p_238654_2_, int p_238654_3_, int p_238654_4_) { + this.renderToolTip(p_238654_1_, p_238654_2_, p_238654_3_, p_238654_4_, field_230712_o_); @@ -35,7 +35,7 @@ if (!p_238654_2_.isEmpty()) { int i = 0; -@@ -289,9 +298,12 @@ +@@ -289,9 +_,12 @@ } public void func_231159_b_(String p_231159_1_, boolean p_231159_2_) { @@ -48,7 +48,7 @@ this.field_230706_i_.field_71439_g.func_71165_d(p_231159_1_); } -@@ -302,10 +314,17 @@ +@@ -302,10 +_,17 @@ this.field_230712_o_ = p_231158_1_.field_71466_p; this.field_230708_k_ = p_231158_2_; this.field_230709_l_ = p_231158_3_; @@ -66,7 +66,7 @@ } public List func_231039_at__() { -@@ -328,6 +347,7 @@ +@@ -328,6 +_,7 @@ public void func_238651_a_(MatrixStack p_238651_1_, int p_238651_2_) { if (this.field_230706_i_.field_71441_e != null) { this.func_238468_a_(p_238651_1_, 0, 0, this.field_230708_k_, this.field_230709_l_, -1072689136, -804253680); @@ -74,7 +74,7 @@ } else { this.func_231165_f_(p_238651_2_); } -@@ -346,6 +366,7 @@ +@@ -346,6 +_,7 @@ bufferbuilder.func_225582_a_((double)this.field_230708_k_, 0.0D, 0.0D).func_225583_a_((float)this.field_230708_k_ / 32.0F, (float)p_231165_1_).func_225586_a_(64, 64, 64, 255).func_181675_d(); bufferbuilder.func_225582_a_(0.0D, 0.0D, 0.0D).func_225583_a_(0.0F, (float)p_231165_1_).func_225586_a_(64, 64, 64, 255).func_181675_d(); tessellator.func_78381_a(); @@ -82,12 +82,13 @@ } public boolean func_231177_au__() { -@@ -432,4 +453,8 @@ +@@ -431,5 +_,9 @@ + } public void func_230476_a_(List p_230476_1_) { - } ++ } + + public Minecraft getMinecraft() { + return this.field_230706_i_; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/ServerSelectionList.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/ServerSelectionList.java.patch index 88e27ed66b..73e4bc6809 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/ServerSelectionList.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/ServerSelectionList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/ServerSelectionList.java +++ b/net/minecraft/client/gui/screen/ServerSelectionList.java -@@ -307,6 +307,8 @@ +@@ -307,6 +_,8 @@ this.field_148303_c.func_238854_b_(list1); } diff --git a/patches/minecraft/net/minecraft/client/gui/screen/WorldOptionsScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/WorldOptionsScreen.java.patch index 20c6bf80c8..81ad181038 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/WorldOptionsScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/WorldOptionsScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/WorldOptionsScreen.java +++ b/net/minecraft/client/gui/screen/WorldOptionsScreen.java -@@ -134,6 +134,7 @@ +@@ -134,6 +_,7 @@ this.field_239035_i_.field_230693_o_ = this.field_239040_n_.isPresent(); this.field_239036_j_ = p_239048_1_.func_230480_a_(new Button(j, 120, 150, 20, new TranslationTextComponent("selectWorld.customizeType"), (p_239044_3_) -> { BiomeGeneratorTypeScreens.IFactory biomegeneratortypescreens$ifactory = BiomeGeneratorTypeScreens.field_239069_d_.get(this.field_239040_n_); @@ -8,7 +8,7 @@ if (biomegeneratortypescreens$ifactory != null) { p_239048_2_.func_147108_a(biomegeneratortypescreens$ifactory.createEditScreen(p_239048_1_, this.field_239039_m_)); } -@@ -292,7 +293,7 @@ +@@ -292,7 +_,7 @@ } else { this.field_239034_h_.field_230694_p_ = p_239059_1_; this.field_239027_a_.field_230694_p_ = p_239059_1_; diff --git a/patches/minecraft/net/minecraft/client/gui/screen/inventory/ContainerScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/inventory/ContainerScreen.java.patch index 42984cd40b..82de7a733d 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/inventory/ContainerScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/inventory/ContainerScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/inventory/ContainerScreen.java +++ b/net/minecraft/client/gui/screen/inventory/ContainerScreen.java -@@ -86,6 +86,7 @@ +@@ -86,6 +_,7 @@ int i = this.field_147003_i; int j = this.field_147009_r; this.func_230450_a_(p_230430_1_, p_230430_4_, p_230430_2_, p_230430_3_); @@ -8,7 +8,7 @@ RenderSystem.disableRescaleNormal(); RenderSystem.disableDepthTest(); super.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_); -@@ -111,13 +112,15 @@ +@@ -111,13 +_,15 @@ int j1 = slot.field_75223_e; int k1 = slot.field_75221_f; RenderSystem.colorMask(true, true, true, false); @@ -25,7 +25,7 @@ PlayerInventory playerinventory = this.field_230706_i_.field_71439_g.field_71071_by; ItemStack itemstack = this.field_147012_x.func_190926_b() ? playerinventory.func_70445_o() : this.field_147012_x; if (!itemstack.func_190926_b()) { -@@ -167,8 +170,10 @@ +@@ -167,8 +_,10 @@ RenderSystem.translatef(0.0F, 0.0F, 32.0F); this.func_230926_e_(200); this.field_230707_j_.field_77023_b = 200.0F; @@ -37,7 +37,7 @@ this.func_230926_e_(0); this.field_230707_j_.field_77023_b = 0.0F; } -@@ -278,7 +283,8 @@ +@@ -278,7 +_,8 @@ if (super.func_231044_a_(p_231044_1_, p_231044_3_, p_231044_5_)) { return true; } else { @@ -47,7 +47,7 @@ Slot slot = this.func_195360_a(p_231044_1_, p_231044_3_); long i = Util.func_211177_b(); this.field_146993_M = this.field_146998_K == slot && i - this.field_146997_J < 250L && this.field_146992_L == p_231044_5_; -@@ -289,6 +295,7 @@ +@@ -289,6 +_,7 @@ int j = this.field_147003_i; int k = this.field_147009_r; boolean flag1 = this.func_195361_a(p_231044_1_, p_231044_3_, j, k, p_231044_5_); @@ -55,7 +55,7 @@ int l = -1; if (slot != null) { l = slot.field_75222_d; -@@ -314,7 +321,7 @@ +@@ -314,7 +_,7 @@ } } else if (!this.field_147007_t) { if (this.field_230706_i_.field_71439_g.field_71071_by.func_70445_o().func_190926_b()) { @@ -64,7 +64,7 @@ this.func_184098_a(slot, l, p_231044_5_, ClickType.CLONE); } else { boolean flag2 = l != -999 && (InputMappings.func_216506_a(Minecraft.func_71410_x().func_228018_at_().func_198092_i(), 340) || InputMappings.func_216506_a(Minecraft.func_71410_x().func_228018_at_().func_198092_i(), 344)); -@@ -338,7 +345,7 @@ +@@ -338,7 +_,7 @@ this.field_146987_F = 0; } else if (p_231044_5_ == 1) { this.field_146987_F = 1; @@ -73,7 +73,7 @@ this.field_146987_F = 2; } } -@@ -407,10 +414,13 @@ +@@ -407,10 +_,13 @@ } public boolean func_231048_c_(double p_231048_1_, double p_231048_3_, int p_231048_5_) { @@ -87,7 +87,7 @@ int k = -1; if (slot != null) { k = slot.field_75222_d; -@@ -424,7 +434,7 @@ +@@ -424,7 +_,7 @@ if (func_231173_s_()) { if (!this.field_146994_N.func_190926_b()) { for(Slot slot2 : this.field_147002_h.field_75151_b) { @@ -96,7 +96,7 @@ this.func_184098_a(slot2, slot2.field_75222_d, p_231048_5_, ClickType.QUICK_MOVE); } } -@@ -488,7 +498,7 @@ +@@ -488,7 +_,7 @@ this.func_184098_a((Slot)null, -999, Container.func_94534_d(2, this.field_146987_F), ClickType.QUICK_CRAFT); } else if (!this.field_230706_i_.field_71439_g.field_71071_by.func_70445_o().func_190926_b()) { @@ -105,7 +105,7 @@ this.func_184098_a(slot, k, p_231048_5_, ClickType.CLONE); } else { boolean flag1 = k != -999 && (InputMappings.func_216506_a(Minecraft.func_71410_x().func_228018_at_().func_198092_i(), 340) || InputMappings.func_216506_a(Minecraft.func_71410_x().func_228018_at_().func_198092_i(), 344)); -@@ -530,34 +540,39 @@ +@@ -530,34 +_,39 @@ } public boolean func_231046_a_(int p_231046_1_, int p_231046_2_, int p_231046_3_) { @@ -152,10 +152,12 @@ this.func_184098_a(this.field_147006_u, this.field_147006_u.field_75222_d, i, ClickType.SWAP); return true; } -@@ -589,6 +604,18 @@ - return this.field_147002_h; - } +@@ -587,6 +_,18 @@ + public T func_212873_a_() { + return this.field_147002_h; ++ } ++ + @javax.annotation.Nullable + public Slot getSlotUnderMouse() { return this.field_147006_u; } + public int getGuiLeft() { return field_147003_i; } @@ -166,8 +168,6 @@ + protected int slotColor = -2130706433; + public int getSlotColor(int index) { + return slotColor; -+ } -+ + } + public void func_231175_as__() { - this.field_230706_i_.field_71439_g.func_71053_j(); - super.func_231175_as__(); diff --git a/patches/minecraft/net/minecraft/client/gui/screen/inventory/CreativeScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screen/inventory/CreativeScreen.java.patch index 1d9f7b7ab4..530dd198f0 100644 --- a/patches/minecraft/net/minecraft/client/gui/screen/inventory/CreativeScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screen/inventory/CreativeScreen.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/screen/inventory/CreativeScreen.java +++ b/net/minecraft/client/gui/screen/inventory/CreativeScreen.java -@@ -65,6 +65,8 @@ +@@ -65,6 +_,8 @@ private Slot field_147064_C; private CreativeCraftingListener field_147059_E; private boolean field_195377_F; @@ -9,7 +9,7 @@ private boolean field_199506_G; private final Map> field_214085_w = Maps.newTreeMap(); -@@ -234,6 +236,12 @@ +@@ -234,6 +_,12 @@ protected void func_231160_c_() { if (this.field_230706_i_.field_71442_b.func_78758_h()) { super.func_231160_c_(); @@ -22,7 +22,7 @@ this.field_230706_i_.field_195559_v.func_197967_a(true); this.field_147062_A = new TextFieldWidget(this.field_230712_o_, this.field_147003_i + 82, this.field_147009_r + 6, 80, 9, new TranslationTextComponent("itemGroup.search")); this.field_147062_A.func_146203_f(50); -@@ -275,7 +283,7 @@ +@@ -275,7 +_,7 @@ public boolean func_231042_a_(char p_231042_1_, int p_231042_2_) { if (this.field_195377_F) { return false; @@ -31,7 +31,7 @@ return false; } else { String s = this.field_147062_A.func_146179_b(); -@@ -293,7 +301,7 @@ +@@ -293,7 +_,7 @@ public boolean func_231046_a_(int p_231046_1_, int p_231046_2_, int p_231046_3_) { this.field_195377_F = false; @@ -40,7 +40,7 @@ if (this.field_230706_i_.field_71474_y.field_74310_D.func_197976_a(p_231046_1_, p_231046_2_)) { this.field_195377_F = true; this.func_147050_b(ItemGroup.field_78027_g); -@@ -330,6 +338,32 @@ +@@ -330,6 +_,32 @@ private void func_147053_i() { (this.field_147002_h).field_148330_a.clear(); this.field_214085_w.clear(); @@ -73,7 +73,7 @@ String s = this.field_147062_A.func_146179_b(); if (s.isEmpty()) { for(Item item : Registry.field_212630_s) { -@@ -375,9 +409,9 @@ +@@ -375,9 +_,9 @@ protected void func_230451_b_(MatrixStack p_230451_1_, int p_230451_2_, int p_230451_3_) { ItemGroup itemgroup = ItemGroup.field_78032_a[field_147058_w]; @@ -85,7 +85,7 @@ } } -@@ -388,7 +422,7 @@ +@@ -388,7 +_,7 @@ double d1 = p_231044_3_ - (double)this.field_147009_r; for(ItemGroup itemgroup : ItemGroup.field_78032_a) { @@ -94,7 +94,7 @@ return true; } } -@@ -409,7 +443,7 @@ +@@ -409,7 +_,7 @@ this.field_147066_y = false; for(ItemGroup itemgroup : ItemGroup.field_78032_a) { @@ -103,7 +103,7 @@ this.func_147050_b(itemgroup); return true; } -@@ -420,12 +454,15 @@ +@@ -420,12 +_,15 @@ } private boolean func_147055_p() { @@ -119,7 +119,7 @@ this.field_147008_s.clear(); (this.field_147002_h).field_148330_a.clear(); if (p_147050_1_ == ItemGroup.field_192395_m) { -@@ -502,13 +539,15 @@ +@@ -502,13 +_,15 @@ } if (this.field_147062_A != null) { @@ -136,7 +136,7 @@ this.func_147053_i(); } else { -@@ -568,16 +607,35 @@ +@@ -568,16 +_,35 @@ this.func_230446_a_(p_230430_1_); super.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_); @@ -174,7 +174,7 @@ RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.func_230459_a_(p_230430_1_, p_230430_2_, p_230430_3_); } -@@ -612,7 +670,10 @@ +@@ -612,7 +_,10 @@ list1.add(1, itemgroup.func_242392_c().func_230532_e_().func_240699_a_(TextFormatting.BLUE)); } @@ -186,7 +186,7 @@ } else { super.func_230457_a_(p_230457_1_, p_230457_2_, p_230457_3_, p_230457_4_); } -@@ -623,25 +684,44 @@ +@@ -623,25 +_,44 @@ RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); ItemGroup itemgroup = ItemGroup.field_78032_a[field_147058_w]; @@ -236,7 +236,7 @@ this.func_238808_a_(p_230450_1_, itemgroup); if (itemgroup == ItemGroup.field_78036_m) { InventoryScreen.func_228187_a_(this.field_147003_i + 88, this.field_147009_r + 45, 20, (float)(this.field_147003_i + 88 - p_230450_3_), (float)(this.field_147009_r + 45 - 30 - p_230450_4_), this.field_230706_i_.field_71439_g); -@@ -650,6 +730,7 @@ +@@ -650,6 +_,7 @@ } protected boolean func_195375_a(ItemGroup p_195375_1_, double p_195375_2_, double p_195375_4_) { @@ -244,7 +244,7 @@ int i = p_195375_1_.func_78020_k(); int j = 28 * i; int k = 0; -@@ -718,6 +799,8 @@ +@@ -718,6 +_,8 @@ i1 = i1 + (this.field_147000_g - 4); } @@ -253,10 +253,11 @@ this.func_238474_b_(p_238808_1_, l, i1, j, k, 28, 32); this.field_230707_j_.field_77023_b = 100.0F; l = l + 6; -@@ -884,6 +967,22 @@ +@@ -883,6 +_,22 @@ + public boolean func_82869_a(PlayerEntity p_82869_1_) { return this.field_148332_b.func_82869_a(p_82869_1_); - } ++ } + + @Override + public int getSlotIndex() { @@ -272,7 +273,6 @@ + public Slot setBackground(ResourceLocation atlas, ResourceLocation sprite) { + this.field_148332_b.setBackground(atlas, sprite); + return this; -+ } + } } - @OnlyIn(Dist.CLIENT) 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 511c7cee04..a2b29fd509 100644 --- a/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/widget/Widget.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/widget/Widget.java +++ b/net/minecraft/client/gui/widget/Widget.java -@@ -111,7 +111,7 @@ +@@ -111,7 +_,7 @@ this.func_238474_b_(p_230431_1_, this.field_230690_l_, this.field_230691_m_, 0, 46 + i * 20, this.field_230688_j_ / 2, this.field_230689_k_); this.func_238474_b_(p_230431_1_, this.field_230690_l_ + this.field_230688_j_ / 2, this.field_230691_m_, 200 - this.field_230688_j_ / 2, 46 + i * 20, this.field_230688_j_ / 2, this.field_230689_k_); this.func_230441_a_(p_230431_1_, minecraft, p_230431_2_, p_230431_3_); @@ -9,7 +9,7 @@ func_238472_a_(p_230431_1_, fontrenderer, this.func_230458_i_(), this.field_230690_l_ + this.field_230688_j_ / 2, this.field_230691_m_ + (this.field_230689_k_ - 8) / 2, j | MathHelper.func_76123_f(this.field_230695_q_ * 255.0F) << 24); } -@@ -206,6 +206,10 @@ +@@ -206,6 +_,10 @@ this.field_230688_j_ = p_230991_1_; } @@ -20,10 +20,11 @@ public void func_230986_a_(float p_230986_1_) { this.field_230695_q_ = p_230986_1_; } -@@ -233,4 +237,17 @@ +@@ -232,5 +_,18 @@ + protected void func_230996_d_(boolean p_230996_1_) { this.field_230686_c_ = p_230996_1_; - } ++ } + + public static final int UNSET_FG_COLOR = -1; + protected int packedFGColor = UNSET_FG_COLOR; @@ -36,5 +37,5 @@ + } + public void clearFGColor() { + this.packedFGColor = UNSET_FG_COLOR; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/gui/widget/list/AbstractList.java.patch b/patches/minecraft/net/minecraft/client/gui/widget/list/AbstractList.java.patch index 8e47d8bbfc..50fa8c0ede 100644 --- a/patches/minecraft/net/minecraft/client/gui/widget/list/AbstractList.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/widget/list/AbstractList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/widget/list/AbstractList.java +++ b/net/minecraft/client/gui/widget/list/AbstractList.java -@@ -492,6 +492,13 @@ +@@ -492,6 +_,13 @@ p_238480_1_.field_230666_a_ = this; } diff --git a/patches/minecraft/net/minecraft/client/gui/widget/list/KeyBindingList.java.patch b/patches/minecraft/net/minecraft/client/gui/widget/list/KeyBindingList.java.patch index 7856aecedf..271e8bc3ff 100644 --- a/patches/minecraft/net/minecraft/client/gui/widget/list/KeyBindingList.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/widget/list/KeyBindingList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/gui/widget/list/KeyBindingList.java +++ b/net/minecraft/client/gui/widget/list/KeyBindingList.java -@@ -50,7 +50,7 @@ +@@ -50,7 +_,7 @@ } protected int func_230952_d_() { @@ -9,7 +9,7 @@ } public int func_230949_c_() { -@@ -94,7 +94,7 @@ +@@ -94,7 +_,7 @@ private KeyEntry(final KeyBinding p_i232281_2_, final ITextComponent p_i232281_3_) { this.field_148282_b = p_i232281_2_; this.field_148283_c = p_i232281_3_; @@ -18,7 +18,7 @@ KeyBindingList.this.field_148191_k.field_146491_f = p_i232281_2_; }) { protected IFormattableTextComponent func_230442_c_() { -@@ -102,6 +102,7 @@ +@@ -102,6 +_,7 @@ } }; this.field_148281_e = new Button(0, 0, 50, 20, new TranslationTextComponent("controls.reset"), (p_214387_2_) -> { @@ -26,7 +26,7 @@ KeyBindingList.this.field_230668_b_.field_71474_y.func_198014_a(p_i232281_2_, p_i232281_2_.func_197977_i()); KeyBinding.func_74508_b(); }) { -@@ -114,7 +115,7 @@ +@@ -114,7 +_,7 @@ public void func_230432_a_(MatrixStack p_230432_1_, int p_230432_2_, int p_230432_3_, int p_230432_4_, int p_230432_5_, int p_230432_6_, int p_230432_7_, int p_230432_8_, boolean p_230432_9_, float p_230432_10_) { boolean flag = KeyBindingList.this.field_148191_k.field_146491_f == this.field_148282_b; KeyBindingList.this.field_230668_b_.field_71466_p.func_243248_b(p_230432_1_, this.field_148283_c, (float)(p_230432_4_ + 90 - KeyBindingList.this.field_148188_n), (float)(p_230432_3_ + p_230432_6_ / 2 - 9 / 2), 16777215); @@ -35,7 +35,7 @@ this.field_148281_e.field_230691_m_ = p_230432_3_; this.field_148281_e.field_230693_o_ = !this.field_148282_b.func_197985_l(); this.field_148281_e.func_230430_a_(p_230432_1_, p_230432_7_, p_230432_8_, p_230432_10_); -@@ -122,11 +123,12 @@ +@@ -122,11 +_,12 @@ this.field_148280_d.field_230691_m_ = p_230432_3_; this.field_148280_d.func_238482_a_(this.field_148282_b.func_238171_j_()); boolean flag1 = false; @@ -49,7 +49,7 @@ } } } -@@ -134,7 +136,7 @@ +@@ -134,7 +_,7 @@ if (flag) { this.field_148280_d.func_238482_a_((new StringTextComponent("> ")).func_230529_a_(this.field_148280_d.func_230458_i_().func_230532_e_().func_240699_a_(TextFormatting.YELLOW)).func_240702_b_(" <").func_240699_a_(TextFormatting.YELLOW)); } else if (flag1) { diff --git a/patches/minecraft/net/minecraft/client/main/Main.java.patch b/patches/minecraft/net/minecraft/client/main/Main.java.patch index 586a59847c..eb2dff2fa9 100644 --- a/patches/minecraft/net/minecraft/client/main/Main.java.patch +++ b/patches/minecraft/net/minecraft/client/main/Main.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/main/Main.java +++ b/net/minecraft/client/main/Main.java -@@ -120,7 +120,7 @@ +@@ -120,7 +_,7 @@ String s7 = func_206236_a(optionset, optionspec); Integer integer = func_206236_a(optionset, optionspec1); CrashReport.func_230188_h_(); diff --git a/patches/minecraft/net/minecraft/client/multiplayer/ClientChunkProvider.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/ClientChunkProvider.java.patch index 74522efd69..3d80367a67 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/ClientChunkProvider.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/ClientChunkProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/multiplayer/ClientChunkProvider.java +++ b/net/minecraft/client/multiplayer/ClientChunkProvider.java -@@ -59,6 +59,7 @@ +@@ -59,6 +_,7 @@ int i = this.field_217256_d.func_217191_a(p_73234_1_, p_73234_2_); Chunk chunk = this.field_217256_d.func_217192_a(i); if (func_217249_a(chunk, p_73234_1_, p_73234_2_)) { @@ -8,7 +8,7 @@ this.field_217256_d.func_217190_a(i, chunk, (Chunk)null); } -@@ -112,6 +113,7 @@ +@@ -112,6 +_,7 @@ } this.field_73235_d.func_228323_e_(p_228313_1_, p_228313_2_); diff --git a/patches/minecraft/net/minecraft/client/multiplayer/PlayerController.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/PlayerController.java.patch index f35a93bf2b..2d6a0cd5d5 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/PlayerController.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/PlayerController.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/multiplayer/PlayerController.java +++ b/net/minecraft/client/multiplayer/PlayerController.java -@@ -93,6 +93,7 @@ +@@ -93,6 +_,7 @@ } public boolean func_187103_a(BlockPos p_187103_1_) { @@ -8,7 +8,7 @@ if (this.field_78776_a.field_71439_g.func_223729_a(this.field_78776_a.field_71441_e, p_187103_1_, this.field_78779_k)) { return false; } else { -@@ -104,12 +105,11 @@ +@@ -104,12 +_,11 @@ Block block = blockstate.func_177230_c(); if ((block instanceof CommandBlockBlock || block instanceof StructureBlock || block instanceof JigsawBlock) && !this.field_78776_a.field_71439_g.func_195070_dx()) { return false; @@ -23,7 +23,7 @@ if (flag) { block.func_176206_d(world, p_187103_1_, blockstate); } -@@ -130,21 +130,25 @@ +@@ -130,21 +_,25 @@ BlockState blockstate = this.field_78776_a.field_71441_e.func_180495_p(p_180511_1_); this.field_78776_a.func_193032_ao().func_193294_a(this.field_78776_a.field_71441_e, p_180511_1_, blockstate, 1.0F); this.func_225324_a(CPlayerDiggingPacket.Action.START_DESTROY_BLOCK, p_180511_1_, p_180511_2_); @@ -50,7 +50,7 @@ if (flag && blockstate1.func_185903_a(this.field_78776_a.field_71439_g, this.field_78776_a.field_71439_g.field_70170_p, p_180511_1_) >= 1.0F) { this.func_187103_a(p_180511_1_); } else { -@@ -184,22 +188,24 @@ +@@ -184,22 +_,24 @@ BlockState blockstate1 = this.field_78776_a.field_71441_e.func_180495_p(p_180512_1_); this.field_78776_a.func_193032_ao().func_193294_a(this.field_78776_a.field_71441_e, p_180512_1_, blockstate1, 1.0F); this.func_225324_a(CPlayerDiggingPacket.Action.START_DESTROY_BLOCK, p_180512_1_, p_180512_2_); @@ -77,7 +77,7 @@ if (this.field_78770_f >= 1.0F) { this.field_78778_j = false; this.func_225324_a(CPlayerDiggingPacket.Action.STOP_DESTROY_BLOCK, p_180512_1_, p_180512_2_); -@@ -218,7 +224,8 @@ +@@ -218,7 +_,8 @@ } public float func_78757_d() { @@ -87,7 +87,7 @@ } public void func_78765_e() { -@@ -235,7 +242,7 @@ +@@ -235,7 +_,7 @@ ItemStack itemstack = this.field_78776_a.field_71439_g.func_184614_ca(); boolean flag = this.field_85183_f.func_190926_b() && itemstack.func_190926_b(); if (!this.field_85183_f.func_190926_b() && !itemstack.func_190926_b()) { @@ -96,7 +96,7 @@ } return p_178893_1_.equals(this.field_178895_c) && flag; -@@ -257,13 +264,27 @@ +@@ -257,13 +_,27 @@ return ActionResultType.FAIL; } else { ItemStack itemstack = p_217292_1_.func_184586_b(p_217292_3_); @@ -126,7 +126,7 @@ ActionResultType actionresulttype = p_217292_2_.func_180495_p(blockpos).func_227031_a_(p_217292_2_, p_217292_1_, p_217292_3_, p_217292_4_); if (actionresulttype.func_226246_a_()) { this.field_78774_b.func_147297_a(new CPlayerTryUseItemOnBlockPacket(p_217292_3_, p_217292_4_)); -@@ -272,8 +293,8 @@ +@@ -272,8 +_,8 @@ } this.field_78774_b.func_147297_a(new CPlayerTryUseItemOnBlockPacket(p_217292_3_, p_217292_4_)); @@ -137,7 +137,7 @@ ActionResultType actionresulttype1; if (this.field_78779_k.func_77145_d()) { int i = itemstack.func_190916_E(); -@@ -301,11 +322,14 @@ +@@ -301,11 +_,14 @@ if (p_187101_1_.func_184811_cZ().func_185141_a(itemstack.func_77973_b())) { return ActionResultType.PASS; } else { @@ -152,7 +152,7 @@ } return actionresult.func_188397_a(); -@@ -334,6 +358,9 @@ +@@ -334,6 +_,9 @@ public ActionResultType func_187097_a(PlayerEntity p_187097_1_, Entity p_187097_2_, Hand p_187097_3_) { this.func_78750_j(); this.field_78774_b.func_147297_a(new CUseEntityPacket(p_187097_2_, p_187097_3_, p_187097_1_.func_225608_bj_())); @@ -162,7 +162,7 @@ return this.field_78779_k == GameType.SPECTATOR ? ActionResultType.PASS : p_187097_1_.func_190775_a(p_187097_2_, p_187097_3_); } -@@ -341,6 +368,9 @@ +@@ -341,6 +_,9 @@ this.func_78750_j(); Vector3d vector3d = p_187102_3_.func_216347_e().func_178786_a(p_187102_2_.func_226277_ct_(), p_187102_2_.func_226278_cu_(), p_187102_2_.func_226281_cx_()); this.field_78774_b.func_147297_a(new CUseEntityPacket(p_187102_2_, p_187102_4_, vector3d, p_187102_1_.func_225608_bj_())); diff --git a/patches/minecraft/net/minecraft/client/multiplayer/ServerData.java.patch b/patches/minecraft/net/minecraft/client/multiplayer/ServerData.java.patch index fdd38d17ee..c52ae4f822 100644 --- a/patches/minecraft/net/minecraft/client/multiplayer/ServerData.java.patch +++ b/patches/minecraft/net/minecraft/client/multiplayer/ServerData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/multiplayer/ServerData.java +++ b/net/minecraft/client/multiplayer/ServerData.java -@@ -26,6 +26,7 @@ +@@ -26,6 +_,7 @@ @Nullable private String field_147411_m; private boolean field_181042_l; diff --git a/patches/minecraft/net/minecraft/client/network/ServerPinger.java.patch b/patches/minecraft/net/minecraft/client/network/ServerPinger.java.patch index e1080176e0..0caf1289a8 100644 --- a/patches/minecraft/net/minecraft/client/network/ServerPinger.java.patch +++ b/patches/minecraft/net/minecraft/client/network/ServerPinger.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/network/ServerPinger.java +++ b/net/minecraft/client/network/ServerPinger.java -@@ -116,6 +116,7 @@ +@@ -116,6 +_,7 @@ p_147224_2_.run(); } diff --git a/patches/minecraft/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java.patch b/patches/minecraft/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java.patch index 0316cf024f..56b0c71470 100644 --- a/patches/minecraft/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java +++ b/net/minecraft/client/network/handshake/ClientHandshakeNetHandler.java -@@ -20,6 +20,7 @@ +@@ -20,6 +_,7 @@ } public void func_147383_a(CHandshakePacket p_147383_1_) { diff --git a/patches/minecraft/net/minecraft/client/network/login/ClientLoginNetHandler.java.patch b/patches/minecraft/net/minecraft/client/network/login/ClientLoginNetHandler.java.patch index 2180d9bb15..ec577514ac 100644 --- a/patches/minecraft/net/minecraft/client/network/login/ClientLoginNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/client/network/login/ClientLoginNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/network/login/ClientLoginNetHandler.java +++ b/net/minecraft/client/network/login/ClientLoginNetHandler.java -@@ -115,6 +115,7 @@ +@@ -115,6 +_,7 @@ this.field_209525_d.accept(new TranslationTextComponent("connect.joining")); this.field_175091_e = p_147390_1_.func_179730_a(); this.field_147393_d.func_150723_a(ProtocolType.PLAY); @@ -8,7 +8,7 @@ this.field_147393_d.func_150719_a(new ClientPlayNetHandler(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e)); } -@@ -143,6 +144,7 @@ +@@ -143,6 +_,7 @@ } public void func_209521_a(SCustomPayloadLoginPacket p_209521_1_) { diff --git a/patches/minecraft/net/minecraft/client/network/play/ClientPlayNetHandler.java.patch b/patches/minecraft/net/minecraft/client/network/play/ClientPlayNetHandler.java.patch index 56446f9662..977a4ec76c 100644 --- a/patches/minecraft/net/minecraft/client/network/play/ClientPlayNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/client/network/play/ClientPlayNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/network/play/ClientPlayNetHandler.java +++ b/net/minecraft/client/network/play/ClientPlayNetHandler.java -@@ -384,6 +384,7 @@ +@@ -384,6 +_,7 @@ this.field_147299_f.field_184132_p.func_217737_a(); this.field_147299_f.field_71439_g.func_70065_x(); @@ -8,7 +8,7 @@ int i = p_147282_1_.func_149197_c(); this.field_147300_g.func_217408_a(i, this.field_147299_f.field_71439_g); this.field_147299_f.field_71439_g.field_71158_b = new MovementInputFromOptions(this.field_147299_f.field_71474_y); -@@ -395,6 +396,7 @@ +@@ -395,6 +_,7 @@ this.field_147299_f.field_71439_g.func_228355_a_(p_147282_1_.func_229743_k_()); this.field_147299_f.field_71442_b.func_78746_a(p_147282_1_.func_149198_e()); this.field_147299_f.field_71442_b.func_241675_a_(p_147282_1_.func_241786_f_()); @@ -16,7 +16,7 @@ this.field_147299_f.field_71474_y.func_82879_c(); this.field_147302_e.func_179290_a(new CCustomPayloadPacket(CCustomPayloadPacket.field_210344_a, (new PacketBuffer(Unpooled.buffer())).func_180714_a(ClientBrandRetriever.getClientModName()))); this.field_147299_f.func_213229_ar().func_216814_a(); -@@ -734,7 +736,7 @@ +@@ -734,7 +_,7 @@ BlockPos blockpos = new BlockPos(compoundnbt.func_74762_e("x"), compoundnbt.func_74762_e("y"), compoundnbt.func_74762_e("z")); TileEntity tileentity = this.field_147300_g.func_175625_s(blockpos); if (tileentity != null) { @@ -25,7 +25,7 @@ } } -@@ -815,7 +817,9 @@ +@@ -815,7 +_,9 @@ public void func_147251_a(SChatPacket p_147251_1_) { PacketThreadUtil.func_218797_a(p_147251_1_, this, this.field_147299_f); @@ -36,7 +36,7 @@ } public void func_147279_a(SAnimateHandPacket p_147279_1_) { -@@ -854,8 +858,8 @@ +@@ -854,8 +_,8 @@ livingentity.func_213312_b(d0, d1, d2); livingentity.field_70761_aq = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F; livingentity.field_70759_as = (float)(p_147281_1_.func_149032_n() * 360) / 256.0F; @@ -47,7 +47,7 @@ for(int i = 0; i < aenderdragonpartentity.length; ++i) { aenderdragonpartentity[i].func_145769_d(i + p_147281_1_.func_149024_d()); -@@ -1004,8 +1008,10 @@ +@@ -1004,8 +_,10 @@ clientplayerentity1.func_233645_dx_().func_233784_a_(clientplayerentity.func_233645_dx_()); } @@ -58,7 +58,7 @@ this.field_147300_g.func_217408_a(i, clientplayerentity1); clientplayerentity1.field_70177_z = -180.0F; clientplayerentity1.field_71158_b = new MovementInputFromOptions(this.field_147299_f.field_71474_y); -@@ -1131,6 +1137,12 @@ +@@ -1131,6 +_,12 @@ if (flag && this.field_147299_f.field_71462_r instanceof CommandBlockScreen) { ((CommandBlockScreen)this.field_147299_f.field_71462_r).func_184075_a(); @@ -71,7 +71,7 @@ } } -@@ -1299,6 +1311,7 @@ +@@ -1299,6 +_,7 @@ clientrecipebook.func_243196_a(this.field_199528_o.func_199510_b()); clientrecipebook.func_199642_d().forEach(imutablesearchtree::func_217872_a); imutablesearchtree.func_194040_a(); @@ -79,7 +79,7 @@ } public void func_200232_a(SPlayerLookPacket p_200232_1_) { -@@ -1376,7 +1389,7 @@ +@@ -1376,7 +_,7 @@ PacketThreadUtil.func_218797_a(p_147260_1_, this, this.field_147299_f); Entity entity = this.field_147300_g.func_73045_a(p_147260_1_.func_149426_d()); if (entity instanceof LivingEntity) { @@ -88,7 +88,7 @@ if (effect != null) { EffectInstance effectinstance = new EffectInstance(effect, p_147260_1_.func_180755_e(), p_147260_1_.func_149428_f(), p_147260_1_.func_186984_g(), p_147260_1_.func_179707_f(), p_147260_1_.func_205527_h()); effectinstance.func_100012_b(p_147260_1_.func_149429_c()); -@@ -1388,11 +1401,14 @@ +@@ -1388,11 +_,14 @@ public void func_199723_a(STagsListPacket p_199723_1_) { PacketThreadUtil.func_218797_a(p_199723_1_, this, this.field_147299_f); ITagCollectionSupplier itagcollectionsupplier = p_199723_1_.func_199858_a(); @@ -104,7 +104,7 @@ this.field_199725_m = itagcollectionsupplier; if (!this.field_147302_e.func_150731_c()) { itagcollectionsupplier.func_242212_e(); -@@ -1885,10 +1901,12 @@ +@@ -1885,10 +_,12 @@ int l5 = packetbuffer.readInt(); this.field_147299_f.field_184132_p.field_229018_q_.func_229022_a_(blockpos8, l3, s10, l5); } else { diff --git a/patches/minecraft/net/minecraft/client/network/play/NetworkPlayerInfo.java.patch b/patches/minecraft/net/minecraft/client/network/play/NetworkPlayerInfo.java.patch index 5f5e5c6686..e0ee3cdbda 100644 --- a/patches/minecraft/net/minecraft/client/network/play/NetworkPlayerInfo.java.patch +++ b/patches/minecraft/net/minecraft/client/network/play/NetworkPlayerInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/network/play/NetworkPlayerInfo.java +++ b/net/minecraft/client/network/play/NetworkPlayerInfo.java -@@ -50,6 +50,7 @@ +@@ -50,6 +_,7 @@ } protected void func_178839_a(GameType p_178839_1_) { diff --git a/patches/minecraft/net/minecraft/client/particle/DiggingParticle.java.patch b/patches/minecraft/net/minecraft/client/particle/DiggingParticle.java.patch index 2c05109959..d5ab7fb64d 100644 --- a/patches/minecraft/net/minecraft/client/particle/DiggingParticle.java.patch +++ b/patches/minecraft/net/minecraft/client/particle/DiggingParticle.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/particle/DiggingParticle.java +++ b/net/minecraft/client/particle/DiggingParticle.java -@@ -36,6 +36,7 @@ +@@ -36,6 +_,7 @@ } public DiggingParticle func_174846_a(BlockPos p_174846_1_) { @@ -8,18 +8,18 @@ this.field_181019_az = p_174846_1_; if (this.field_174847_a.func_203425_a(Blocks.field_196658_i)) { return this; -@@ -92,7 +93,13 @@ +@@ -92,7 +_,13 @@ public static class Factory implements IParticleFactory { public Particle func_199234_a(BlockParticleData p_199234_1_, ClientWorld p_199234_2_, double p_199234_3_, double p_199234_5_, double p_199234_7_, double p_199234_9_, double p_199234_11_, double p_199234_13_) { BlockState blockstate = p_199234_1_.func_197584_c(); - return !blockstate.func_196958_f() && !blockstate.func_203425_a(Blocks.field_196603_bb) ? (new DiggingParticle(p_199234_2_, p_199234_3_, p_199234_5_, p_199234_7_, p_199234_9_, p_199234_11_, p_199234_13_, blockstate)).func_174845_l() : null; + return !blockstate.func_196958_f() && !blockstate.func_203425_a(Blocks.field_196603_bb) ? (new DiggingParticle(p_199234_2_, p_199234_3_, p_199234_5_, p_199234_7_, p_199234_9_, p_199234_11_, p_199234_13_, blockstate)).func_174845_l().updateSprite(p_199234_1_.getPos()) : null; } - } ++ } + + private Particle updateSprite(BlockPos pos) { //FORGE: we cannot assume that the x y z of the particles match the block pos of the block. + if (pos != null) // There are cases where we are not able to obtain the correct source pos, and need to fallback to the non-model data version + this.func_217567_a(Minecraft.func_71410_x().func_175602_ab().func_175023_a().getTexture(field_174847_a, field_187122_b, pos)); + return this; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/particle/Particle.java.patch b/patches/minecraft/net/minecraft/client/particle/Particle.java.patch index 20ad2f7093..3d1feb2ede 100644 --- a/patches/minecraft/net/minecraft/client/particle/Particle.java.patch +++ b/patches/minecraft/net/minecraft/client/particle/Particle.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/particle/Particle.java +++ b/net/minecraft/client/particle/Particle.java -@@ -208,4 +208,12 @@ +@@ -208,4 +_,12 @@ public void func_187108_a(AxisAlignedBB p_187108_1_) { this.field_187120_G = p_187108_1_; } diff --git a/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch b/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch index 1977b564fd..cc3538b3c5 100644 --- a/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch +++ b/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/particle/ParticleManager.java +++ b/net/minecraft/client/particle/ParticleManager.java -@@ -65,7 +65,7 @@ +@@ -65,7 +_,7 @@ private final Queue field_178933_d = Queues.newArrayDeque(); private final TextureManager field_78877_c; private final Random field_78875_d = new Random(); @@ -9,7 +9,7 @@ private final Queue field_187241_h = Queues.newArrayDeque(); private final Map field_215242_i = Maps.newHashMap(); private final AtlasTexture field_215243_j = new AtlasTexture(AtlasTexture.field_215262_g); -@@ -153,13 +153,13 @@ +@@ -153,13 +_,13 @@ } public void func_199283_a(ParticleType p_199283_1_, IParticleFactory p_199283_2_) { @@ -25,7 +25,7 @@ } public CompletableFuture func_215226_a(IFutureReloadListener.IStage p_215226_1_, IResourceManager p_215226_2_, IProfiler p_215226_3_, IProfiler p_215226_4_, Executor p_215226_5_, Executor p_215226_6_) { -@@ -248,7 +248,7 @@ +@@ -248,7 +_,7 @@ @Nullable private Particle func_199927_b(T p_199927_1_, double p_199927_2_, double p_199927_4_, double p_199927_6_, double p_199927_8_, double p_199927_10_, double p_199927_12_) { @@ -34,7 +34,7 @@ return iparticlefactory == null ? null : iparticlefactory.func_199234_a(p_199927_1_, this.field_78878_a, p_199927_2_, p_199927_4_, p_199927_6_, p_199927_8_, p_199927_10_, p_199927_12_); } -@@ -313,16 +313,29 @@ +@@ -313,16 +_,29 @@ } } @@ -65,7 +65,7 @@ Iterable iterable = this.field_78876_b.get(iparticlerendertype); if (iterable != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); -@@ -331,6 +344,7 @@ +@@ -331,6 +_,7 @@ iparticlerendertype.func_217600_a(bufferbuilder, this.field_78877_c); for(Particle particle : iterable) { @@ -73,7 +73,7 @@ try { particle.func_225606_a_(bufferbuilder, p_228345_4_, p_228345_5_); } catch (Throwable throwable) { -@@ -362,7 +376,7 @@ +@@ -362,7 +_,7 @@ } public void func_180533_a(BlockPos p_180533_1_, BlockState p_180533_2_) { @@ -82,16 +82,16 @@ VoxelShape voxelshape = p_180533_2_.func_196954_c(this.field_78878_a, p_180533_1_); double d0 = 0.25D; voxelshape.func_197755_b((p_228348_3_, p_228348_5_, p_228348_7_, p_228348_9_, p_228348_11_, p_228348_13_) -> { -@@ -434,6 +448,12 @@ - return String.valueOf(this.field_78876_b.values().stream().mapToInt(Collection::size).sum()); - } +@@ -432,6 +_,12 @@ + public String func_78869_b() { + return String.valueOf(this.field_78876_b.values().stream().mapToInt(Collection::size).sum()); ++ } ++ + public void addBlockHitEffects(BlockPos pos, net.minecraft.util.math.BlockRayTraceResult target) { + BlockState state = field_78878_a.func_180495_p(pos); + if (!state.addHitEffects(field_78878_a, target, this)) + func_180532_a(pos, target.func_216354_b()); -+ } -+ + } + @OnlyIn(Dist.CLIENT) - class AnimatedSpriteImpl implements IAnimatedSprite { - private List field_217594_b; diff --git a/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch b/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch index a6705c99e4..c8dbf6dc05 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/ActiveRenderInfo.java +++ b/net/minecraft/client/renderer/ActiveRenderInfo.java -@@ -170,4 +170,16 @@ +@@ -170,4 +_,16 @@ this.field_216791_c = null; this.field_216789_a = false; } diff --git a/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch index c9859b3828..0f5fb29524 100644 --- a/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/BlockModelRenderer.java +++ b/net/minecraft/client/renderer/BlockModelRenderer.java -@@ -37,65 +37,78 @@ +@@ -37,65 +_,78 @@ this.field_187499_a = p_i46575_1_; } @@ -99,7 +99,7 @@ flag = true; } -@@ -209,17 +222,21 @@ +@@ -209,17 +_,21 @@ } diff --git a/patches/minecraft/net/minecraft/client/renderer/BlockModelShapes.java.patch b/patches/minecraft/net/minecraft/client/renderer/BlockModelShapes.java.patch index 937d9f96be..c5d92c7956 100644 --- a/patches/minecraft/net/minecraft/client/renderer/BlockModelShapes.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/BlockModelShapes.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/BlockModelShapes.java +++ b/net/minecraft/client/renderer/BlockModelShapes.java -@@ -24,10 +24,16 @@ +@@ -24,8 +_,14 @@ this.field_178128_c = p_i46245_1_; } @@ -8,13 +8,11 @@ public TextureAtlasSprite func_178122_a(BlockState p_178122_1_) { - return this.func_178125_b(p_178122_1_).func_177554_e(); + return this.func_178125_b(p_178122_1_).getParticleTexture(net.minecraftforge.client.model.data.EmptyModelData.INSTANCE); - } - ++ } ++ + public TextureAtlasSprite getTexture(BlockState state, net.minecraft.world.World world, net.minecraft.util.math.BlockPos pos) { + net.minecraftforge.client.model.data.IModelData data = net.minecraftforge.client.model.ModelDataManager.getModelData(world, pos); + return this.func_178125_b(state).getParticleTexture(data == null ? net.minecraftforge.client.model.data.EmptyModelData.INSTANCE : data); -+ } -+ + } + public IBakedModel func_178125_b(BlockState p_178125_1_) { - IBakedModel ibakedmodel = this.field_178129_a.get(p_178125_1_); - if (ibakedmodel == null) { diff --git a/patches/minecraft/net/minecraft/client/renderer/BlockRendererDispatcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/BlockRendererDispatcher.java.patch index 02648cf474..393fcbee5d 100644 --- a/patches/minecraft/net/minecraft/client/renderer/BlockRendererDispatcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/BlockRendererDispatcher.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/BlockRendererDispatcher.java +++ b/net/minecraft/client/renderer/BlockRendererDispatcher.java -@@ -33,7 +33,7 @@ +@@ -33,7 +_,7 @@ public BlockRendererDispatcher(BlockModelShapes p_i46577_1_, BlockColors p_i46577_2_) { this.field_175028_a = p_i46577_1_; this.field_228790_e_ = p_i46577_2_; @@ -9,7 +9,7 @@ this.field_175025_e = new FluidBlockRenderer(); } -@@ -41,22 +41,30 @@ +@@ -41,22 +_,30 @@ return this.field_175028_a; } @@ -47,7 +47,7 @@ throw new ReportedException(crashreport); } } -@@ -80,7 +88,11 @@ +@@ -80,7 +_,11 @@ return this.field_175028_a.func_178125_b(p_184389_1_); } @@ -59,7 +59,7 @@ BlockRenderType blockrendertype = p_228791_1_.func_185901_i(); if (blockrendertype != BlockRenderType.INVISIBLE) { switch(blockrendertype) { -@@ -90,10 +102,11 @@ +@@ -90,10 +_,11 @@ float f = (float)(i >> 16 & 255) / 255.0F; float f1 = (float)(i >> 8 & 255) / 255.0F; float f2 = (float)(i & 255) / 255.0F; @@ -73,13 +73,14 @@ } } -@@ -102,4 +115,9 @@ +@@ -101,5 +_,10 @@ + public void func_195410_a(IResourceManager p_195410_1_) { this.field_175025_e.func_178268_a(); - } ++ } + + @Override + public net.minecraftforge.resource.IResourceType getResourceType() { + return net.minecraftforge.resource.VanillaResourceType.MODELS; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/BufferBuilder.java.patch b/patches/minecraft/net/minecraft/client/renderer/BufferBuilder.java.patch index 5531efe1e4..0f73f6e90c 100644 --- a/patches/minecraft/net/minecraft/client/renderer/BufferBuilder.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/BufferBuilder.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/BufferBuilder.java +++ b/net/minecraft/client/renderer/BufferBuilder.java -@@ -297,6 +297,7 @@ +@@ -297,6 +_,7 @@ } ByteBuffer bytebuffer = this.field_179001_a.slice(); @@ -8,7 +8,7 @@ ((Buffer)this.field_179001_a).clear(); return Pair.of(bufferbuilder$drawstate, bytebuffer); } -@@ -364,4 +365,15 @@ +@@ -364,4 +_,15 @@ this.field_179018_e = p_i225907_2_; } } diff --git a/patches/minecraft/net/minecraft/client/renderer/FirstPersonRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/FirstPersonRenderer.java.patch index aafe10ace6..80bb271fe5 100644 --- a/patches/minecraft/net/minecraft/client/renderer/FirstPersonRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/FirstPersonRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/FirstPersonRenderer.java +++ b/net/minecraft/client/renderer/FirstPersonRenderer.java -@@ -208,7 +208,7 @@ +@@ -208,7 +_,7 @@ boolean flag1 = true; if (p_228396_4_.func_184587_cr()) { ItemStack itemstack = p_228396_4_.func_184607_cu(); @@ -9,7 +9,7 @@ flag = p_228396_4_.func_184600_cs() == Hand.MAIN_HAND; flag1 = !flag; } -@@ -240,12 +240,14 @@ +@@ -240,12 +_,14 @@ if (flag) { float f5 = hand == Hand.MAIN_HAND ? f : 0.0F; float f2 = 1.0F - MathHelper.func_219799_g(p_228396_1_, this.field_187470_g, this.field_187469_f); @@ -24,7 +24,7 @@ this.func_228405_a_(p_228396_4_, p_228396_1_, f1, Hand.OFF_HAND, f6, this.field_187468_e, f7, p_228396_2_, p_228396_3_, p_228396_5_); } -@@ -410,8 +412,16 @@ +@@ -410,8 +_,16 @@ this.field_187471_h = MathHelper.func_76131_a(this.field_187471_h - 0.4F, 0.0F, 1.0F); } else { float f = clientplayerentity.func_184825_o(1.0F); diff --git a/patches/minecraft/net/minecraft/client/renderer/FluidBlockRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/FluidBlockRenderer.java.patch index 9a9b29d8d6..8a2a105b1a 100644 --- a/patches/minecraft/net/minecraft/client/renderer/FluidBlockRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/FluidBlockRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/FluidBlockRenderer.java +++ b/net/minecraft/client/renderer/FluidBlockRenderer.java -@@ -70,9 +70,10 @@ +@@ -70,9 +_,10 @@ public boolean func_228796_a_(IBlockDisplayReader p_228796_1_, BlockPos p_228796_2_, IVertexBuilder p_228796_3_, FluidState p_228796_4_) { boolean flag = p_228796_4_.func_206884_a(FluidTags.field_206960_b); @@ -13,7 +13,7 @@ float f = (float)(i >> 16 & 255) / 255.0F; float f1 = (float)(i >> 8 & 255) / 255.0F; float f2 = (float)(i & 255) / 255.0F; -@@ -157,15 +158,15 @@ +@@ -157,15 +_,15 @@ float f25 = f4 * f; float f26 = f4 * f1; float f27 = f4 * f2; @@ -37,7 +37,7 @@ } } -@@ -178,10 +179,10 @@ +@@ -178,10 +_,10 @@ float f40 = f3 * f; float f41 = f3 * f1; float f42 = f3 * f2; @@ -52,7 +52,7 @@ flag7 = true; } -@@ -236,10 +237,9 @@ +@@ -236,10 +_,9 @@ flag7 = true; BlockPos blockpos = p_228796_2_.func_177972_a(direction); TextureAtlasSprite textureatlassprite2 = atextureatlassprite[1]; @@ -66,7 +66,7 @@ } } -@@ -253,15 +253,15 @@ +@@ -253,15 +_,15 @@ float f31 = f4 * f30 * f; float f32 = f4 * f30 * f1; float f33 = f4 * f30 * f2; @@ -91,7 +91,7 @@ } } } -@@ -270,9 +270,13 @@ +@@ -270,8 +_,12 @@ } } @@ -99,10 +99,9 @@ private void func_228797_a_(IVertexBuilder p_228797_1_, double p_228797_2_, double p_228797_4_, double p_228797_6_, float p_228797_8_, float p_228797_9_, float p_228797_10_, float p_228797_11_, float p_228797_12_, int p_228797_13_) { - p_228797_1_.func_225582_a_(p_228797_2_, p_228797_4_, p_228797_6_).func_227885_a_(p_228797_8_, p_228797_9_, p_228797_10_, 1.0F).func_225583_a_(p_228797_11_, p_228797_12_).func_227886_a_(p_228797_13_).func_225584_a_(0.0F, 1.0F, 0.0F).func_181675_d(); + vertexVanilla(p_228797_1_, p_228797_2_, p_228797_4_, p_228797_6_, p_228797_8_, p_228797_9_, p_228797_10_, 1.0F, p_228797_11_, p_228797_12_, p_228797_13_); - } ++ } + private void vertexVanilla(IVertexBuilder vertexBuilderIn, double x, double y, double z, float red, float green, float blue, float alpha, float u, float v, int packedLight) { + vertexBuilderIn.func_225582_a_(x, y, z).func_227885_a_(red, green, blue, alpha).func_225583_a_(u, v).func_227886_a_(packedLight).func_225584_a_(0.0F, 1.0F, 0.0F).func_181675_d(); -+ } + } private int func_228795_a_(IBlockDisplayReader p_228795_1_, BlockPos p_228795_2_) { - int i = WorldRenderer.func_228421_a_(p_228795_1_, p_228795_2_); diff --git a/patches/minecraft/net/minecraft/client/renderer/FogRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/FogRenderer.java.patch index c287e18e12..452fa3c3be 100644 --- a/patches/minecraft/net/minecraft/client/renderer/FogRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/FogRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/FogRenderer.java +++ b/net/minecraft/client/renderer/FogRenderer.java -@@ -156,17 +156,28 @@ +@@ -156,17 +_,28 @@ } float f9 = Math.min(1.0F / field_205093_c, Math.min(1.0F / field_205094_d, 1.0F / field_205095_e)); @@ -29,7 +29,7 @@ RenderSystem.clearColor(field_205093_c, field_205094_d, field_205095_e, 0.0F); } -@@ -174,10 +185,17 @@ +@@ -174,10 +_,17 @@ RenderSystem.fogDensity(0.0F); RenderSystem.fogMode(GlStateManager.FogMode.EXP2); } @@ -48,7 +48,7 @@ if (fluidstate.func_206884_a(FluidTags.field_206959_a)) { float f = 1.0F; f = 0.05F; -@@ -228,6 +246,7 @@ +@@ -228,6 +_,7 @@ RenderSystem.fogEnd(f3); RenderSystem.fogMode(GlStateManager.FogMode.LINEAR); RenderSystem.setupNvFogDistance(); diff --git a/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch index 3b84b8e0d0..b4b783253c 100644 --- a/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/GameRenderer.java +++ b/net/minecraft/client/renderer/GameRenderer.java -@@ -135,6 +135,8 @@ +@@ -135,6 +_,8 @@ this.func_175069_a(new ResourceLocation("shaders/post/spider.json")); } else if (p_175066_1_ instanceof EndermanEntity) { this.func_175069_a(new ResourceLocation("shaders/post/invert.json")); @@ -9,7 +9,7 @@ } } -@@ -310,7 +312,7 @@ +@@ -310,7 +_,7 @@ d0 = d0 * 60.0D / 70.0D; } @@ -18,7 +18,7 @@ } } -@@ -439,6 +441,7 @@ +@@ -439,6 +_,7 @@ RenderSystem.loadIdentity(); this.field_147707_d.func_148018_a(p_195458_1_); RenderSystem.popMatrix(); @@ -26,7 +26,7 @@ } this.field_78531_r.func_147110_a().func_147610_a(true); -@@ -486,7 +489,7 @@ +@@ -486,7 +_,7 @@ } } else if (this.field_78531_r.field_71462_r != null) { try { @@ -35,7 +35,7 @@ } catch (Throwable throwable) { CrashReport crashreport1 = CrashReport.func_85055_a(throwable, "Rendering screen"); CrashReportCategory crashreportcategory1 = crashreport1.func_85058_a("Screen render details"); -@@ -595,9 +598,16 @@ +@@ -595,9 +_,16 @@ Matrix4f matrix4f = matrixstack.func_227866_c_().func_227870_a_(); this.func_228379_a_(matrix4f); activerenderinfo.func_216772_a(this.field_78531_r.field_71441_e, (Entity)(this.field_78531_r.func_175606_aa() == null ? this.field_78531_r.field_71439_g : this.field_78531_r.func_175606_aa()), !this.field_78531_r.field_71474_y.func_243230_g().func_243192_a(), this.field_78531_r.field_71474_y.func_243230_g().func_243193_b(), p_228378_1_); @@ -52,13 +52,14 @@ this.field_78531_r.func_213239_aq().func_219895_b("hand"); if (this.field_175074_C) { RenderSystem.clear(256, Minecraft.field_142025_a); -@@ -709,4 +719,9 @@ +@@ -708,5 +_,10 @@ + public OverlayTexture func_228385_m_() { return this.field_228375_t_; - } ++ } + + @Override + public net.minecraftforge.resource.IResourceType getResourceType() { + return net.minecraftforge.resource.VanillaResourceType.SHADERS; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch b/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch index e60b3afb5e..ed748d5ec8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ItemModelMesher.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/ItemModelMesher.java +++ b/net/minecraft/client/renderer/ItemModelMesher.java -@@ -31,7 +31,8 @@ +@@ -31,7 +_,8 @@ public TextureAtlasSprite func_199309_a(ItemStack p_199309_1_) { IBakedModel ibakedmodel = this.func_178089_a(p_199309_1_); diff --git a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch index cfbda04583..36546c42e0 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ItemRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/ItemRenderer.java +++ b/net/minecraft/client/renderer/ItemRenderer.java -@@ -59,7 +59,7 @@ +@@ -59,7 +_,7 @@ public ItemRenderer(TextureManager p_i46552_1_, ModelManager p_i46552_2_, ItemColors p_i46552_3_) { this.field_175057_n = p_i46552_1_; @@ -9,7 +9,7 @@ for(Item item : Registry.field_212630_s) { if (!field_195411_c.contains(item)) { -@@ -95,7 +95,7 @@ +@@ -95,7 +_,7 @@ p_229111_8_ = this.field_175059_m.func_178083_a().func_174953_a(new ModelResourceLocation("minecraft:trident#inventory")); } @@ -18,7 +18,7 @@ p_229111_4_.func_227861_a_(-0.5D, -0.5D, -0.5D); if (!p_229111_8_.func_188618_c() && (p_229111_1_.func_77973_b() != Items.field_203184_eO || flag)) { boolean flag1; -@@ -105,7 +105,8 @@ +@@ -105,7 +_,8 @@ } else { flag1 = true; } @@ -28,7 +28,7 @@ RenderType rendertype = RenderTypeLookup.func_239219_a_(p_229111_1_, flag1); IVertexBuilder ivertexbuilder; if (p_229111_1_.func_77973_b() == Items.field_151111_aL && p_229111_1_.func_77962_s()) { -@@ -131,8 +132,9 @@ +@@ -131,8 +_,9 @@ } this.func_229114_a_(p_229111_8_, p_229111_1_, p_229111_6_, p_229111_7_, p_229111_4_, ivertexbuilder); @@ -39,7 +39,7 @@ } p_229111_4_.func_227865_b_(); -@@ -176,7 +178,7 @@ +@@ -176,7 +_,7 @@ float f = (float)(i >> 16 & 255) / 255.0F; float f1 = (float)(i >> 8 & 255) / 255.0F; float f2 = (float)(i & 255) / 255.0F; @@ -48,7 +48,7 @@ } } -@@ -267,6 +269,7 @@ +@@ -267,6 +_,7 @@ crashreportcategory.func_189529_a("Item Type", () -> { return String.valueOf((Object)p_239387_2_.func_77973_b()); }); @@ -56,7 +56,7 @@ crashreportcategory.func_189529_a("Item Damage", () -> { return String.valueOf(p_239387_2_.func_77952_i()); }); -@@ -298,18 +301,16 @@ +@@ -298,18 +_,16 @@ irendertypebuffer$impl.func_228461_a_(); } @@ -79,13 +79,14 @@ 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(); -@@ -347,4 +348,9 @@ +@@ -346,5 +_,10 @@ + public void func_195410_a(IResourceManager p_195410_1_) { this.field_175059_m.func_178085_b(); - } ++ } + + @Override + public net.minecraftforge.resource.IResourceType getResourceType() { + return net.minecraftforge.resource.VanillaResourceType.MODELS; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/LightTexture.java.patch b/patches/minecraft/net/minecraft/client/renderer/LightTexture.java.patch index 1cdbea87f1..3c53caba3e 100644 --- a/patches/minecraft/net/minecraft/client/renderer/LightTexture.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/LightTexture.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/LightTexture.java +++ b/net/minecraft/client/renderer/LightTexture.java -@@ -169,7 +169,7 @@ +@@ -169,7 +_,7 @@ } public static int func_228450_a_(int p_228450_0_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/OverlayRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/OverlayRenderer.java.patch index 46a56e08bd..12c9ebe93f 100644 --- a/patches/minecraft/net/minecraft/client/renderer/OverlayRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/OverlayRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/OverlayRenderer.java +++ b/net/minecraft/client/renderer/OverlayRenderer.java -@@ -27,18 +27,21 @@ +@@ -27,18 +_,21 @@ RenderSystem.disableAlphaTest(); PlayerEntity playerentity = p_228734_0_.field_71439_g; if (!playerentity.field_70145_X) { @@ -25,7 +25,7 @@ func_228737_c_(p_228734_0_, p_228734_1_); } } -@@ -48,6 +51,11 @@ +@@ -48,6 +_,11 @@ @Nullable private static BlockState func_230018_a_(PlayerEntity p_230018_0_) { @@ -37,7 +37,7 @@ BlockPos.Mutable blockpos$mutable = new BlockPos.Mutable(); for(int i = 0; i < 8; ++i) { -@@ -57,7 +65,7 @@ +@@ -57,7 +_,7 @@ blockpos$mutable.func_189532_c(d0, d1, d2); BlockState blockstate = p_230018_0_.field_70170_p.func_180495_p(blockpos$mutable); if (blockstate.func_185901_i() != BlockRenderType.INVISIBLE && blockstate.func_215696_m(p_230018_0_.field_70170_p, blockpos$mutable)) { diff --git a/patches/minecraft/net/minecraft/client/renderer/RenderTypeLookup.java.patch b/patches/minecraft/net/minecraft/client/renderer/RenderTypeLookup.java.patch index e6d2397abe..66fb1d3e8a 100644 --- a/patches/minecraft/net/minecraft/client/renderer/RenderTypeLookup.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/RenderTypeLookup.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/RenderTypeLookup.java +++ b/net/minecraft/client/renderer/RenderTypeLookup.java -@@ -19,6 +19,7 @@ +@@ -19,6 +_,7 @@ @OnlyIn(Dist.CLIENT) public class RenderTypeLookup { @@ -8,7 +8,7 @@ private static final Map field_228386_a_ = Util.func_200696_a(Maps.newHashMap(), (p_228395_0_) -> { RenderType rendertype = RenderType.func_241715_r_(); p_228395_0_.put(Blocks.field_150473_bD, rendertype); -@@ -263,6 +264,7 @@ +@@ -263,6 +_,7 @@ p_228395_0_.put(Blocks.field_185778_de, rendertype3); p_228395_0_.put(Blocks.field_203203_C, rendertype3); }); @@ -16,7 +16,7 @@ private static final Map field_228387_b_ = Util.func_200696_a(Maps.newHashMap(), (p_228392_0_) -> { RenderType rendertype = RenderType.func_228645_f_(); p_228392_0_.put(Fluids.field_207212_b, rendertype); -@@ -270,6 +272,7 @@ +@@ -270,6 +_,7 @@ }); private static boolean field_228388_c_; @@ -24,7 +24,7 @@ public static RenderType func_228390_a_(BlockState p_228390_0_) { Block block = p_228390_0_.func_177230_c(); if (block instanceof LeavesBlock) { -@@ -280,6 +283,7 @@ +@@ -280,6 +_,7 @@ } } @@ -32,7 +32,7 @@ public static RenderType func_239221_b_(BlockState p_239221_0_) { Block block = p_239221_0_.func_177230_c(); if (block instanceof LeavesBlock) { -@@ -295,8 +299,7 @@ +@@ -295,8 +_,7 @@ } public static RenderType func_239220_a_(BlockState p_239220_0_, boolean p_239220_1_) { @@ -42,7 +42,7 @@ if (!Minecraft.func_238218_y_()) { return Atlases.func_228785_j_(); } else { -@@ -317,11 +320,60 @@ +@@ -317,9 +_,58 @@ } } @@ -50,8 +50,8 @@ public static RenderType func_228391_a_(FluidState p_228391_0_) { RenderType rendertype = field_228387_b_.get(p_228391_0_.func_206886_c()); return rendertype != null ? rendertype : RenderType.func_228639_c_(); - } - ++ } ++ + // FORGE START + + private static final Map, java.util.function.Predicate> blockRenderChecks = Maps.newHashMap(); @@ -98,8 +98,6 @@ + + public static synchronized void setRenderLayer(Fluid fluid, java.util.function.Predicate predicate) { + fluidRenderChecks.put(fluid.delegate, predicate); -+ } -+ - public static void func_228393_a_(boolean p_228393_0_) { - field_228388_c_ = p_228393_0_; } + + public static void func_228393_a_(boolean p_228393_0_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/WorldRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/WorldRenderer.java.patch index 0605769fdc..40bd40eceb 100644 --- a/patches/minecraft/net/minecraft/client/renderer/WorldRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/WorldRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/WorldRenderer.java +++ b/net/minecraft/client/renderer/WorldRenderer.java -@@ -222,6 +222,11 @@ +@@ -222,6 +_,11 @@ } private void func_228438_a_(LightTexture p_228438_1_, float p_228438_2_, double p_228438_3_, double p_228438_5_, double p_228438_7_) { @@ -12,7 +12,7 @@ float f = this.field_72777_q.field_71441_e.func_72867_j(p_228438_2_); if (!(f <= 0.0F)) { p_228438_1_.func_205109_c(); -@@ -347,6 +352,11 @@ +@@ -347,6 +_,11 @@ } public void func_228436_a_(ActiveRenderInfo p_228436_1_) { @@ -24,7 +24,7 @@ float f = this.field_72777_q.field_71441_e.func_72867_j(1.0F) / (Minecraft.func_71375_t() ? 1.0F : 2.0F); if (!(f <= 0.0F)) { Random random = new Random((long)this.field_72773_u * 312987231L); -@@ -830,7 +840,7 @@ +@@ -830,7 +_,7 @@ this.field_147595_R = true; BlockPos blockpos2 = chunkrenderdispatcher$chunkrender4.func_178568_j().func_177982_a(8, 8, 8); boolean flag1 = blockpos2.func_177951_i(blockpos) < 768.0D; @@ -33,7 +33,7 @@ this.field_175009_l.add(chunkrenderdispatcher$chunkrender4); } else { this.field_72777_q.func_213239_aq().func_76320_a("build near"); -@@ -915,13 +925,13 @@ +@@ -915,13 +_,13 @@ float f = p_228426_7_.func_205001_m(); boolean flag1 = this.field_72777_q.field_71441_e.func_239132_a_().func_230493_a_(MathHelper.func_76128_c(d0), MathHelper.func_76128_c(d1)) || this.field_72777_q.field_71456_v.func_184046_j().func_184056_f(); if (this.field_72777_q.field_71474_y.field_151451_c >= 4) { @@ -49,7 +49,7 @@ iprofiler.func_219895_b("terrain_setup"); this.func_228437_a_(p_228426_6_, clippinghelper, flag, this.field_228409_ai_++, this.field_72777_q.field_71439_g.func_175149_v()); iprofiler.func_219895_b("updatechunks"); -@@ -942,7 +952,9 @@ +@@ -942,7 +_,9 @@ this.func_174967_a(p_228426_3_ + l1); iprofiler.func_219895_b("terrain"); this.func_228441_a_(RenderType.func_228639_c_(), p_228426_1_, d0, d1, d2); @@ -59,7 +59,7 @@ this.func_228441_a_(RenderType.func_228643_e_(), p_228426_1_, d0, d1, d2); if (this.field_72769_h.func_239132_a_().func_239217_c_()) { RenderHelper.func_237533_a_(p_228426_1_.func_227866_c_().func_227870_a_()); -@@ -972,7 +984,7 @@ +@@ -972,7 +_,7 @@ IRenderTypeBuffer.Impl irendertypebuffer$impl = this.field_228415_m_.func_228487_b_(); for(Entity entity : this.field_72769_h.func_217416_b()) { @@ -68,7 +68,7 @@ ++this.field_72749_I; if (entity.field_70173_aa == 0) { entity.field_70142_S = entity.func_226277_ct_(); -@@ -1010,6 +1022,7 @@ +@@ -1010,6 +_,7 @@ List list = worldrenderer$localrenderinformationcontainer.field_178036_a.func_178571_g().func_178485_b(); if (!list.isEmpty()) { for(TileEntity tileentity1 : list) { @@ -76,7 +76,7 @@ BlockPos blockpos3 = tileentity1.func_174877_v(); IRenderTypeBuffer irendertypebuffer1 = irendertypebuffer$impl; p_228426_1_.func_227860_a_(); -@@ -1035,6 +1048,7 @@ +@@ -1035,6 +_,7 @@ synchronized(this.field_181024_n) { for(TileEntity tileentity : this.field_181024_n) { @@ -84,7 +84,7 @@ BlockPos blockpos2 = tileentity.func_174877_v(); p_228426_1_.func_227860_a_(); p_228426_1_.func_227861_a_((double)blockpos2.func_177958_n() - d0, (double)blockpos2.func_177956_o() - d1, (double)blockpos2.func_177952_p() - d2); -@@ -1084,10 +1098,13 @@ +@@ -1084,10 +_,13 @@ iprofiler.func_219895_b("outline"); BlockPos blockpos = ((BlockRayTraceResult)raytraceresult).func_216350_a(); BlockState blockstate = this.field_72769_h.func_180495_p(blockpos); @@ -99,7 +99,7 @@ } RenderSystem.pushMatrix(); -@@ -1119,7 +1136,7 @@ +@@ -1119,7 +_,7 @@ this.field_239224_H_.func_237506_a_(this.field_72777_q.func_147110_a()); RenderState.field_239237_T_.func_228547_a_(); iprofiler.func_219895_b("particles"); @@ -108,7 +108,7 @@ RenderState.field_239237_T_.func_228549_b_(); } else { iprofiler.func_219895_b("translucent"); -@@ -1129,7 +1146,7 @@ +@@ -1129,7 +_,7 @@ iprofiler.func_219895_b("string"); this.func_228441_a_(RenderType.func_241715_r_(), p_228426_1_, d0, d1, d2); iprofiler.func_219895_b("particles"); @@ -117,7 +117,7 @@ } RenderSystem.pushMatrix(); -@@ -1481,6 +1498,11 @@ +@@ -1481,6 +_,11 @@ } public void func_228424_a_(MatrixStack p_228424_1_, float p_228424_2_) { @@ -129,7 +129,7 @@ if (this.field_72777_q.field_71441_e.func_239132_a_().func_241683_c_() == DimensionRenderInfo.FogType.END) { this.func_228444_b_(p_228424_1_); } else if (this.field_72777_q.field_71441_e.func_239132_a_().func_241683_c_() == DimensionRenderInfo.FogType.NORMAL) { -@@ -1609,6 +1631,11 @@ +@@ -1609,6 +_,11 @@ } public void func_228425_a_(MatrixStack p_228425_1_, float p_228425_2_, double p_228425_3_, double p_228425_5_, double p_228425_7_) { @@ -141,7 +141,7 @@ float f = this.field_72769_h.func_239132_a_().func_239213_a_(); if (!Float.isNaN(f)) { RenderSystem.disableCull(); -@@ -1792,7 +1819,7 @@ +@@ -1792,7 +_,7 @@ while(iterator.hasNext()) { ChunkRenderDispatcher.ChunkRender chunkrenderdispatcher$chunkrender = iterator.next(); @@ -150,7 +150,7 @@ this.field_174995_M.func_228902_a_(chunkrenderdispatcher$chunkrender); } else { chunkrenderdispatcher$chunkrender.func_228929_a_(this.field_174995_M); -@@ -2076,7 +2103,12 @@ +@@ -2076,7 +_,12 @@ this.field_175008_n.func_217628_a(p_215319_1_, p_215319_2_, p_215319_3_, p_215319_4_); } @@ -163,7 +163,7 @@ ISound isound = this.field_147593_P.get(p_184377_2_); if (isound != null) { this.field_72777_q.func_147118_V().func_147683_b(isound); -@@ -2084,7 +2116,7 @@ +@@ -2084,7 +_,7 @@ } if (p_184377_1_ != null) { @@ -172,7 +172,7 @@ if (musicdiscitem != null) { this.field_72777_q.field_71456_v.func_238451_a_(musicdiscitem.func_234801_g_()); } -@@ -2232,7 +2264,7 @@ +@@ -2232,7 +_,7 @@ break; case 1010: if (Item.func_150899_d(p_180439_4_) instanceof MusicDiscItem) { @@ -181,7 +181,7 @@ } else { this.func_184377_a((SoundEvent)null, p_180439_3_); } -@@ -2382,8 +2414,8 @@ +@@ -2382,8 +_,8 @@ break; case 2001: BlockState blockstate = Block.func_196257_b(p_180439_4_); @@ -192,7 +192,7 @@ this.field_72769_h.func_184156_a(p_180439_3_, soundtype.func_185845_c(), SoundCategory.BLOCKS, (soundtype.func_185843_a() + 1.0F) / 2.0F, soundtype.func_185847_b() * 0.8F, false); } -@@ -2531,7 +2563,7 @@ +@@ -2531,7 +_,7 @@ } else { int i = p_228420_0_.func_226658_a_(LightType.SKY, p_228420_2_); int j = p_228420_0_.func_226658_a_(LightType.BLOCK, p_228420_2_); @@ -201,15 +201,15 @@ if (j < k) { j = k; } -@@ -2570,6 +2602,11 @@ +@@ -2568,6 +_,11 @@ + @Nullable + public Framebuffer func_239232_u_() { return this.field_239226_J_; - } - ++ } ++ + @Override + public net.minecraftforge.resource.IResourceType getResourceType() { + return net.minecraftforge.resource.VanillaResourceType.MODELS; -+ } -+ + } + @OnlyIn(Dist.CLIENT) - class LocalRenderInformationContainer { - private final ChunkRenderDispatcher.ChunkRender field_178036_a; diff --git a/patches/minecraft/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java.patch index e3d9172e34..e2e74f0945 100644 --- a/patches/minecraft/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java +++ b/net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.java -@@ -68,12 +68,15 @@ +@@ -68,12 +_,15 @@ private Vector3d field_217672_l = Vector3d.field_186680_a; public ChunkRenderDispatcher(World p_i226020_1_, WorldRenderer p_i226020_2_, Executor p_i226020_3_, boolean p_i226020_4_, RegionRenderCacheBuilder p_i226020_5_) { @@ -17,7 +17,7 @@ this.field_228890_g_ = p_i226020_5_; List list = Lists.newArrayListWithExpectedSize(l); -@@ -206,7 +209,7 @@ +@@ -206,7 +_,7 @@ } @OnlyIn(Dist.CLIENT) @@ -26,7 +26,7 @@ public final AtomicReference field_178590_b = new AtomicReference<>(ChunkRenderDispatcher.CompiledChunk.field_178502_a); @Nullable private ChunkRenderDispatcher.ChunkRender.RebuildTask field_228921_d_; -@@ -332,7 +335,7 @@ +@@ -332,7 +_,7 @@ if (!chunkrenderdispatcher$compiledchunk.field_178501_c.contains(p_228925_1_)) { return false; } else { @@ -35,7 +35,7 @@ p_228925_2_.func_228900_a_(this.field_228922_e_); return true; } -@@ -355,8 +358,8 @@ +@@ -355,8 +_,8 @@ this.func_228935_i_(); BlockPos blockpos = this.field_178586_f.func_185334_h(); int i = 1; @@ -46,7 +46,7 @@ return this.field_228921_d_; } -@@ -384,9 +387,19 @@ +@@ -384,9 +_,19 @@ abstract class ChunkRenderTask implements Comparable { protected final double field_188229_e; protected final AtomicBoolean field_178554_h = new AtomicBoolean(false); @@ -66,7 +66,7 @@ } public abstract CompletableFuture func_225618_a_(RegionRenderCacheBuilder p_225618_1_); -@@ -396,6 +409,10 @@ +@@ -396,6 +_,10 @@ public int compareTo(ChunkRenderDispatcher.ChunkRender.ChunkRenderTask p_compareTo_1_) { return Doubles.compare(this.field_188229_e, p_compareTo_1_.field_188229_e); } @@ -77,7 +77,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -403,8 +420,13 @@ +@@ -403,8 +_,13 @@ @Nullable protected ChunkRenderCache field_228938_d_; @@ -92,7 +92,7 @@ this.field_228938_d_ = p_i226024_4_; } -@@ -470,7 +492,7 @@ +@@ -470,7 +_,7 @@ visgraph.func_178606_a(blockpos2); } @@ -101,7 +101,7 @@ TileEntity tileentity = chunkrendercache.func_212399_a(blockpos2, Chunk.CreateEntityType.CHECK); if (tileentity != null) { this.func_228942_a_(p_228940_4_, set, tileentity); -@@ -478,8 +500,10 @@ +@@ -478,8 +_,10 @@ } FluidState fluidstate = chunkrendercache.func_204610_c(blockpos2); @@ -114,7 +114,7 @@ BufferBuilder bufferbuilder = p_228940_5_.func_228366_a_(rendertype); if (p_228940_4_.field_178501_c.add(rendertype)) { ChunkRender.this.func_228923_a_(bufferbuilder); -@@ -491,8 +515,8 @@ +@@ -491,8 +_,8 @@ } } @@ -125,7 +125,7 @@ BufferBuilder bufferbuilder2 = p_228940_5_.func_228366_a_(rendertype1); if (p_228940_4_.field_178501_c.add(rendertype1)) { ChunkRender.this.func_228923_a_(bufferbuilder2); -@@ -500,14 +524,16 @@ +@@ -500,14 +_,16 @@ matrixstack.func_227860_a_(); matrixstack.func_227861_a_((double)(blockpos2.func_177958_n() & 15), (double)(blockpos2.func_177956_o() & 15), (double)(blockpos2.func_177952_p() & 15)); @@ -143,7 +143,7 @@ if (p_228940_4_.field_178500_b.contains(RenderType.func_228645_f_())) { BufferBuilder bufferbuilder1 = p_228940_5_.func_228366_a_(RenderType.func_228645_f_()); -@@ -526,10 +552,10 @@ +@@ -526,10 +_,10 @@ private void func_228942_a_(ChunkRenderDispatcher.CompiledChunk p_228942_1_, Set p_228942_2_, E p_228942_3_) { TileEntityRenderer tileentityrenderer = TileEntityRendererDispatcher.field_147556_a.func_147547_b(p_228942_3_); if (tileentityrenderer != null) { @@ -155,7 +155,7 @@ } } -@@ -547,8 +573,13 @@ +@@ -547,8 +_,13 @@ class SortTransparencyTask extends ChunkRenderDispatcher.ChunkRender.ChunkRenderTask { private final ChunkRenderDispatcher.CompiledChunk field_228945_e_; diff --git a/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch b/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch index e3177b376f..d2f85a396b 100644 --- a/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/color/BlockColors.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/color/BlockColors.java +++ b/net/minecraft/client/renderer/color/BlockColors.java -@@ -27,7 +27,8 @@ +@@ -27,7 +_,8 @@ @OnlyIn(Dist.CLIENT) public class BlockColors { @@ -10,7 +10,7 @@ private final Map>> field_225311_b = Maps.newHashMap(); public static BlockColors func_186723_a() { -@@ -72,11 +73,12 @@ +@@ -72,11 +_,12 @@ blockcolors.func_186722_a((p_228055_0_, p_228055_1_, p_228055_2_, p_228055_3_) -> { return p_228055_1_ != null && p_228055_2_ != null ? 2129968 : 7455580; }, Blocks.field_196651_dG); @@ -24,7 +24,7 @@ if (iblockcolor != null) { return iblockcolor.getColor(p_189991_1_, (IBlockDisplayReader)null, (BlockPos)null, 0); } else { -@@ -86,13 +88,13 @@ +@@ -86,13 +_,13 @@ } public int func_228054_a_(BlockState p_228054_1_, @Nullable IBlockDisplayReader p_228054_2_, @Nullable BlockPos p_228054_3_, int p_228054_4_) { diff --git a/patches/minecraft/net/minecraft/client/renderer/color/ItemColors.java.patch b/patches/minecraft/net/minecraft/client/renderer/color/ItemColors.java.patch index 1fa1542395..0e8add93a8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/color/ItemColors.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/color/ItemColors.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/color/ItemColors.java +++ b/net/minecraft/client/renderer/color/ItemColors.java -@@ -22,7 +22,8 @@ +@@ -22,7 +_,8 @@ @OnlyIn(Dist.CLIENT) public class ItemColors { @@ -10,7 +10,7 @@ public static ItemColors func_186729_a(BlockColors p_186729_0_) { ItemColors itemcolors = new ItemColors(); -@@ -82,17 +83,18 @@ +@@ -82,17 +_,18 @@ itemcolors.func_199877_a((p_210237_0_, p_210237_1_) -> { return p_210237_1_ == 0 ? -1 : FilledMapItem.func_190907_h(p_210237_0_); }, Items.field_151098_aY); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRenderer.java.patch index c214125aae..7c86558676 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/EntityRenderer.java +++ b/net/minecraft/client/renderer/entity/EntityRenderer.java -@@ -60,8 +60,10 @@ +@@ -60,8 +_,10 @@ } 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_) { @@ -13,7 +13,7 @@ } } -@@ -77,7 +79,7 @@ +@@ -77,7 +_,7 @@ protected void func_225629_a_(T p_225629_1_, ITextComponent p_225629_2_, MatrixStack p_225629_3_, IRenderTypeBuffer p_225629_4_, int p_225629_5_) { double d0 = this.field_76990_c.func_229099_b_(p_225629_1_); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch index 2465d4f4f8..f6951f8019 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/EntityRendererManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/EntityRendererManager.java +++ b/net/minecraft/client/renderer/entity/EntityRendererManager.java -@@ -188,7 +188,10 @@ +@@ -188,7 +_,10 @@ this.field_178637_m = new PlayerRenderer(this); this.field_178636_l.put("default", this.field_178637_m); this.field_178636_l.put("slim", new PlayerRenderer(this, true)); @@ -11,7 +11,7 @@ for(EntityType entitytype : Registry.field_212629_r) { if (entitytype != EntityType.field_200729_aH && !this.field_78729_o.containsKey(entitytype)) { throw new IllegalStateException("No renderer registered for " + Registry.field_212629_r.func_177774_c(entitytype)); -@@ -280,12 +283,12 @@ +@@ -280,12 +_,12 @@ private void func_229093_a_(MatrixStack p_229093_1_, IVertexBuilder p_229093_2_, Entity p_229093_3_, float p_229093_4_) { float f = p_229093_3_.func_213311_cf() / 2.0F; this.func_229094_a_(p_229093_1_, p_229093_2_, p_229093_3_, 1.0F, 1.0F, 1.0F); @@ -26,12 +26,13 @@ p_229093_1_.func_227860_a_(); double d3 = d0 + MathHelper.func_219803_d((double)p_229093_4_, enderdragonpartentity.field_70142_S, enderdragonpartentity.func_226277_ct_()); double d4 = d1 + MathHelper.func_219803_d((double)p_229093_4_, enderdragonpartentity.field_70137_T, enderdragonpartentity.func_226278_cu_()); -@@ -450,4 +453,8 @@ +@@ -449,5 +_,9 @@ + public FontRenderer func_78716_a() { return this.field_78736_p; - } ++ } + + public Map getSkinMap() { + return (Map) java.util.Collections.unmodifiableMap(field_178636_l); -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/FallingBlockRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/FallingBlockRenderer.java.patch index 5124c82270..4a47d86d98 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/FallingBlockRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/FallingBlockRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/FallingBlockRenderer.java +++ b/net/minecraft/client/renderer/entity/FallingBlockRenderer.java -@@ -33,7 +33,13 @@ +@@ -33,7 +_,13 @@ BlockPos blockpos = new BlockPos(p_225623_1_.func_226277_ct_(), p_225623_1_.func_174813_aQ().field_72337_e, p_225623_1_.func_226281_cx_()); p_225623_4_.func_227861_a_(-0.5D, 0.0D, -0.5D); BlockRendererDispatcher blockrendererdispatcher = Minecraft.func_71410_x().func_175602_ab(); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/ItemFrameRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/ItemFrameRenderer.java.patch index edf1c90d18..573a8131b8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/ItemFrameRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/ItemFrameRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/ItemFrameRenderer.java +++ b/net/minecraft/client/renderer/entity/ItemFrameRenderer.java -@@ -50,7 +50,7 @@ +@@ -50,7 +_,7 @@ if (!flag) { BlockRendererDispatcher blockrendererdispatcher = this.field_147917_g.func_175602_ab(); ModelManager modelmanager = blockrendererdispatcher.func_175023_a().func_178126_b(); @@ -9,7 +9,7 @@ p_225623_4_.func_227860_a_(); p_225623_4_.func_227861_a_(-0.5D, -0.5D, -0.5D); blockrendererdispatcher.func_175019_b().func_228804_a_(p_225623_4_.func_227866_c_(), p_225623_5_.getBuffer(Atlases.func_228782_g_()), (BlockState)null, modelmanager.func_174953_a(modelresourcelocation), 1.0F, 1.0F, 1.0F, p_225623_6_, OverlayTexture.field_229196_a_); -@@ -59,21 +59,21 @@ +@@ -59,21 +_,21 @@ ItemStack itemstack = p_225623_1_.func_82335_i(); if (!itemstack.func_190926_b()) { @@ -35,11 +35,11 @@ p_225623_4_.func_227861_a_(0.0D, 0.0D, -1.0D); if (mapdata != null) { this.field_147917_g.field_71460_t.func_147701_i().func_228086_a_(p_225623_4_, p_225623_5_, mapdata, true, p_225623_6_); -@@ -82,6 +82,7 @@ +@@ -81,6 +_,7 @@ + } else { p_225623_4_.func_227862_a_(0.5F, 0.5F, 0.5F); this.field_177074_h.func_229110_a_(itemstack, ItemCameraTransforms.TransformType.FIXED, p_225623_6_, OverlayTexture.field_229196_a_, p_225623_4_, p_225623_5_); - } + } + } } - p_225623_4_.func_227865_b_(); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/ItemRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/ItemRenderer.java.patch index ccab8b99eb..e40728095a 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/ItemRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/ItemRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/ItemRenderer.java +++ b/net/minecraft/client/renderer/entity/ItemRenderer.java -@@ -54,17 +54,14 @@ +@@ -54,17 +_,14 @@ int j = this.func_177078_a(itemstack); float f = 0.25F; float f1 = MathHelper.func_76126_a(((float)p_225623_1_.func_174872_o() + p_225623_3_) / 10.0F + p_225623_1_.field_70290_d) * 0.1F + 0.1F; @@ -22,7 +22,7 @@ p_225623_4_.func_227861_a_((double)f7, (double)f8, (double)f9); } -@@ -75,18 +72,18 @@ +@@ -75,18 +_,18 @@ float f11 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; float f13 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; float f10 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; @@ -44,7 +44,7 @@ } } -@@ -97,4 +94,21 @@ +@@ -97,4 +_,21 @@ public ResourceLocation func_110775_a(ItemEntity p_110775_1_) { return AtlasTexture.field_110575_b; } 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 7adc7abce3..39085f6227 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 -@@ -48,14 +48,17 @@ +@@ -48,14 +_,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; -@@ -92,7 +95,7 @@ +@@ -92,7 +_,7 @@ p_225623_4_.func_227861_a_(0.0D, (double)-1.501F, 0.0D); float f8 = 0.0F; float f5 = 0.0F; @@ -29,7 +29,7 @@ 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_()) { -@@ -125,6 +128,7 @@ +@@ -125,6 +_,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_); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/PlayerRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/PlayerRenderer.java.patch index e0bae32d65..bbb4533ae5 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/PlayerRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/PlayerRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/PlayerRenderer.java +++ b/net/minecraft/client/renderer/entity/PlayerRenderer.java -@@ -60,7 +60,9 @@ +@@ -60,7 +_,9 @@ public void func_225623_a_(AbstractClientPlayerEntity p_225623_1_, float p_225623_2_, float p_225623_3_, MatrixStack p_225623_4_, IRenderTypeBuffer p_225623_5_, int p_225623_6_) { this.func_177137_d(p_225623_1_); diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java.patch index 107c7490c5..14c4d7f486 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java +++ b/net/minecraft/client/renderer/entity/layers/BipedArmorLayer.java -@@ -44,19 +44,20 @@ +@@ -44,19 +_,20 @@ if (itemstack.func_77973_b() instanceof ArmorItem) { ArmorItem armoritem = (ArmorItem)itemstack.func_77973_b(); if (armoritem.func_185083_B_() == p_241739_4_) { @@ -18,27 +18,27 @@ float f2 = (float)(i & 255) / 255.0F; - this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, armoritem, flag1, p_241739_6_, flag, f, f1, f2, (String)null); - this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, armoritem, flag1, p_241739_6_, flag, 1.0F, 1.0F, 1.0F, "overlay"); -+ this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, f, f1, f2, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, null)); -+ this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, 1.0F, 1.0F, 1.0F, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, "overlay")); ++ this.renderModel(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, f, f1, f2, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, null)); ++ this.renderModel(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, 1.0F, 1.0F, 1.0F, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, "overlay")); } else { - this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, armoritem, flag1, p_241739_6_, flag, 1.0F, 1.0F, 1.0F, (String)null); -+ this.func_241738_a_(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, 1.0F, 1.0F, 1.0F, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, null)); ++ this.renderModel(p_241739_1_, p_241739_2_, p_241739_5_, flag1, p_241739_6_, 1.0F, 1.0F, 1.0F, this.getArmorResource(p_241739_3_, itemstack, p_241739_4_, null)); } } -@@ -88,7 +89,10 @@ +@@ -88,7 +_,10 @@ } private void func_241738_a_(MatrixStack p_241738_1_, IRenderTypeBuffer p_241738_2_, int p_241738_3_, ArmorItem p_241738_4_, boolean p_241738_5_, A p_241738_6_, boolean p_241738_7_, float p_241738_8_, float p_241738_9_, float p_241738_10_, @Nullable String p_241738_11_) { - IVertexBuilder ivertexbuilder = ItemRenderer.func_239386_a_(p_241738_2_, RenderType.func_239263_a_(this.func_241737_a_(p_241738_4_, p_241738_7_, p_241738_11_)), false, p_241738_5_); -+ func_241738_a_(p_241738_1_, p_241738_2_, p_241738_3_, p_241738_5_, p_241738_6_, p_241738_8_, p_241738_9_, p_241738_10_, this.func_241737_a_(p_241738_4_, p_241738_7_, p_241738_11_)); ++ renderModel(p_241738_1_, p_241738_2_, p_241738_3_, p_241738_5_, p_241738_6_, p_241738_8_, p_241738_9_, p_241738_10_, this.func_241737_a_(p_241738_4_, p_241738_7_, p_241738_11_)); + } -+ private void func_241738_a_(MatrixStack p_241738_1_, IRenderTypeBuffer p_241738_2_, int p_241738_3_, boolean p_241738_5_, A p_241738_6_, float p_241738_8_, float p_241738_9_, float p_241738_10_, ResourceLocation armorResource) { ++ private void renderModel(MatrixStack p_241738_1_, IRenderTypeBuffer p_241738_2_, int p_241738_3_, boolean p_241738_5_, A p_241738_6_, float p_241738_8_, float p_241738_9_, float p_241738_10_, ResourceLocation armorResource) { + IVertexBuilder ivertexbuilder = ItemRenderer.func_239386_a_(p_241738_2_, RenderType.func_239263_a_(armorResource), false, p_241738_5_); p_241738_6_.func_225598_a_(p_241738_1_, ivertexbuilder, p_241738_3_, OverlayTexture.field_229196_a_, p_241738_8_, p_241738_9_, p_241738_10_, 1.0F); } -@@ -100,8 +104,50 @@ +@@ -100,8 +_,50 @@ return p_188363_1_ == EquipmentSlotType.LEGS; } diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/layers/ElytraLayer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/layers/ElytraLayer.java.patch index 0e0e504187..dfd72d6fe4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/layers/ElytraLayer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/layers/ElytraLayer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/entity/layers/ElytraLayer.java +++ b/net/minecraft/client/renderer/entity/layers/ElytraLayer.java -@@ -30,7 +30,7 @@ +@@ -30,7 +_,7 @@ public void func_225628_a_(MatrixStack p_225628_1_, IRenderTypeBuffer p_225628_2_, int p_225628_3_, T p_225628_4_, float p_225628_5_, float p_225628_6_, float p_225628_7_, float p_225628_8_, float p_225628_9_, float p_225628_10_) { ItemStack itemstack = p_225628_4_.func_184582_a(EquipmentSlotType.CHEST); @@ -9,7 +9,7 @@ ResourceLocation resourcelocation; if (p_225628_4_ instanceof AbstractClientPlayerEntity) { AbstractClientPlayerEntity abstractclientplayerentity = (AbstractClientPlayerEntity)p_225628_4_; -@@ -39,10 +39,10 @@ +@@ -39,10 +_,10 @@ } else if (abstractclientplayerentity.func_152122_n() && abstractclientplayerentity.func_110303_q() != null && abstractclientplayerentity.func_175148_a(PlayerModelPart.CAPE)) { resourcelocation = abstractclientplayerentity.func_110303_q(); } else { @@ -22,10 +22,11 @@ } p_225628_1_.func_227860_a_(); -@@ -54,4 +54,29 @@ +@@ -53,5 +_,30 @@ + this.field_188357_c.func_225598_a_(p_225628_1_, ivertexbuilder, p_225628_3_, OverlayTexture.field_229196_a_, 1.0F, 1.0F, 1.0F, 1.0F); p_225628_1_.func_227865_b_(); } - } ++ } + + /** + * Determines if the ElytraLayer should render. @@ -50,5 +51,5 @@ + */ + public ResourceLocation getElytraTexture(ItemStack stack, T entity) { + return field_188355_a; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/BakedQuad.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/BakedQuad.java.patch index d5dcda1f07..73808c286e 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/BakedQuad.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/BakedQuad.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/BakedQuad.java +++ b/net/minecraft/client/renderer/model/BakedQuad.java -@@ -6,7 +6,7 @@ +@@ -6,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) @@ -9,10 +9,12 @@ protected final int[] field_178215_a; protected final int field_178213_b; protected final Direction field_178214_c; -@@ -37,6 +37,15 @@ - return this.field_178214_c; - } +@@ -35,6 +_,15 @@ + public Direction func_178210_d() { + return this.field_178214_c; ++ } ++ + @Override + public void pipe(net.minecraftforge.client.model.pipeline.IVertexConsumer consumer) { + net.minecraftforge.client.model.pipeline.LightUtil.putBakedQuad(consumer, this); @@ -20,8 +22,6 @@ + + public TextureAtlasSprite func_187508_a() { + return field_187509_d; -+ } -+ - public boolean func_239287_f_() { - return this.field_239286_e_; } + + public boolean func_239287_f_() { 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 30cac77c7d..465ebe3db4 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 -@@ -57,9 +57,10 @@ +@@ -57,9 +_,10 @@ public BlockModel field_178315_d; @Nullable protected ResourceLocation field_178316_e; @@ -12,7 +12,7 @@ } public static BlockModel func_178294_a(String p_178294_0_) { -@@ -76,10 +77,15 @@ +@@ -76,10 +_,15 @@ this.field_187968_k = p_i230056_7_; } @@ -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; } -@@ -100,6 +106,10 @@ +@@ -100,6 +_,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(); -@@ -143,6 +153,9 @@ +@@ -143,6 +_,9 @@ Set set1 = Sets.newHashSet(this.func_228816_c_("particle")); @@ -49,7 +49,7 @@ for(BlockPart blockpart : this.func_178298_a()) { for(BlockPartFace blockpartface : blockpart.field_178240_c.values()) { RenderMaterial rendermaterial = this.func_228816_c_(blockpartface.field_178242_d); -@@ -169,11 +182,17 @@ +@@ -169,11 +_,17 @@ return set1; } @@ -67,7 +67,7 @@ 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, this.func_230176_c_().func_230178_a_()); -@@ -200,6 +219,10 @@ +@@ -200,6 +_,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_); } @@ -78,7 +78,7 @@ public boolean func_178300_b(String p_178300_1_) { return !MissingTextureSprite.func_195675_b().equals(this.func_228816_c_(p_178300_1_).func_229313_b_()); } -@@ -373,5 +396,7 @@ +@@ -373,5 +_,7 @@ public boolean func_230178_a_() { return this == SIDE; } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/FaceBakery.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/FaceBakery.java.patch index e489cef566..e6e25e1e64 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/FaceBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/FaceBakery.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/FaceBakery.java +++ b/net/minecraft/client/renderer/model/FaceBakery.java -@@ -43,6 +43,7 @@ +@@ -43,6 +_,7 @@ this.func_178408_a(aint, direction); } @@ -8,7 +8,7 @@ return new BakedQuad(aint, p_228824_3_.field_178245_c, direction, p_228824_4_, p_228824_8_); } -@@ -125,8 +126,8 @@ +@@ -125,8 +_,8 @@ p_239288_1_[i + 1] = Float.floatToRawIntBits(p_239288_3_.func_195900_b()); p_239288_1_[i + 2] = Float.floatToRawIntBits(p_239288_3_.func_195902_c()); p_239288_1_[i + 3] = -1; 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 afff773e97..cbc0270cfb 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/IBakedModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/IBakedModel.java +++ b/net/minecraft/client/renderer/model/IBakedModel.java -@@ -10,7 +10,9 @@ +@@ -10,7 +_,9 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) @@ -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(); -@@ -21,9 +23,13 @@ +@@ -21,9 +_,13 @@ boolean func_188618_c(); diff --git a/patches/minecraft/net/minecraft/client/renderer/model/IModelTransform.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/IModelTransform.java.patch index aab97b6754..8c3dcd2da4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/IModelTransform.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/IModelTransform.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/IModelTransform.java +++ b/net/minecraft/client/renderer/model/IModelTransform.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) diff --git a/patches/minecraft/net/minecraft/client/renderer/model/IUnbakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/IUnbakedModel.java.patch index 105cd9b644..3cfed35858 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/IUnbakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/IUnbakedModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/IUnbakedModel.java +++ b/net/minecraft/client/renderer/model/IUnbakedModel.java -@@ -11,7 +11,7 @@ +@@ -11,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ItemCameraTransforms.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ItemCameraTransforms.java.patch index 6e7d969478..31063f7cc9 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ItemCameraTransforms.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ItemCameraTransforms.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ItemCameraTransforms.java +++ b/net/minecraft/client/renderer/model/ItemCameraTransforms.java -@@ -25,6 +25,7 @@ +@@ -25,6 +_,7 @@ this(ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a, ItemTransformVec3f.field_178366_a); } @@ -8,7 +8,7 @@ public ItemCameraTransforms(ItemCameraTransforms p_i46443_1_) { this.field_188036_k = p_i46443_1_.field_188036_k; this.field_188037_l = p_i46443_1_.field_188037_l; -@@ -36,6 +37,7 @@ +@@ -36,6 +_,7 @@ this.field_181700_p = p_i46443_1_.field_181700_p; } @@ -16,7 +16,7 @@ public ItemCameraTransforms(ItemTransformVec3f p_i46569_1_, ItemTransformVec3f p_i46569_2_, ItemTransformVec3f p_i46569_3_, ItemTransformVec3f p_i46569_4_, ItemTransformVec3f p_i46569_5_, ItemTransformVec3f p_i46569_6_, ItemTransformVec3f p_i46569_7_, ItemTransformVec3f p_i46569_8_) { this.field_188036_k = p_i46569_1_; this.field_188037_l = p_i46569_2_; -@@ -47,6 +49,7 @@ +@@ -47,6 +_,7 @@ this.field_181700_p = p_i46569_8_; } 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 2c9d42496f..6eb5bfd1ab 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ItemModelGenerator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ItemModelGenerator.java +++ b/net/minecraft/client/renderer/model/ItemModelGenerator.java -@@ -36,6 +36,7 @@ +@@ -36,6 +_,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, 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; diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ItemOverrideList.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ItemOverrideList.java.patch index 49d4605477..61cc49b6ac 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ItemOverrideList.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ItemOverrideList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ItemOverrideList.java +++ b/net/minecraft/client/renderer/model/ItemOverrideList.java -@@ -24,10 +24,14 @@ +@@ -24,10 +_,14 @@ this.field_209582_c = Collections.emptyList(); } @@ -16,12 +16,13 @@ }).collect(Collectors.toList()); Collections.reverse(this.field_209582_c); -@@ -55,4 +59,8 @@ +@@ -54,5 +_,9 @@ + } return p_239290_1_; - } ++ } + + public com.google.common.collect.ImmutableList getOverrides() { + return com.google.common.collect.ImmutableList.copyOf(field_188023_b); -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ItemTransformVec3f.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ItemTransformVec3f.java.patch index 5c2fad0027..f6822bc383 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ItemTransformVec3f.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ItemTransformVec3f.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ItemTransformVec3f.java +++ b/net/minecraft/client/renderer/model/ItemTransformVec3f.java -@@ -14,7 +14,11 @@ +@@ -14,7 +_,11 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; 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 83836a3e94..461a14cdce 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ModelBakery.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ModelBakery.java +++ b/net/minecraft/client/renderer/model/ModelBakery.java -@@ -146,8 +146,17 @@ +@@ -146,8 +_,17 @@ }); public ModelBakery(IResourceManager p_i226056_1_, BlockColors p_i226056_2_, IProfiler p_i226056_3_, int p_i226056_4_) { @@ -18,7 +18,7 @@ p_i226056_3_.func_76320_a("missing_model"); try { -@@ -180,12 +189,16 @@ +@@ -180,12 +_,16 @@ p_i226056_3_.func_219895_b("special"); this.func_217843_a(new ModelResourceLocation("minecraft:trident_in_hand#inventory")); @@ -35,7 +35,7 @@ set.stream().filter((p_229346_0_) -> { return !p_229346_0_.getSecond().equals(field_229321_r_); }).forEach((p_229330_0_) -> { -@@ -224,6 +237,7 @@ +@@ -224,6 +_,7 @@ try { ibakedmodel = this.func_217845_a(p_229350_1_, ModelRotation.X0_Y0); } catch (Exception exception) { @@ -43,7 +43,7 @@ field_177603_c.warn("Unable to bake model: '{}': {}", p_229350_1_, exception); } -@@ -442,6 +456,13 @@ +@@ -442,6 +_,13 @@ this.field_217848_D.addAll(p_209593_2_.func_187965_e()); } @@ -57,7 +57,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); -@@ -456,7 +477,13 @@ +@@ -456,7 +_,13 @@ } @Nullable @@ -71,7 +71,7 @@ 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); -@@ -467,11 +494,11 @@ +@@ -467,11 +_,11 @@ if (iunbakedmodel instanceof BlockModel) { BlockModel blockmodel = (BlockModel)iunbakedmodel; if (blockmodel.func_178310_f() == field_177606_o) { @@ -85,7 +85,7 @@ this.field_217850_G.put(triple, ibakedmodel); return ibakedmodel; } -@@ -524,6 +551,10 @@ +@@ -524,11 +_,19 @@ return this.field_225367_M; } @@ -96,14 +96,12 @@ @OnlyIn(Dist.CLIENT) static class BlockStateDefinitionException extends RuntimeException { public BlockStateDefinitionException(String p_i49526_1_) { -@@ -531,6 +562,10 @@ + super(p_i49526_1_); } - } - -+ public SpriteMap getSpriteMap() { -+ return this.field_229322_z_; + } + ++ public SpriteMap getSpriteMap() { ++ return this.field_229322_z_; + } + @OnlyIn(Dist.CLIENT) - static class ModelListWrapper { - private final List field_225339_a; 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 0904884d3f..e7076f854c 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ModelManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ModelManager.java +++ b/net/minecraft/client/renderer/model/ModelManager.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ @OnlyIn(Dist.CLIENT) public class ModelManager extends ReloadListener implements AutoCloseable { @@ -9,7 +9,7 @@ @Nullable private SpriteMap field_229352_b_; private final BlockModelShapes field_174957_c; -@@ -36,6 +36,10 @@ +@@ -36,6 +_,10 @@ this.field_174957_c = new BlockModelShapes(this); } @@ -20,7 +20,7 @@ public IBakedModel func_174953_a(ModelResourceLocation p_174953_1_) { return this.field_174958_a.getOrDefault(p_174953_1_, this.field_174955_d); } -@@ -50,7 +54,7 @@ +@@ -50,7 +_,7 @@ protected ModelBakery func_212854_a_(IResourceManager p_212854_1_, IProfiler p_212854_2_) { p_212854_2_.func_219894_a(); @@ -29,7 +29,7 @@ p_212854_2_.func_219897_b(); return modelbakery; } -@@ -66,6 +70,7 @@ +@@ -66,6 +_,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(); -@@ -91,6 +96,7 @@ +@@ -91,6 +_,7 @@ } public AtlasTexture func_229356_a_(ResourceLocation p_229356_1_) { @@ -45,14 +45,15 @@ return this.field_229352_b_.func_229152_a_(p_229356_1_); } -@@ -104,4 +110,10 @@ +@@ -103,5 +_,11 @@ + public void func_229355_a_(int p_229355_1_) { this.field_229354_f_ = p_229355_1_; - } ++ } + + // TODO + //@Override + public net.minecraftforge.resource.IResourceType getResourceType() { + return net.minecraftforge.resource.VanillaResourceType.MODELS; -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/ModelResourceLocation.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/ModelResourceLocation.java.patch index 2f2882e15c..0c2ea045b2 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/ModelResourceLocation.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/ModelResourceLocation.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/ModelResourceLocation.java +++ b/net/minecraft/client/renderer/model/ModelResourceLocation.java -@@ -5,7 +5,6 @@ +@@ -5,7 +_,6 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/client/renderer/model/MultipartBakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/MultipartBakedModel.java.patch index cfd7fb1c97..d0cd640fca 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/MultipartBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/MultipartBakedModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/MultipartBakedModel.java +++ b/net/minecraft/client/renderer/model/MultipartBakedModel.java -@@ -18,7 +18,7 @@ +@@ -18,7 +_,7 @@ import org.apache.commons.lang3.tuple.Pair; @OnlyIn(Dist.CLIENT) @@ -9,7 +9,7 @@ private final List, IBakedModel>> field_188626_f; protected final boolean field_188621_a; protected final boolean field_188622_b; -@@ -27,10 +27,12 @@ +@@ -27,10 +_,12 @@ protected final ItemCameraTransforms field_188624_d; protected final ItemOverrideList field_188625_e; private final Map field_210277_g = new Object2ObjectOpenCustomHashMap<>(Util.func_212443_g()); @@ -22,7 +22,7 @@ this.field_188621_a = ibakedmodel.func_177555_b(); this.field_188622_b = ibakedmodel.func_177556_c(); this.field_230185_c_ = ibakedmodel.func_230044_c_(); -@@ -39,7 +41,8 @@ +@@ -39,7 +_,8 @@ this.field_188625_e = ibakedmodel.func_188617_f(); } @@ -32,7 +32,7 @@ if (p_200117_1_ == null) { return Collections.emptyList(); } else { -@@ -62,7 +65,7 @@ +@@ -62,7 +_,7 @@ for(int j = 0; j < bitset.length(); ++j) { if (bitset.get(j)) { @@ -41,7 +41,7 @@ } } -@@ -74,6 +77,10 @@ +@@ -74,6 +_,10 @@ return this.field_188621_a; } @@ -52,7 +52,7 @@ public boolean func_177556_c() { return this.field_188622_b; } -@@ -86,18 +93,33 @@ +@@ -86,16 +_,31 @@ return false; } @@ -76,13 +76,11 @@ + public ItemOverrideList func_188617_f() { return this.field_188625_e; - } - ++ } ++ + @Override + public net.minecraftforge.client.model.data.IModelData getModelData(net.minecraft.world.IBlockDisplayReader world, net.minecraft.util.math.BlockPos pos, BlockState state, net.minecraftforge.client.model.data.IModelData tileData) { + return net.minecraftforge.client.model.data.MultipartModelData.create(field_188626_f, world, pos, state, tileData); -+ } -+ + } + @OnlyIn(Dist.CLIENT) - public static class Builder { - private final List, IBakedModel>> field_188649_a = Lists.newArrayList(); 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 0d30c0b0ad..9c005a5242 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/SimpleBakedModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/SimpleBakedModel.java +++ b/net/minecraft/client/renderer/model/SimpleBakedModel.java -@@ -77,6 +77,10 @@ +@@ -77,6 +_,10 @@ private final boolean field_177653_e; private final ItemCameraTransforms field_177651_f; diff --git a/patches/minecraft/net/minecraft/client/renderer/model/UVTransformationUtil.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/UVTransformationUtil.java.patch new file mode 100644 index 0000000000..87a4daee4c --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/model/UVTransformationUtil.java.patch @@ -0,0 +1,26 @@ +--- a/net/minecraft/client/renderer/model/UVTransformationUtil.java ++++ b/net/minecraft/client/renderer/model/UVTransformationUtil.java +@@ -27,7 +_,7 @@ + }); + public static final EnumMap field_229377_b_ = Util.func_200696_a(Maps.newEnumMap(Direction.class), (p_229381_0_) -> { + for(Direction direction : Direction.values()) { +- p_229381_0_.put(direction, field_229376_a_.get(direction).func_227987_b_()); ++ p_229381_0_.put(direction, field_229376_a_.get(direction).inverse()); + } + + }); +@@ -41,12 +_,12 @@ + + public static TransformationMatrix func_229380_a_(TransformationMatrix p_229380_0_, Direction p_229380_1_, Supplier p_229380_2_) { + Direction direction = Direction.func_229385_a_(p_229380_0_.func_227988_c_(), p_229380_1_); +- TransformationMatrix transformationmatrix = p_229380_0_.func_227987_b_(); ++ TransformationMatrix transformationmatrix = p_229380_0_.inverse(); + if (transformationmatrix == null) { + field_229378_c_.warn(p_229380_2_.get()); + return new TransformationMatrix((Vector3f)null, (Quaternion)null, new Vector3f(0.0F, 0.0F, 0.0F), (Quaternion)null); + } else { +- TransformationMatrix transformationmatrix1 = field_229377_b_.get(p_229380_1_).func_227985_a_(transformationmatrix).func_227985_a_(field_229376_a_.get(direction)); ++ TransformationMatrix transformationmatrix1 = field_229377_b_.get(p_229380_1_).compose(transformationmatrix).compose(field_229376_a_.get(direction)); + return func_229379_a_(transformationmatrix1); + } + } diff --git a/patches/minecraft/net/minecraft/client/renderer/model/VariantList.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/VariantList.java.patch index 2d9f5b2746..8819b7f91d 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/VariantList.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/VariantList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/VariantList.java +++ b/net/minecraft/client/renderer/model/VariantList.java -@@ -64,7 +64,7 @@ +@@ -64,7 +_,7 @@ WeightedBakedModel.Builder weightedbakedmodel$builder = new WeightedBakedModel.Builder(); for(Variant variant : this.func_188114_a()) { diff --git a/patches/minecraft/net/minecraft/client/renderer/model/WeightedBakedModel.java.patch b/patches/minecraft/net/minecraft/client/renderer/model/WeightedBakedModel.java.patch index 1ed02b5b43..39b760f11c 100644 --- a/patches/minecraft/net/minecraft/client/renderer/model/WeightedBakedModel.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/model/WeightedBakedModel.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/model/WeightedBakedModel.java +++ b/net/minecraft/client/renderer/model/WeightedBakedModel.java -@@ -12,7 +12,7 @@ +@@ -12,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) @@ -9,7 +9,7 @@ private final int field_177567_a; private final List field_177565_b; private final IBakedModel field_177566_c; -@@ -23,14 +23,20 @@ +@@ -23,14 +_,20 @@ this.field_177566_c = (p_i46073_1_.get(0)).field_185281_b; } @@ -32,7 +32,7 @@ public boolean func_177556_c() { return this.field_177566_c.func_177556_c(); } -@@ -47,10 +53,18 @@ +@@ -47,8 +_,16 @@ return this.field_177566_c.func_177554_e(); } @@ -42,12 +42,10 @@ + public ItemCameraTransforms func_177552_f() { return this.field_177566_c.func_177552_f(); - } - -+ public IBakedModel handlePerspective(net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType transformType, com.mojang.blaze3d.matrix.MatrixStack matrixStack) { -+ return this.field_177566_c.handlePerspective(transformType, matrixStack); + } + - public ItemOverrideList func_188617_f() { - return this.field_177566_c.func_188617_f(); ++ public IBakedModel handlePerspective(net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType transformType, com.mojang.blaze3d.matrix.MatrixStack matrixStack) { ++ return this.field_177566_c.handlePerspective(transformType, matrixStack); } + + public ItemOverrideList func_188617_f() { diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/AtlasTexture.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/AtlasTexture.java.patch index 8f9b81131c..952c087f70 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/AtlasTexture.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/AtlasTexture.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/AtlasTexture.java +++ b/net/minecraft/client/renderer/texture/AtlasTexture.java -@@ -78,6 +78,7 @@ +@@ -78,6 +_,7 @@ } } @@ -8,7 +8,7 @@ } public AtlasTexture.SheetData func_229220_a_(IResourceManager p_229220_1_, Stream p_229220_2_, IProfiler p_229220_3_, int p_229220_4_) { -@@ -92,6 +93,7 @@ +@@ -92,6 +_,7 @@ int j = Integer.MAX_VALUE; int k = 1 << p_229220_4_; p_229220_3_.func_219895_b("extracting_frames"); @@ -16,7 +16,7 @@ for(TextureAtlasSprite.Info textureatlassprite$info : this.func_215256_a(p_229220_1_, set)) { j = Math.min(j, Math.min(textureatlassprite$info.func_229250_b_(), textureatlassprite$info.func_229252_c_())); -@@ -106,7 +108,8 @@ +@@ -106,7 +_,8 @@ int i1 = Math.min(j, k); int j1 = MathHelper.func_151239_c(i1); 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 09bf92e7b0..efe902042a 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 -@@ -180,7 +180,7 @@ +@@ -180,7 +_,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); -@@ -192,7 +192,7 @@ +@@ -192,7 +_,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_); -@@ -204,7 +204,7 @@ +@@ -204,7 +_,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/Stitcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch index a9d5676895..1514b46184 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/Stitcher.java +++ b/net/minecraft/client/renderer/texture/Stitcher.java -@@ -14,6 +14,8 @@ +@@ -14,6 +_,8 @@ @OnlyIn(Dist.CLIENT) public class Stitcher { @@ -9,7 +9,7 @@ private static final Comparator field_217797_a = Comparator.comparing((p_217793_0_) -> { return -p_217793_0_.field_94201_d; }).thenComparing((p_217795_0_) -> { -@@ -54,6 +56,12 @@ +@@ -54,6 +_,12 @@ for(Stitcher.Holder stitcher$holder : list) { if (!this.func_94310_b(stitcher$holder)) { @@ -22,7 +22,7 @@ throw new StitcherException(stitcher$holder.field_229213_a_, list.stream().map((p_229212_0_) -> { return p_229212_0_.field_229213_a_; }).collect(ImmutableList.toImmutableList())); -@@ -103,7 +111,7 @@ +@@ -103,7 +_,7 @@ boolean flag4 = flag2 && j != l; boolean flag; if (flag3 ^ flag4) { @@ -31,7 +31,7 @@ } else { flag = flag1 && i <= j; } -@@ -140,7 +148,7 @@ +@@ -140,7 +_,7 @@ } public String toString() { diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch index eba689b009..1c984d8568 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/Texture.java +++ b/net/minecraft/client/renderer/texture/Texture.java -@@ -33,6 +33,20 @@ +@@ -33,6 +_,20 @@ GlStateManager.func_227677_b_(3553, 10240, j); } diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/TextureAtlasSprite.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/TextureAtlasSprite.java.patch index 014da05b21..eed3bcf8e4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/TextureAtlasSprite.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/TextureAtlasSprite.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/texture/TextureAtlasSprite.java +++ b/net/minecraft/client/renderer/texture/TextureAtlasSprite.java -@@ -17,7 +17,7 @@ +@@ -17,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) @@ -9,7 +9,7 @@ private final AtlasTexture field_229225_b_; private final TextureAtlasSprite.Info field_229226_c_; private final AnimationMetadataSection field_110982_k; -@@ -135,6 +135,7 @@ +@@ -135,6 +_,7 @@ private void func_195667_a(int p_195667_1_, int p_195667_2_, NativeImage[] p_195667_3_) { for(int i = 0; i < this.field_195670_c.length; ++i) { @@ -17,13 +17,14 @@ p_195667_3_[i].func_227788_a_(i, this.field_110975_c >> i, this.field_110974_d >> i, p_195667_1_ >> i, p_195667_2_ >> i, this.field_229226_c_.field_229245_b_ >> i, this.field_229226_c_.field_229246_c_ >> i, this.field_195670_c.length > 1, false); } -@@ -341,4 +342,9 @@ +@@ -340,5 +_,10 @@ + } } - } ++ } + + // Forge Start + public int getPixelRGBA(int frameIndex, int x, int y) { + return this.field_195670_c[0].func_195709_a(x + this.field_195671_d[frameIndex] * func_94211_a(), y + this.field_195672_e[frameIndex] * func_94216_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 1f73150b21..da101b2413 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 -@@ -157,6 +157,7 @@ +@@ -157,6 +_,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/ChestTileEntityRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/tileentity/ChestTileEntityRenderer.java.patch index 58a40fd87a..66f6cfad8b 100644 --- a/patches/minecraft/net/minecraft/client/renderer/tileentity/ChestTileEntityRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/tileentity/ChestTileEntityRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/tileentity/ChestTileEntityRenderer.java +++ b/net/minecraft/client/renderer/tileentity/ChestTileEntityRenderer.java -@@ -100,7 +100,7 @@ +@@ -100,7 +_,7 @@ f1 = 1.0F - f1; f1 = 1.0F - f1 * f1 * f1; int i = icallbackwrapper.apply(new DualBrightnessCallback<>()).applyAsInt(p_225616_5_); @@ -9,12 +9,13 @@ IVertexBuilder ivertexbuilder = rendermaterial.func_229311_a_(p_225616_4_, RenderType::func_228638_b_); if (flag1) { if (chesttype == ChestType.LEFT) { -@@ -123,4 +123,8 @@ +@@ -122,5 +_,9 @@ + p_228871_3_.func_228308_a_(p_228871_1_, p_228871_2_, p_228871_7_, p_228871_8_); p_228871_4_.func_228308_a_(p_228871_1_, p_228871_2_, p_228871_7_, p_228871_8_); p_228871_5_.func_228308_a_(p_228871_1_, p_228871_2_, p_228871_7_, p_228871_8_); - } ++ } + + protected RenderMaterial getMaterial(T tileEntity, ChestType chestType) { + return Atlases.func_228771_a_(tileEntity, chestType, this.field_147509_j); -+ } + } } diff --git a/patches/minecraft/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java.patch index d0031c2e2f..a083d777f4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java +++ b/net/minecraft/client/renderer/tileentity/PistonTileEntityRenderer.java -@@ -61,8 +61,11 @@ +@@ -61,8 +_,11 @@ } private void func_228876_a_(BlockPos p_228876_1_, BlockState p_228876_2_, MatrixStack p_228876_3_, IRenderTypeBuffer p_228876_4_, World p_228876_5_, boolean p_228876_6_, int p_228876_7_) { 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 55e9c02d60..830b85f814 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 -@@ -135,4 +135,9 @@ +@@ -135,4 +_,9 @@ public FontRenderer func_147548_a() { return this.field_147557_n; } diff --git a/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormat.java.patch b/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormat.java.patch index 2b51780117..21b3a66fb4 100644 --- a/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormat.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormat.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/vertex/VertexFormat.java +++ b/net/minecraft/client/renderer/vertex/VertexFormat.java -@@ -84,4 +84,11 @@ +@@ -84,4 +_,11 @@ } } diff --git a/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormatElement.java.patch b/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormatElement.java.patch index e889095d75..fc3172d78e 100644 --- a/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormatElement.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/vertex/VertexFormatElement.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/renderer/vertex/VertexFormatElement.java +++ b/net/minecraft/client/renderer/vertex/VertexFormatElement.java -@@ -88,6 +88,12 @@ +@@ -88,6 +_,12 @@ this.field_177380_c.func_227901_a_(this.field_177377_d); } diff --git a/patches/minecraft/net/minecraft/client/resources/ClientLanguageMap.java.patch b/patches/minecraft/net/minecraft/client/resources/ClientLanguageMap.java.patch index 70f9c279cd..c434417ba1 100644 --- a/patches/minecraft/net/minecraft/client/resources/ClientLanguageMap.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/ClientLanguageMap.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/ClientLanguageMap.java +++ b/net/minecraft/client/resources/ClientLanguageMap.java -@@ -78,4 +78,9 @@ +@@ -78,4 +_,9 @@ public IReorderingProcessor func_241870_a(ITextProperties p_241870_1_) { return BidiReorderer.func_243508_a(p_241870_1_, this.field_239496_d_); } diff --git a/patches/minecraft/net/minecraft/client/resources/FoliageColorReloadListener.java.patch b/patches/minecraft/net/minecraft/client/resources/FoliageColorReloadListener.java.patch index 05653b3b14..041ab490e8 100644 --- a/patches/minecraft/net/minecraft/client/resources/FoliageColorReloadListener.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/FoliageColorReloadListener.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/FoliageColorReloadListener.java +++ b/net/minecraft/client/resources/FoliageColorReloadListener.java -@@ -23,4 +23,9 @@ +@@ -23,4 +_,9 @@ protected void func_212853_a_(int[] p_212853_1_, IResourceManager p_212853_2_, IProfiler p_212853_3_) { FoliageColors.func_77467_a(p_212853_1_); } diff --git a/patches/minecraft/net/minecraft/client/resources/GrassColorReloadListener.java.patch b/patches/minecraft/net/minecraft/client/resources/GrassColorReloadListener.java.patch index c6ec74d07b..c97f584313 100644 --- a/patches/minecraft/net/minecraft/client/resources/GrassColorReloadListener.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/GrassColorReloadListener.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/GrassColorReloadListener.java +++ b/net/minecraft/client/resources/GrassColorReloadListener.java -@@ -23,4 +23,9 @@ +@@ -23,4 +_,9 @@ protected void func_212853_a_(int[] p_212853_1_, IResourceManager p_212853_2_, IProfiler p_212853_3_) { GrassColors.func_77479_a(p_212853_1_); } diff --git a/patches/minecraft/net/minecraft/client/resources/I18n.java.patch b/patches/minecraft/net/minecraft/client/resources/I18n.java.patch index 6f194aee2a..5dd3696c78 100644 --- a/patches/minecraft/net/minecraft/client/resources/I18n.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/I18n.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/I18n.java +++ b/net/minecraft/client/resources/I18n.java -@@ -11,6 +11,7 @@ +@@ -11,6 +_,7 @@ static void func_239502_a_(LanguageMap p_239502_0_) { field_239501_a_ = p_239502_0_; diff --git a/patches/minecraft/net/minecraft/client/resources/JsonReloadListener.java.patch b/patches/minecraft/net/minecraft/client/resources/JsonReloadListener.java.patch index c581e94861..6a47a9bf27 100644 --- a/patches/minecraft/net/minecraft/client/resources/JsonReloadListener.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/JsonReloadListener.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/JsonReloadListener.java +++ b/net/minecraft/client/resources/JsonReloadListener.java -@@ -61,4 +61,8 @@ +@@ -61,4 +_,8 @@ return map; } diff --git a/patches/minecraft/net/minecraft/client/resources/Language.java.patch b/patches/minecraft/net/minecraft/client/resources/Language.java.patch index 8de38144a0..26c3435886 100644 --- a/patches/minecraft/net/minecraft/client/resources/Language.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/Language.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/Language.java +++ b/net/minecraft/client/resources/Language.java -@@ -15,6 +15,12 @@ +@@ -15,6 +_,12 @@ this.field_135037_b = p_i1303_2_; this.field_135038_c = p_i1303_3_; this.field_135036_d = p_i1303_4_; @@ -13,7 +13,7 @@ } public String getCode() { -@@ -52,4 +58,8 @@ +@@ -52,4 +_,8 @@ public int compareTo(Language p_compareTo_1_) { return this.field_135039_a.compareTo(p_compareTo_1_.field_135039_a); } diff --git a/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch b/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch index f0f65dfcb6..d70771bb14 100644 --- a/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch +++ b/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/resources/LanguageManager.java +++ b/net/minecraft/client/resources/LanguageManager.java -@@ -79,4 +79,9 @@ +@@ -79,4 +_,9 @@ public Language func_191960_a(String p_191960_1_) { return this.field_135046_d.get(p_191960_1_); } diff --git a/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch b/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch index 349c0d92f7..9a6d9cb9e7 100644 --- a/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/settings/KeyBinding.java +++ b/net/minecraft/client/settings/KeyBinding.java -@@ -15,9 +15,9 @@ +@@ -15,9 +_,9 @@ import net.minecraftforge.api.distmarker.OnlyIn; @OnlyIn(Dist.CLIENT) @@ -12,7 +12,7 @@ private static final Set field_151473_c = Sets.newHashSet(); private static final Map field_193627_d = Util.func_200696_a(Maps.newHashMap(), (p_205215_0_) -> { p_205215_0_.put("key.categories.movement", 1); -@@ -36,7 +36,7 @@ +@@ -36,7 +_,7 @@ private int field_151474_i; public static void func_197981_a(InputMappings.Input p_197981_0_) { @@ -21,7 +21,7 @@ if (keybinding != null) { ++keybinding.field_151474_i; } -@@ -44,7 +44,7 @@ +@@ -44,7 +_,7 @@ } public static void func_197980_a(InputMappings.Input p_197980_0_, boolean p_197980_1_) { @@ -30,7 +30,7 @@ if (keybinding != null) { keybinding.func_225593_a_(p_197980_1_); } -@@ -68,10 +68,10 @@ +@@ -68,10 +_,10 @@ } public static void func_74508_b() { @@ -43,7 +43,7 @@ } } -@@ -86,12 +86,12 @@ +@@ -86,12 +_,12 @@ this.field_151472_e = this.field_74512_d; this.field_151471_f = p_i47675_4_; field_74516_a.put(p_i47675_1_, this); @@ -58,7 +58,7 @@ } public String func_151466_e() { -@@ -125,7 +125,13 @@ +@@ -125,7 +_,13 @@ } public int compareTo(KeyBinding p_compareTo_1_) { @@ -73,7 +73,7 @@ } public static Supplier func_193626_b(String p_193626_0_) { -@@ -136,6 +142,20 @@ +@@ -136,6 +_,20 @@ } public boolean func_197983_b(KeyBinding p_197983_1_) { @@ -94,7 +94,7 @@ return this.field_74512_d.equals(p_197983_1_.field_74512_d); } -@@ -156,11 +176,13 @@ +@@ -156,11 +_,13 @@ } public ITextComponent func_238171_j_() { @@ -109,7 +109,7 @@ } public String func_197982_m() { -@@ -170,4 +192,84 @@ +@@ -170,4 +_,84 @@ public void func_225593_a_(boolean p_225593_1_) { this.field_74513_e = p_225593_1_; } diff --git a/patches/minecraft/net/minecraft/client/settings/ToggleableKeyBinding.java.patch b/patches/minecraft/net/minecraft/client/settings/ToggleableKeyBinding.java.patch index 11a446c425..2490362ac9 100644 --- a/patches/minecraft/net/minecraft/client/settings/ToggleableKeyBinding.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/ToggleableKeyBinding.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/settings/ToggleableKeyBinding.java +++ b/net/minecraft/client/settings/ToggleableKeyBinding.java -@@ -16,7 +16,7 @@ +@@ -16,7 +_,7 @@ public void func_225593_a_(boolean p_225593_1_) { if (this.field_228053_a_.getAsBoolean()) { @@ -9,7 +9,7 @@ super.func_225593_a_(!this.func_151470_d()); } } else { -@@ -24,4 +24,5 @@ +@@ -24,4 +_,5 @@ } } diff --git a/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch index e5ec2943d4..cdaab7c312 100644 --- a/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/shader/Framebuffer.java +++ b/net/minecraft/client/shader/Framebuffer.java -@@ -118,7 +118,10 @@ +@@ -118,7 +_,10 @@ GlStateManager.func_227677_b_(3553, 10242, 10496); GlStateManager.func_227677_b_(3553, 10243, 10496); GlStateManager.func_227677_b_(3553, 34892, 0); @@ -11,7 +11,7 @@ } this.func_147607_a(9728); -@@ -127,7 +130,14 @@ +@@ -127,7 +_,14 @@ GlStateManager.func_227727_h_(FramebufferConstants.field_227592_a_, this.field_147616_f); GlStateManager.func_227645_a_(FramebufferConstants.field_227592_a_, FramebufferConstants.field_227594_c_, 3553, this.field_147617_g, 0); if (this.field_147619_e) { @@ -26,10 +26,11 @@ } this.func_147611_b(); -@@ -281,6 +291,32 @@ +@@ -280,6 +_,32 @@ + GlStateManager.func_227658_a_(i, p_216493_1_); this.func_147609_e(); } - ++ + + /*================================ FORGE START ================================================*/ + private boolean stencilEnabled = false; @@ -55,7 +56,6 @@ + return this.stencilEnabled; + } + /*================================ FORGE END ================================================*/ -+ + public int func_242996_f() { return this.field_147617_g; - } diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch index 170a2bd081..fa07e94242 100644 --- a/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/shader/ShaderGroup.java +++ b/net/minecraft/client/shader/ShaderGroup.java -@@ -164,7 +164,8 @@ +@@ -164,7 +_,8 @@ throw new JSONException("Render target '" + s4 + "' can't be used as depth buffer"); } diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderInstance.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderInstance.java.patch index 88ac84cf67..e15b693e17 100644 --- a/patches/minecraft/net/minecraft/client/shader/ShaderInstance.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/ShaderInstance.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/shader/ShaderInstance.java +++ b/net/minecraft/client/shader/ShaderInstance.java -@@ -51,7 +51,8 @@ +@@ -51,7 +_,8 @@ private final ShaderLoader field_216563_s; public ShaderInstance(IResourceManager p_i50988_1_, String p_i50988_2_) throws IOException { @@ -10,7 +10,7 @@ this.field_216556_l = p_i50988_2_; IResource iresource = null; -@@ -149,7 +150,8 @@ +@@ -149,7 +_,8 @@ public static ShaderLoader func_216542_a(IResourceManager p_216542_0_, ShaderLoader.ShaderType p_216542_1_, String p_216542_2_) throws IOException { ShaderLoader shaderloader = p_216542_1_.func_148064_d().get(p_216542_2_); if (shaderloader == null) { diff --git a/patches/minecraft/net/minecraft/client/util/SearchTreeManager.java.patch b/patches/minecraft/net/minecraft/client/util/SearchTreeManager.java.patch index c748c83baf..a658e36deb 100644 --- a/patches/minecraft/net/minecraft/client/util/SearchTreeManager.java.patch +++ b/patches/minecraft/net/minecraft/client/util/SearchTreeManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/util/SearchTreeManager.java +++ b/net/minecraft/client/util/SearchTreeManager.java -@@ -31,6 +31,11 @@ +@@ -31,6 +_,11 @@ return (IMutableSearchTree)this.field_194013_c.get(p_215358_1_); } diff --git a/patches/minecraft/net/minecraft/client/world/ClientWorld.java.patch b/patches/minecraft/net/minecraft/client/world/ClientWorld.java.patch index 702265025f..441f0b5bbc 100644 --- a/patches/minecraft/net/minecraft/client/world/ClientWorld.java.patch +++ b/patches/minecraft/net/minecraft/client/world/ClientWorld.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/world/ClientWorld.java +++ b/net/minecraft/client/world/ClientWorld.java -@@ -104,6 +104,8 @@ +@@ -104,6 +_,8 @@ this.func_239136_a_(new BlockPos(8, 64, 8), 0.0F); this.func_72966_v(); this.func_72947_a(); @@ -9,7 +9,7 @@ } public DimensionRenderInfo func_239132_a_() { -@@ -186,6 +188,7 @@ +@@ -186,6 +_,7 @@ this.func_217381_Z().func_194340_a(() -> { return Registry.field_212629_r.func_177774_c(p_217418_1_.func_200600_R()).toString(); }); @@ -17,7 +17,7 @@ p_217418_1_.func_70071_h_(); this.func_217381_Z().func_76319_b(); } -@@ -285,9 +288,11 @@ +@@ -285,9 +_,11 @@ } private void func_217424_b(int p_217424_1_, Entity p_217424_2_) { @@ -29,7 +29,7 @@ } public void func_217413_d(int p_217413_1_) { -@@ -306,6 +311,8 @@ +@@ -306,6 +_,8 @@ } this.field_217431_w.remove(p_217414_1_); @@ -38,7 +38,7 @@ } public void func_217417_b(Chunk p_217417_1_) { -@@ -448,6 +455,11 @@ +@@ -448,6 +_,11 @@ } 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_) { @@ -50,7 +50,7 @@ if (p_184148_1_ == this.field_73037_M.field_71439_g) { this.func_184134_a(p_184148_2_, p_184148_4_, p_184148_6_, p_184148_8_, p_184148_9_, p_184148_10_, p_184148_11_, false); } -@@ -455,6 +467,11 @@ +@@ -455,6 +_,11 @@ } public void func_217384_a(@Nullable PlayerEntity p_217384_1_, Entity p_217384_2_, SoundEvent p_217384_3_, SoundCategory p_217384_4_, float p_217384_5_, float p_217384_6_) { @@ -62,7 +62,7 @@ if (p_217384_1_ == this.field_73037_M.field_71439_g) { this.field_73037_M.func_147118_V().func_147682_a(new EntityTickableSound(p_217384_3_, p_217384_4_, p_217384_2_)); } -@@ -876,6 +893,7 @@ +@@ -876,6 +_,7 @@ } public void func_239156_a_(Difficulty p_239156_1_) { diff --git a/patches/minecraft/net/minecraft/client/world/DimensionRenderInfo.java.patch b/patches/minecraft/net/minecraft/client/world/DimensionRenderInfo.java.patch index 33597123a2..84155dbfcc 100644 --- a/patches/minecraft/net/minecraft/client/world/DimensionRenderInfo.java.patch +++ b/patches/minecraft/net/minecraft/client/world/DimensionRenderInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/client/world/DimensionRenderInfo.java +++ b/net/minecraft/client/world/DimensionRenderInfo.java -@@ -26,6 +26,10 @@ +@@ -26,6 +_,10 @@ private final DimensionRenderInfo.FogType field_241680_e_; private final boolean field_241681_f_; private final boolean field_239212_e_; @@ -11,10 +11,12 @@ public DimensionRenderInfo(float p_i241259_1_, boolean p_i241259_2_, DimensionRenderInfo.FogType p_i241259_3_, boolean p_i241259_4_, boolean p_i241259_5_) { this.field_239210_c_ = p_i241259_1_; -@@ -82,6 +86,35 @@ - return this.field_239212_e_; - } +@@ -80,6 +_,35 @@ + public boolean func_239217_c_() { + return this.field_239212_e_; ++ } ++ + public void setWeatherRenderHandler(net.minecraftforge.client.IWeatherRenderHandler weatherRenderHandler) { + this.weatherRenderHandler = weatherRenderHandler; + } @@ -42,8 +44,6 @@ + @Nullable + public net.minecraftforge.client.ISkyRenderHandler getSkyRenderHandler() { + return skyRenderHandler; -+ } -+ + } + @OnlyIn(Dist.CLIENT) - public static class End extends DimensionRenderInfo { - public End() { diff --git a/patches/minecraft/net/minecraft/command/Commands.java.patch b/patches/minecraft/net/minecraft/command/Commands.java.patch index dff564c7af..2c08f0ca61 100644 --- a/patches/minecraft/net/minecraft/command/Commands.java.patch +++ b/patches/minecraft/net/minecraft/command/Commands.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/Commands.java +++ b/net/minecraft/command/Commands.java -@@ -186,6 +186,7 @@ +@@ -186,6 +_,7 @@ if (p_i232148_1_.field_237219_d_) { PublishCommand.func_198581_a(this.field_197062_b); } @@ -8,7 +8,7 @@ this.field_197062_b.findAmbiguities((p_201302_1_, p_201302_2_, p_201302_3_, p_201302_4_) -> { field_197061_a.warn("Ambiguity between arguments {} and {} with inputs: {}", this.field_197062_b.getPath(p_201302_2_), this.field_197062_b.getPath(p_201302_3_), p_201302_4_); -@@ -205,7 +206,15 @@ +@@ -205,7 +_,15 @@ try { try { diff --git a/patches/minecraft/net/minecraft/command/arguments/ArgumentTypes.java.patch b/patches/minecraft/net/minecraft/command/arguments/ArgumentTypes.java.patch index 0b86c8a581..2991a1e760 100644 --- a/patches/minecraft/net/minecraft/command/arguments/ArgumentTypes.java.patch +++ b/patches/minecraft/net/minecraft/command/arguments/ArgumentTypes.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/arguments/ArgumentTypes.java +++ b/net/minecraft/command/arguments/ArgumentTypes.java -@@ -220,4 +220,8 @@ +@@ -220,4 +_,8 @@ this.field_197481_c = p_i48088_3_; } } diff --git a/patches/minecraft/net/minecraft/command/arguments/BlockStateParser.java.patch b/patches/minecraft/net/minecraft/command/arguments/BlockStateParser.java.patch index 5e4de2cbdc..6eea99958b 100644 --- a/patches/minecraft/net/minecraft/command/arguments/BlockStateParser.java.patch +++ b/patches/minecraft/net/minecraft/command/arguments/BlockStateParser.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/arguments/BlockStateParser.java +++ b/net/minecraft/command/arguments/BlockStateParser.java -@@ -169,7 +169,7 @@ +@@ -169,7 +_,7 @@ private boolean func_212598_k(ITagCollection p_212598_1_) { if (this.field_197270_l != null) { @@ -9,7 +9,7 @@ } else { if (this.field_199833_p != null) { ITag itag = p_212598_1_.func_199910_a(this.field_199833_p); -@@ -283,7 +283,7 @@ +@@ -283,7 +_,7 @@ p_197255_1_.suggest(String.valueOf('[')); } diff --git a/patches/minecraft/net/minecraft/command/arguments/EntitySelectorParser.java.patch b/patches/minecraft/net/minecraft/command/arguments/EntitySelectorParser.java.patch index 431af2cc02..720da88a5b 100644 --- a/patches/minecraft/net/minecraft/command/arguments/EntitySelectorParser.java.patch +++ b/patches/minecraft/net/minecraft/command/arguments/EntitySelectorParser.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/arguments/EntitySelectorParser.java +++ b/net/minecraft/command/arguments/EntitySelectorParser.java -@@ -448,6 +448,9 @@ +@@ -448,6 +_,9 @@ } this.field_197417_j.skip(); @@ -10,7 +10,7 @@ this.func_197403_b(); } else { this.func_197382_c(); -@@ -463,6 +466,7 @@ +@@ -463,6 +_,7 @@ p_210326_0_.suggest("@r", new TranslationTextComponent("argument.entity.selector.randomPlayer")); p_210326_0_.suggest("@s", new TranslationTextComponent("argument.entity.selector.self")); p_210326_0_.suggest("@e", new TranslationTextComponent("argument.entity.selector.allEntities")); diff --git a/patches/minecraft/net/minecraft/command/impl/LocateCommand.java.patch b/patches/minecraft/net/minecraft/command/impl/LocateCommand.java.patch index cdf4cb7d13..d9bd5fa43f 100644 --- a/patches/minecraft/net/minecraft/command/impl/LocateCommand.java.patch +++ b/patches/minecraft/net/minecraft/command/impl/LocateCommand.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/impl/LocateCommand.java +++ b/net/minecraft/command/impl/LocateCommand.java -@@ -25,11 +25,18 @@ +@@ -25,11 +_,18 @@ return p_198533_0_.func_197034_c(2); }); diff --git a/patches/minecraft/net/minecraft/command/impl/TeleportCommand.java.patch b/patches/minecraft/net/minecraft/command/impl/TeleportCommand.java.patch index 5a847b9782..7c85c0cbc6 100644 --- a/patches/minecraft/net/minecraft/command/impl/TeleportCommand.java.patch +++ b/patches/minecraft/net/minecraft/command/impl/TeleportCommand.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/command/impl/TeleportCommand.java +++ b/net/minecraft/command/impl/TeleportCommand.java -@@ -159,7 +159,6 @@ +@@ -159,7 +_,6 @@ p_201127_1_.func_70012_b(p_201127_3_, p_201127_5_, p_201127_7_, f1, f); p_201127_1_.func_70034_d(f1); p_201127_2_.func_217460_e(p_201127_1_); diff --git a/patches/minecraft/net/minecraft/crash/CrashReport.java.patch b/patches/minecraft/net/minecraft/crash/CrashReport.java.patch index ba7fb810a9..7937c3b293 100644 --- a/patches/minecraft/net/minecraft/crash/CrashReport.java.patch +++ b/patches/minecraft/net/minecraft/crash/CrashReport.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/crash/CrashReport.java +++ b/net/minecraft/crash/CrashReport.java -@@ -69,6 +69,7 @@ +@@ -69,6 +_,7 @@ List list = Util.func_211565_f().collect(Collectors.toList()); return String.format("%d total; %s", list.size(), list.stream().collect(Collectors.joining(" "))); }); @@ -8,7 +8,7 @@ } public String func_71501_a() { -@@ -87,14 +88,8 @@ +@@ -87,14 +_,8 @@ if (this.field_85060_g != null && this.field_85060_g.length > 0) { p_71506_1_.append("-- Head --\n"); p_71506_1_.append("Thread: ").append(Thread.currentThread().getName()).append("\n"); @@ -25,7 +25,7 @@ } for(CrashReportCategory crashreportcategory : this.field_71512_c) { -@@ -121,23 +116,13 @@ +@@ -121,23 +_,13 @@ throwable.setStackTrace(this.field_71511_b.getStackTrace()); } diff --git a/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch b/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch index 3347d576fd..e52687e8b0 100644 --- a/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch +++ b/patches/minecraft/net/minecraft/crash/CrashReportCategory.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/crash/CrashReportCategory.java +++ b/net/minecraft/crash/CrashReportCategory.java -@@ -100,8 +100,10 @@ +@@ -100,8 +_,10 @@ if (astacktraceelement.length <= 0) { return 0; } else { @@ -13,7 +13,7 @@ return this.field_85075_d.length; } } -@@ -145,11 +147,7 @@ +@@ -145,17 +_,17 @@ if (this.field_85075_d != null && this.field_85075_d.length > 0) { p_85072_1_.append("\nStacktrace:"); @@ -26,14 +26,13 @@ } } -@@ -158,6 +156,10 @@ - return this.field_85075_d; - } -+ public void applyStackTrace(Throwable t) { -+ this.field_85075_d = t.getStackTrace(); + public StackTraceElement[] func_147152_a() { + return this.field_85075_d; + } + ++ public void applyStackTrace(Throwable t) { ++ this.field_85075_d = t.getStackTrace(); + } + public static void func_175750_a(CrashReportCategory p_175750_0_, BlockPos p_175750_1_, @Nullable BlockState p_175750_2_) { - if (p_175750_2_ != null) { - p_175750_0_.func_189529_a("Block", p_175750_2_::toString); diff --git a/patches/minecraft/net/minecraft/data/BlockTagsProvider.java.patch b/patches/minecraft/net/minecraft/data/BlockTagsProvider.java.patch index 7e6267a872..d1c1772b4c 100644 --- a/patches/minecraft/net/minecraft/data/BlockTagsProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/BlockTagsProvider.java.patch @@ -1,16 +1,15 @@ --- a/net/minecraft/data/BlockTagsProvider.java +++ b/net/minecraft/data/BlockTagsProvider.java -@@ -8,9 +8,13 @@ +@@ -8,8 +_,12 @@ import net.minecraft.util.registry.Registry; public class BlockTagsProvider extends TagsProvider { + @Deprecated public BlockTagsProvider(DataGenerator p_i48256_1_) { super(p_i48256_1_, Registry.field_212618_g); - } ++ } + public BlockTagsProvider(DataGenerator p_i48256_1_, String modId, @javax.annotation.Nullable net.minecraftforge.common.data.ExistingFileHelper existingFileHelper) { + super(p_i48256_1_, Registry.field_212618_g, modId, existingFileHelper); -+ } + } protected void func_200432_c() { - this.func_240522_a_(BlockTags.field_199897_a).func_240534_a_(Blocks.field_196556_aL, Blocks.field_196557_aM, Blocks.field_196558_aN, Blocks.field_196559_aO, Blocks.field_196560_aP, Blocks.field_196561_aQ, Blocks.field_196562_aR, Blocks.field_196563_aS, Blocks.field_196564_aT, Blocks.field_196565_aU, Blocks.field_196566_aV, Blocks.field_196567_aW, Blocks.field_196568_aX, Blocks.field_196569_aY, Blocks.field_196570_aZ, Blocks.field_196602_ba); diff --git a/patches/minecraft/net/minecraft/data/DataGenerator.java.patch b/patches/minecraft/net/minecraft/data/DataGenerator.java.patch index 142ef9d055..8ef33b7978 100644 --- a/patches/minecraft/net/minecraft/data/DataGenerator.java.patch +++ b/patches/minecraft/net/minecraft/data/DataGenerator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/DataGenerator.java +++ b/net/minecraft/data/DataGenerator.java -@@ -16,10 +16,11 @@ +@@ -16,10 +_,11 @@ private final Collection field_200394_b; private final Path field_200395_c; private final List field_200396_d = Lists.newArrayList(); @@ -13,7 +13,7 @@ } public Collection func_200389_a() { -@@ -38,6 +39,7 @@ +@@ -38,6 +_,7 @@ for(IDataProvider idataprovider : this.field_200396_d) { field_200393_a.info("Starting provider: {}", (Object)idataprovider.func_200397_b()); @@ -21,18 +21,18 @@ stopwatch1.start(); idataprovider.func_200398_a(directorycache); stopwatch1.stop(); -@@ -53,6 +55,14 @@ - this.field_200396_d.add(p_200390_1_); - } +@@ -51,6 +_,14 @@ + public void func_200390_a(IDataProvider p_200390_1_) { + this.field_200396_d.add(p_200390_1_); ++ } ++ + public List getProviders() { + return this.providerView; + } + + public void addInput(Path value) { + this.field_200394_b.add(value); -+ } -+ - static { - Bootstrap.func_151354_b(); } + + static { diff --git a/patches/minecraft/net/minecraft/data/DirectoryCache.java.patch b/patches/minecraft/net/minecraft/data/DirectoryCache.java.patch index 46fdd4451a..cb1563fc3a 100644 --- a/patches/minecraft/net/minecraft/data/DirectoryCache.java.patch +++ b/patches/minecraft/net/minecraft/data/DirectoryCache.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/DirectoryCache.java +++ b/net/minecraft/data/DirectoryCache.java -@@ -55,8 +55,8 @@ +@@ -55,8 +_,8 @@ } IOUtils.writeLines(this.field_208329_f.entrySet().stream().map((p_208319_1_) -> { diff --git a/patches/minecraft/net/minecraft/data/EntityTypeTagsProvider.java.patch b/patches/minecraft/net/minecraft/data/EntityTypeTagsProvider.java.patch index 79a282484f..5d51019dce 100644 --- a/patches/minecraft/net/minecraft/data/EntityTypeTagsProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/EntityTypeTagsProvider.java.patch @@ -1,16 +1,15 @@ --- a/net/minecraft/data/EntityTypeTagsProvider.java +++ b/net/minecraft/data/EntityTypeTagsProvider.java -@@ -7,9 +7,13 @@ +@@ -7,8 +_,12 @@ import net.minecraft.util.registry.Registry; public class EntityTypeTagsProvider extends TagsProvider> { + @Deprecated public EntityTypeTagsProvider(DataGenerator p_i50784_1_) { super(p_i50784_1_, Registry.field_212629_r); - } ++ } + public EntityTypeTagsProvider(DataGenerator p_i50784_1_, String modId, @javax.annotation.Nullable net.minecraftforge.common.data.ExistingFileHelper existingFileHelper) { + super(p_i50784_1_, Registry.field_212629_r, modId, existingFileHelper); -+ } + } protected void func_200432_c() { - this.func_240522_a_(EntityTypeTags.field_219764_a).func_240534_a_(EntityType.field_200741_ag, EntityType.field_200750_ap, EntityType.field_200722_aA); diff --git a/patches/minecraft/net/minecraft/data/FluidTagsProvider.java.patch b/patches/minecraft/net/minecraft/data/FluidTagsProvider.java.patch index 61cec08841..f0b17cd0e8 100644 --- a/patches/minecraft/net/minecraft/data/FluidTagsProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/FluidTagsProvider.java.patch @@ -1,16 +1,15 @@ --- a/net/minecraft/data/FluidTagsProvider.java +++ b/net/minecraft/data/FluidTagsProvider.java -@@ -8,9 +8,13 @@ +@@ -8,8 +_,12 @@ import net.minecraft.util.registry.Registry; public class FluidTagsProvider extends TagsProvider { + @Deprecated public FluidTagsProvider(DataGenerator p_i49156_1_) { super(p_i49156_1_, Registry.field_212619_h); - } ++ } + public FluidTagsProvider(DataGenerator p_i49156_1_, String modId, @javax.annotation.Nullable net.minecraftforge.common.data.ExistingFileHelper existingFileHelper) { + super(p_i49156_1_, Registry.field_212619_h, modId, existingFileHelper); -+ } + } protected void func_200432_c() { - this.func_240522_a_(FluidTags.field_206959_a).func_240534_a_(Fluids.field_204546_a, Fluids.field_207212_b); diff --git a/patches/minecraft/net/minecraft/data/ItemTagsProvider.java.patch b/patches/minecraft/net/minecraft/data/ItemTagsProvider.java.patch index 3cdae251d2..104d543c35 100644 --- a/patches/minecraft/net/minecraft/data/ItemTagsProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/ItemTagsProvider.java.patch @@ -1,18 +1,16 @@ --- a/net/minecraft/data/ItemTagsProvider.java +++ b/net/minecraft/data/ItemTagsProvider.java -@@ -14,10 +14,15 @@ +@@ -14,8 +_,13 @@ public class ItemTagsProvider extends TagsProvider { private final Function, ITag.Builder> field_240520_d_; + @Deprecated public ItemTagsProvider(DataGenerator p_i232552_1_, BlockTagsProvider p_i232552_2_) { super(p_i232552_1_, Registry.field_212630_s); - this.field_240520_d_ = p_i232552_2_::func_240525_b_; - } -+ public ItemTagsProvider(DataGenerator p_i232552_1_, BlockTagsProvider p_i232552_2_, String modId, @javax.annotation.Nullable net.minecraftforge.common.data.ExistingFileHelper existingFileHelper) { -+ super(p_i232552_1_, Registry.field_212630_s, modId, existingFileHelper); + this.field_240520_d_ = p_i232552_2_::func_240525_b_; + } ++ public ItemTagsProvider(DataGenerator p_i232552_1_, BlockTagsProvider p_i232552_2_, String modId, @javax.annotation.Nullable net.minecraftforge.common.data.ExistingFileHelper existingFileHelper) { ++ super(p_i232552_1_, Registry.field_212630_s, modId, existingFileHelper); + this.field_240520_d_ = p_i232552_2_::func_240525_b_; + } - protected void func_200432_c() { - this.func_240521_a_(BlockTags.field_199897_a, ItemTags.field_199904_a); diff --git a/patches/minecraft/net/minecraft/data/LootTableProvider.java.patch b/patches/minecraft/net/minecraft/data/LootTableProvider.java.patch index f4162e888d..12e4e44205 100644 --- a/patches/minecraft/net/minecraft/data/LootTableProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/LootTableProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/LootTableProvider.java +++ b/net/minecraft/data/LootTableProvider.java -@@ -43,7 +43,7 @@ +@@ -43,7 +_,7 @@ public void func_200398_a(DirectoryCache p_200398_1_) { Path path = this.field_218443_d.func_200391_b(); Map map = Maps.newHashMap(); @@ -9,7 +9,7 @@ p_218438_1_.getFirst().get().accept((p_218437_2_, p_218437_3_) -> { if (map.put(p_218437_2_, p_218437_3_.func_216039_a(p_218438_1_.getSecond()).func_216038_b()) != null) { throw new IllegalStateException("Duplicate loot table " + p_218437_2_); -@@ -54,13 +54,8 @@ +@@ -54,13 +_,8 @@ return null; }, map::get); @@ -24,10 +24,12 @@ Multimap multimap = validationtracker.func_227527_a_(); if (!multimap.isEmpty()) { multimap.forEach((p_229440_0_, p_229440_1_) -> { -@@ -81,6 +76,20 @@ - } - } +@@ -79,6 +_,20 @@ + }); + } ++ } ++ + protected List>>, LootParameterSet>> getTables() { + return field_218444_e; + } @@ -40,8 +42,6 @@ + map.forEach((p_218436_2_, p_218436_3_) -> { + LootTableManager.func_227508_a_(validationtracker, p_218436_2_, p_218436_3_); + }); -+ } -+ - private static Path func_218439_a(Path p_218439_0_, ResourceLocation p_218439_1_) { - return p_218439_0_.resolve("data/" + p_218439_1_.func_110624_b() + "/loot_tables/" + p_218439_1_.func_110623_a() + ".json"); } + + private static Path func_218439_a(Path p_218439_0_, ResourceLocation p_218439_1_) { diff --git a/patches/minecraft/net/minecraft/data/Main.java.patch b/patches/minecraft/net/minecraft/data/Main.java.patch index 1992338854..4b010f38d7 100644 --- a/patches/minecraft/net/minecraft/data/Main.java.patch +++ b/patches/minecraft/net/minecraft/data/Main.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/Main.java +++ b/net/minecraft/data/Main.java -@@ -21,8 +21,13 @@ +@@ -21,8 +_,13 @@ OptionSpec optionspec6 = optionparser.accepts("all", "Include all generators"); OptionSpec optionspec7 = optionparser.accepts("output", "Output folder").withRequiredArg().defaultsTo("generated"); OptionSpec optionspec8 = optionparser.accepts("input", "Input folder").withRequiredArg(); @@ -15,7 +15,7 @@ Path path = Paths.get(optionspec7.value(optionset)); boolean flag = optionset.has(optionspec6); boolean flag1 = flag || optionset.has(optionspec2); -@@ -30,10 +35,14 @@ +@@ -30,10 +_,14 @@ boolean flag3 = flag || optionset.has(optionspec3); boolean flag4 = flag || optionset.has(optionspec4); boolean flag5 = flag || optionset.has(optionspec5); diff --git a/patches/minecraft/net/minecraft/data/RecipeProvider.java.patch b/patches/minecraft/net/minecraft/data/RecipeProvider.java.patch index 3f67b6b5a0..db4071b6c4 100644 --- a/patches/minecraft/net/minecraft/data/RecipeProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/RecipeProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/RecipeProvider.java +++ b/net/minecraft/data/RecipeProvider.java -@@ -59,6 +59,7 @@ +@@ -59,6 +_,7 @@ } }); @@ -8,7 +8,7 @@ func_208310_b(p_200398_1_, Advancement.Builder.func_200278_a().func_200275_a("impossible", new ImpossibleTrigger.Instance()).func_200273_b(), path.resolve("data/minecraft/advancements/recipes/root.json")); } -@@ -81,7 +82,7 @@ +@@ -81,7 +_,7 @@ } @@ -17,7 +17,7 @@ try { String s = field_200412_b.toJson((JsonElement)p_208310_1_); String s1 = field_208307_a.hashUnencodedChars(s).toString(); -@@ -100,7 +101,7 @@ +@@ -100,7 +_,7 @@ } diff --git a/patches/minecraft/net/minecraft/data/TagsProvider.java.patch b/patches/minecraft/net/minecraft/data/TagsProvider.java.patch index 3276a6cf6c..d4250c786e 100644 --- a/patches/minecraft/net/minecraft/data/TagsProvider.java.patch +++ b/patches/minecraft/net/minecraft/data/TagsProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/TagsProvider.java +++ b/net/minecraft/data/TagsProvider.java -@@ -28,10 +28,28 @@ +@@ -28,10 +_,28 @@ protected final DataGenerator field_200433_a; protected final Registry field_200435_c; protected final Map field_200434_b = Maps.newLinkedHashMap(); @@ -29,7 +29,7 @@ } protected abstract void func_200432_c(); -@@ -47,12 +65,14 @@ +@@ -47,12 +_,14 @@ return this.field_200435_c.func_241873_b(p_240527_1_).orElse((T)null); }; this.field_200434_b.forEach((p_240524_4_, p_240524_5_) -> { @@ -45,7 +45,7 @@ try { String s = field_200437_e.toJson((JsonElement)jsonobject); -@@ -74,20 +94,36 @@ +@@ -74,20 +_,36 @@ }); } @@ -84,10 +84,11 @@ private final ITag.Builder field_240528_a_; private final Registry field_240529_b_; private final String field_240530_c_; -@@ -115,5 +151,18 @@ +@@ -114,6 +_,19 @@ + this.field_240528_a_.func_232961_a_(p_240533_1_, this.field_240530_c_); }); return this; - } ++ } + + public TagsProvider.Builder add(ITag.ITagEntry tag) { + field_240528_a_.func_232955_a_(tag, field_240530_c_); @@ -100,6 +101,6 @@ + + public String getModID() { + return field_240530_c_; -+ } + } } } diff --git a/patches/minecraft/net/minecraft/data/loot/BlockLootTables.java.patch b/patches/minecraft/net/minecraft/data/loot/BlockLootTables.java.patch index e86e91b57f..6bb1c87d71 100644 --- a/patches/minecraft/net/minecraft/data/loot/BlockLootTables.java.patch +++ b/patches/minecraft/net/minecraft/data/loot/BlockLootTables.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/loot/BlockLootTables.java +++ b/net/minecraft/data/loot/BlockLootTables.java -@@ -216,7 +216,7 @@ +@@ -216,7 +_,7 @@ return LootTable.func_216119_b(); } @@ -9,7 +9,7 @@ this.func_218492_c(Blocks.field_196650_c); this.func_218492_c(Blocks.field_196652_d); this.func_218492_c(Blocks.field_196654_e); -@@ -1066,9 +1066,13 @@ +@@ -1066,9 +_,13 @@ this.func_218507_a(Blocks.field_150480_ab, func_218482_a()); this.func_218507_a(Blocks.field_235335_bO_, func_218482_a()); this.func_218507_a(Blocks.field_150427_aO, func_218482_a()); @@ -24,14 +24,14 @@ ResourceLocation resourcelocation = block.func_220068_i(); if (resourcelocation != LootTables.field_186419_a && set.add(resourcelocation)) { LootTable.Builder loottable$builder = this.field_218581_i.remove(resourcelocation); -@@ -1095,6 +1099,10 @@ - return func_218562_a(p_239829_0_, DoorBlock.field_176523_O, DoubleBlockHalf.LOWER); - } +@@ -1093,6 +_,10 @@ -+ protected Iterable getKnownBlocks() { -+ return Registry.field_212618_g; + public static LootTable.Builder func_239829_a_(Block p_239829_0_) { + return func_218562_a(p_239829_0_, DoorBlock.field_176523_O, DoubleBlockHalf.LOWER); + } + ++ protected Iterable getKnownBlocks() { ++ return Registry.field_212618_g; + } + public void func_218547_a(Block p_218547_1_) { - this.func_218522_a(p_218547_1_, (p_241751_0_) -> { - return func_218523_c(((FlowerPotBlock)p_241751_0_).func_220276_d()); diff --git a/patches/minecraft/net/minecraft/data/loot/EntityLootTables.java.patch b/patches/minecraft/net/minecraft/data/loot/EntityLootTables.java.patch index 1799f9d6b8..dfcfd949a5 100644 --- a/patches/minecraft/net/minecraft/data/loot/EntityLootTables.java.patch +++ b/patches/minecraft/net/minecraft/data/loot/EntityLootTables.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/data/loot/EntityLootTables.java +++ b/net/minecraft/data/loot/EntityLootTables.java -@@ -50,7 +50,7 @@ +@@ -50,7 +_,7 @@ return LootTable.func_216119_b().func_216040_a(LootPool.func_216096_a().func_216046_a(ConstantRange.func_215835_a(1)).func_216045_a(ItemLootEntry.func_216168_a(p_218583_0_))).func_216040_a(LootPool.func_216096_a().func_216046_a(ConstantRange.func_215835_a(1)).func_216045_a(TableLootEntry.func_216171_a(EntityType.field_200737_ac.func_220348_g()))); } @@ -9,7 +9,7 @@ this.func_218582_a(EntityType.field_200789_c, LootTable.func_216119_b()); this.func_218582_a(EntityType.field_200791_e, LootTable.func_216119_b()); this.func_218582_a(EntityType.field_226289_e_, LootTable.func_216119_b()); -@@ -141,11 +141,15 @@ +@@ -141,11 +_,15 @@ this.func_218582_a(EntityType.field_233591_ai_, LootTable.func_216119_b()); this.func_218582_a(EntityType.field_242287_aj, LootTable.func_216119_b()); this.func_218582_a(EntityType.field_200727_aF, LootTable.func_216119_b().func_216040_a(LootPool.func_216096_a().func_216046_a(ConstantRange.func_215835_a(1)).func_216045_a(ItemLootEntry.func_216168_a(Items.field_151078_bh).func_212841_b_(SetCount.func_215932_a(RandomValueRange.func_215837_a(0.0F, 2.0F))).func_212841_b_(LootingEnchantBonus.func_215915_a(RandomValueRange.func_215837_a(0.0F, 1.0F))))).func_216040_a(LootPool.func_216096_a().func_216046_a(ConstantRange.func_215835_a(1)).func_216045_a(ItemLootEntry.func_216168_a(Items.field_151042_j)).func_216045_a(ItemLootEntry.func_216168_a(Items.field_151172_bF)).func_216045_a(ItemLootEntry.func_216168_a(Items.field_151174_bG)).func_212840_b_(KilledByPlayer.func_215994_b()).func_212840_b_(RandomChanceWithLooting.func_216003_a(0.025F, 0.01F)))); @@ -27,18 +27,18 @@ if (resourcelocation != LootTables.field_186419_a && this.field_218587_b.remove(resourcelocation) != null) { throw new IllegalStateException(String.format("Weird loottable '%s' for '%s', not a LivingEntity so should not have loot", resourcelocation, Registry.field_212629_r.func_177774_c(entitytype))); } -@@ -162,6 +166,14 @@ - this.field_218587_b.forEach(p_accept_1_::accept); - } +@@ -160,6 +_,14 @@ + } + this.field_218587_b.forEach(p_accept_1_::accept); ++ } ++ + protected Iterable> getKnownEntities() { + return Registry.field_212629_r; + } + + protected boolean isNonLiving(EntityType entitytype) { + return !field_222944_b.contains(entitytype) && entitytype.func_220339_d() == EntityClassification.MISC; -+ } -+ - protected void func_218582_a(EntityType p_218582_1_, LootTable.Builder p_218582_2_) { - this.func_218585_a(p_218582_1_.func_220348_g(), p_218582_2_); } + + protected void func_218582_a(EntityType p_218582_1_, LootTable.Builder p_218582_2_) { diff --git a/patches/minecraft/net/minecraft/dispenser/IDispenseItemBehavior.java.patch b/patches/minecraft/net/minecraft/dispenser/IDispenseItemBehavior.java.patch index 6d89cf02d2..2415601caf 100644 --- a/patches/minecraft/net/minecraft/dispenser/IDispenseItemBehavior.java.patch +++ b/patches/minecraft/net/minecraft/dispenser/IDispenseItemBehavior.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/dispenser/IDispenseItemBehavior.java +++ b/net/minecraft/dispenser/IDispenseItemBehavior.java -@@ -373,8 +373,9 @@ +@@ -373,8 +_,9 @@ world.func_175656_a(blockpos, AbstractFireBlock.func_235326_a_(world, blockpos)); } else if (CampfireBlock.func_241470_h_(blockstate)) { world.func_175656_a(blockpos, blockstate.func_206870_a(BlockStateProperties.field_208190_q, Boolean.valueOf(true))); diff --git a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch index 6806ca2427..c9f257faf8 100644 --- a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/enchantment/Enchantment.java +++ b/net/minecraft/enchantment/Enchantment.java -@@ -18,7 +18,8 @@ +@@ -18,7 +_,8 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -10,7 +10,7 @@ private final EquipmentSlotType[] field_185263_a; private final Enchantment.Rarity field_77333_a; public final EnchantmentType field_77351_y; -@@ -37,6 +38,14 @@ +@@ -37,6 +_,14 @@ this.field_185263_a = p_i46731_3_; } @@ -25,7 +25,7 @@ public Map func_222181_a(LivingEntity p_222181_1_) { Map map = Maps.newEnumMap(EquipmentSlotType.class); -@@ -114,7 +123,7 @@ +@@ -114,7 +_,7 @@ } public boolean func_92089_a(ItemStack p_92089_1_) { @@ -34,10 +34,13 @@ } public void func_151368_a(LivingEntity p_151368_1_, Entity p_151368_2_, int p_151368_3_) { -@@ -139,6 +148,24 @@ - return true; +@@ -136,6 +_,24 @@ } + public boolean func_230310_i_() { ++ return true; ++ } ++ + /** + * This applies specifically to applying at the enchanting table. The other method {@link #canApply(ItemStack)} + * applies for all possible enchantments. @@ -53,9 +56,6 @@ + * @return false to disable the vanilla feature + */ + public boolean isAllowedOnBooks() { -+ return true; -+ } -+ - public static enum Rarity { - COMMON(10), - UNCOMMON(5), + return true; + } + diff --git a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch index 523d765574..d752315bd8 100644 --- a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/enchantment/EnchantmentHelper.java +++ b/net/minecraft/enchantment/EnchantmentHelper.java -@@ -274,7 +274,7 @@ +@@ -274,7 +_,7 @@ public static int func_77514_a(Random p_77514_0_, int p_77514_1_, int p_77514_2_, ItemStack p_77514_3_) { Item item = p_77514_3_.func_77973_b(); @@ -9,7 +9,7 @@ if (i <= 0) { return 0; } else { -@@ -312,7 +312,7 @@ +@@ -312,7 +_,7 @@ public static List func_77513_b(Random p_77513_0_, ItemStack p_77513_1_, int p_77513_2_, boolean p_77513_3_) { List list = Lists.newArrayList(); Item item = p_77513_1_.func_77973_b(); @@ -18,7 +18,7 @@ if (i <= 0) { return list; } else { -@@ -365,7 +365,7 @@ +@@ -365,7 +_,7 @@ boolean flag = p_185291_1_.func_77973_b() == Items.field_151122_aG; for(Enchantment enchantment : Registry.field_212628_q) { diff --git a/patches/minecraft/net/minecraft/enchantment/EnchantmentType.java.patch b/patches/minecraft/net/minecraft/enchantment/EnchantmentType.java.patch index 4f84fbb228..6691ea30c3 100644 --- a/patches/minecraft/net/minecraft/enchantment/EnchantmentType.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/EnchantmentType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/enchantment/EnchantmentType.java +++ b/net/minecraft/enchantment/EnchantmentType.java -@@ -11,7 +11,7 @@ +@@ -11,7 +_,7 @@ import net.minecraft.item.ToolItem; import net.minecraft.item.TridentItem; @@ -9,7 +9,7 @@ ARMOR { public boolean func_77557_a(Item p_77557_1_) { return p_77557_1_ instanceof ArmorItem; -@@ -86,5 +86,16 @@ +@@ -86,5 +_,16 @@ private EnchantmentType() { } diff --git a/patches/minecraft/net/minecraft/enchantment/Enchantments.java.patch b/patches/minecraft/net/minecraft/enchantment/Enchantments.java.patch index eb13c70176..c6a22a2b7b 100644 --- a/patches/minecraft/net/minecraft/enchantment/Enchantments.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/Enchantments.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/enchantment/Enchantments.java +++ b/net/minecraft/enchantment/Enchantments.java -@@ -3,6 +3,7 @@ +@@ -3,6 +_,7 @@ import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/enchantment/FrostWalkerEnchantment.java.patch b/patches/minecraft/net/minecraft/enchantment/FrostWalkerEnchantment.java.patch index 91995e463c..e93f81db7e 100644 --- a/patches/minecraft/net/minecraft/enchantment/FrostWalkerEnchantment.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/FrostWalkerEnchantment.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/enchantment/FrostWalkerEnchantment.java +++ b/net/minecraft/enchantment/FrostWalkerEnchantment.java -@@ -42,9 +42,10 @@ +@@ -42,9 +_,10 @@ if (blockpos.func_218137_a(p_185266_0_.func_213303_ch(), (double)f)) { blockpos$mutable.func_181079_c(blockpos.func_177958_n(), blockpos.func_177956_o() + 1, blockpos.func_177952_p()); BlockState blockstate1 = p_185266_1_.func_180495_p(blockpos$mutable); diff --git a/patches/minecraft/net/minecraft/entity/Entity.java.patch b/patches/minecraft/net/minecraft/entity/Entity.java.patch index 5ab2078eff..e899a5da9d 100644 --- a/patches/minecraft/net/minecraft/entity/Entity.java.patch +++ b/patches/minecraft/net/minecraft/entity/Entity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/Entity.java +++ b/net/minecraft/entity/Entity.java -@@ -109,12 +109,13 @@ +@@ -109,12 +_,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -15,7 +15,7 @@ private final EntityType field_200606_g; private int field_145783_c = field_213331_b.incrementAndGet(); public boolean field_70156_m; -@@ -140,6 +141,7 @@ +@@ -140,6 +_,7 @@ public boolean field_70124_G; public boolean field_70133_I; protected Vector3d field_213328_B = Vector3d.field_186680_a; @@ -23,7 +23,7 @@ public boolean field_70128_L; public float field_70141_P; public float field_70140_Q; -@@ -195,6 +197,7 @@ +@@ -195,6 +_,7 @@ private float field_213326_aJ; public Entity(EntityType p_i48580_1_, World p_i48580_2_) { @@ -31,7 +31,7 @@ this.field_200606_g = p_i48580_1_; this.field_70170_p = p_i48580_2_; this.field_213325_aI = p_i48580_1_.func_220334_j(); -@@ -211,7 +214,11 @@ +@@ -211,7 +_,11 @@ this.field_70180_af.func_187214_a(field_189655_aD, false); this.field_70180_af.func_187214_a(field_213330_X, Pose.STANDING); this.func_70088_a(); @@ -44,7 +44,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -317,7 +324,13 @@ +@@ -317,7 +_,13 @@ } public void func_70106_y() { @@ -58,7 +58,7 @@ } public void func_213301_b(Pose p_213301_1_) { -@@ -330,6 +343,7 @@ +@@ -330,6 +_,7 @@ public boolean func_233562_a_(Entity p_233562_1_, double p_233562_2_) { double d0 = p_233562_1_.field_233557_ao_.field_72450_a - this.field_233557_ao_.field_72450_a; @@ -66,7 +66,7 @@ double d1 = p_233562_1_.field_233557_ao_.field_72448_b - this.field_233557_ao_.field_72448_b; double d2 = p_233562_1_.field_233557_ao_.field_72449_c - this.field_233557_ao_.field_72449_c; return d0 * d0 + d1 * d1 + d2 * d2 < p_233562_2_ * p_233562_2_; -@@ -560,7 +574,7 @@ +@@ -560,7 +_,7 @@ this.field_70140_Q = (float)((double)this.field_70140_Q + (double)MathHelper.func_76133_a(func_213296_b(vector3d)) * 0.6D); this.field_82151_R = (float)((double)this.field_82151_R + (double)MathHelper.func_76133_a(d0 * d0 + d1 * d1 + d2 * d2) * 0.6D); @@ -75,7 +75,7 @@ this.field_70150_b = this.func_203009_ad(); if (this.func_70090_H()) { Entity entity = this.func_184207_aI() && this.func_184179_bs() != null ? this.func_184179_bs() : this; -@@ -575,7 +589,7 @@ +@@ -575,7 +_,7 @@ } else { this.func_180429_a(blockpos, blockstate); } @@ -84,7 +84,7 @@ this.field_191959_ay = this.func_191954_d(this.field_82151_R); } } -@@ -591,8 +605,9 @@ +@@ -591,8 +_,9 @@ float f2 = this.func_225515_ai_(); this.func_213317_d(this.func_213322_ci().func_216372_d((double)f2, 1.0D, (double)f2)); @@ -96,7 +96,7 @@ }) && this.field_190534_ay <= 0) { this.func_241209_g_(-this.func_190531_bD()); } -@@ -611,11 +626,10 @@ +@@ -611,11 +_,10 @@ int j = MathHelper.func_76128_c(this.field_233557_ao_.field_72448_b - (double)0.2F); int k = MathHelper.func_76128_c(this.field_233557_ao_.field_72449_c); BlockPos blockpos = new BlockPos(i, j, k); @@ -110,7 +110,7 @@ return blockpos1; } } -@@ -801,6 +815,7 @@ +@@ -801,6 +_,7 @@ public void func_174829_m() { AxisAlignedBB axisalignedbb = this.func_174813_aQ(); this.func_226288_n_((axisalignedbb.field_72340_a + axisalignedbb.field_72336_d) / 2.0D, axisalignedbb.field_72338_b, (axisalignedbb.field_72339_c + axisalignedbb.field_72334_f) / 2.0D); @@ -118,7 +118,7 @@ } protected SoundEvent func_184184_Z() { -@@ -849,7 +864,7 @@ +@@ -849,7 +_,7 @@ protected void func_180429_a(BlockPos p_180429_1_, BlockState p_180429_2_) { if (!p_180429_2_.func_185904_a().func_76224_d()) { BlockState blockstate = this.field_70170_p.func_180495_p(p_180429_1_.func_177984_a()); @@ -127,7 +127,7 @@ this.func_184185_a(soundtype.func_185844_d(), soundtype.func_185843_a() * 0.15F, soundtype.func_185847_b()); } } -@@ -1056,9 +1071,10 @@ +@@ -1056,9 +_,10 @@ int k = MathHelper.func_76128_c(this.func_226281_cx_()); BlockPos blockpos = new BlockPos(i, j, k); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); @@ -139,7 +139,7 @@ } } -@@ -1377,6 +1393,7 @@ +@@ -1377,6 +_,7 @@ if (this.field_184238_ar) { p_189511_1_.func_74757_a("Glowing", this.field_184238_ar); } @@ -147,7 +147,7 @@ if (!this.field_184236_aF.isEmpty()) { ListNBT listnbt = new ListNBT(); -@@ -1388,6 +1405,10 @@ +@@ -1388,6 +_,10 @@ p_189511_1_.func_218657_a("Tags", listnbt); } @@ -158,7 +158,7 @@ this.func_213281_b(p_189511_1_); if (this.func_184207_aI()) { ListNBT listnbt1 = new ListNBT(); -@@ -1458,6 +1479,9 @@ +@@ -1458,6 +_,9 @@ this.func_174810_b(p_70020_1_.func_74767_n("Silent")); this.func_189654_d(p_70020_1_.func_74767_n("NoGravity")); this.func_184195_f(p_70020_1_.func_74767_n("Glowing")); @@ -168,7 +168,7 @@ if (p_70020_1_.func_150297_b("Tags", 9)) { this.field_184236_aF.clear(); ListNBT listnbt3 = p_70020_1_.func_150295_c("Tags", 8); -@@ -1546,6 +1570,8 @@ +@@ -1546,6 +_,8 @@ } else { ItemEntity itementity = new ItemEntity(this.field_70170_p, this.func_226277_ct_(), this.func_226278_cu_() + (double)p_70099_2_, this.func_226281_cx_(), p_70099_1_); itementity.func_174869_p(); @@ -177,7 +177,7 @@ this.field_70170_p.func_217376_c(itementity); return itementity; } -@@ -1582,6 +1608,7 @@ +@@ -1582,6 +_,7 @@ public void func_70098_U() { this.func_213317_d(Vector3d.field_186680_a); @@ -185,7 +185,7 @@ this.func_70071_h_(); if (this.func_184218_aH()) { this.func_184187_bx().func_184232_k(this); -@@ -1627,6 +1654,7 @@ +@@ -1627,6 +_,7 @@ } } @@ -193,7 +193,7 @@ if (p_184205_2_ || this.func_184228_n(p_184205_1_) && p_184205_1_.func_184219_q(this)) { if (this.func_184218_aH()) { this.func_184210_p(); -@@ -1659,6 +1687,7 @@ +@@ -1659,6 +_,7 @@ public void func_233575_bb_() { if (this.field_184239_as != null) { Entity entity = this.field_184239_as; @@ -201,7 +201,7 @@ this.field_184239_as = null; entity.func_184225_p(this); } -@@ -1816,6 +1845,7 @@ +@@ -1816,6 +_,7 @@ return !this.func_184188_bt().isEmpty(); } @@ -209,7 +209,7 @@ public boolean func_205710_ba() { return true; } -@@ -2032,7 +2062,7 @@ +@@ -2032,7 +_,7 @@ } protected ITextComponent func_225513_by_() { @@ -218,7 +218,7 @@ } public boolean func_70028_i(Entity p_70028_1_) { -@@ -2087,14 +2117,19 @@ +@@ -2087,14 +_,19 @@ @Nullable public Entity func_241206_a_(ServerWorld p_241206_1_) { @@ -239,7 +239,7 @@ this.field_70170_p.func_217381_Z().func_219895_b("reloading"); Entity entity = this.func_200600_R().func_200721_a(p_241206_1_); if (entity != null) { -@@ -2102,17 +2137,19 @@ +@@ -2102,17 +_,19 @@ entity.func_70012_b(portalinfo.field_222505_a.field_72450_a, portalinfo.field_222505_a.field_72448_b, portalinfo.field_222505_a.field_72449_c, portalinfo.field_242960_c, entity.field_70125_A); entity.func_213317_d(portalinfo.field_222506_b); p_241206_1_.func_217460_e(entity); @@ -261,7 +261,7 @@ } } else { return null; -@@ -2320,9 +2357,10 @@ +@@ -2320,9 +_,10 @@ public void func_213323_x_() { EntitySize entitysize = this.field_213325_aI; Pose pose = this.func_213283_Z(); @@ -274,7 +274,7 @@ if (entitysize1.field_220315_a < entitysize.field_220315_a) { double d0 = (double)entitysize1.field_220315_a / 2.0D; this.func_174826_a(new AxisAlignedBB(this.func_226277_ct_() - d0, this.func_226278_cu_(), this.func_226281_cx_() - d0, this.func_226277_ct_() + d0, this.func_226278_cu_() + (double)entitysize1.field_220316_b, this.func_226281_cx_() + d0)); -@@ -2796,6 +2834,7 @@ +@@ -2796,6 +_,7 @@ this.field_233555_aA_ = true; } @@ -282,10 +282,11 @@ } -@@ -2811,4 +2850,63 @@ +@@ -2810,5 +_,64 @@ + @FunctionalInterface public interface IMoveCallback { void accept(Entity p_accept_1_, double p_accept_2_, double p_accept_4_, double p_accept_6_); - } ++ } + + /* ================================== Forge Start =====================================*/ + @@ -344,5 +345,5 @@ + public void revive() { + this.field_70128_L = false; + this.reviveCaps(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/EntityClassification.java.patch b/patches/minecraft/net/minecraft/entity/EntityClassification.java.patch index 41e1aa4e9e..28beae1fc6 100644 --- a/patches/minecraft/net/minecraft/entity/EntityClassification.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityClassification.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/EntityClassification.java +++ b/net/minecraft/entity/EntityClassification.java -@@ -6,7 +6,7 @@ +@@ -6,7 +_,7 @@ import java.util.stream.Collectors; import net.minecraft.util.IStringSerializable; @@ -9,7 +9,7 @@ MONSTER("monster", 70, false, false, 128), CREATURE("creature", 10, true, true, 128), AMBIENT("ambient", 15, true, false, 128), -@@ -14,7 +14,7 @@ +@@ -14,7 +_,7 @@ WATER_AMBIENT("water_ambient", 20, true, false, 64), MISC("misc", -1, true, true, 128); @@ -18,10 +18,12 @@ private static final Map field_220364_f = Arrays.stream(values()).collect(Collectors.toMap(EntityClassification::func_220363_a, (p_220362_0_) -> { return p_220362_0_; })); -@@ -57,6 +57,16 @@ - return this.field_82707_i; - } +@@ -55,6 +_,16 @@ + public boolean func_82705_e() { + return this.field_82707_i; ++ } ++ + public static EntityClassification create(String name, String id, int maxNumberOfCreatureIn, boolean isPeacefulCreatureIn, boolean isAnimalIn, int despawnDistance) { + throw new IllegalStateException("Enum not extended"); + } @@ -30,8 +32,6 @@ + @Deprecated + public void init() { + field_220364_f.put(this.func_220363_a(), this); -+ } -+ - public int func_233671_f_() { - return this.field_233669_n_; } + + public int func_233671_f_() { diff --git a/patches/minecraft/net/minecraft/entity/EntitySpawnPlacementRegistry.java.patch b/patches/minecraft/net/minecraft/entity/EntitySpawnPlacementRegistry.java.patch index cc84554386..54f00ad48e 100644 --- a/patches/minecraft/net/minecraft/entity/EntitySpawnPlacementRegistry.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntitySpawnPlacementRegistry.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/EntitySpawnPlacementRegistry.java +++ b/net/minecraft/entity/EntitySpawnPlacementRegistry.java -@@ -147,10 +147,26 @@ +@@ -147,10 +_,26 @@ boolean test(EntityType p_test_1_, IServerWorld p_test_2_, SpawnReason p_test_3_, BlockPos p_test_4_, Random p_test_5_); } diff --git a/patches/minecraft/net/minecraft/entity/EntityType.java.patch b/patches/minecraft/net/minecraft/entity/EntityType.java.patch index a7372c108d..69e9c0d5af 100644 --- a/patches/minecraft/net/minecraft/entity/EntityType.java.patch +++ b/patches/minecraft/net/minecraft/entity/EntityType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/EntityType.java +++ b/net/minecraft/entity/EntityType.java -@@ -143,7 +143,7 @@ +@@ -143,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ private static final Logger field_200731_aJ = LogManager.getLogger(); public static final EntityType field_200788_b = func_200712_a("area_effect_cloud", EntityType.Builder.func_220322_a(AreaEffectCloudEntity::new, EntityClassification.MISC).func_220320_c().func_220321_a(6.0F, 0.5F).func_233606_a_(10).func_233608_b_(Integer.MAX_VALUE)); public static final EntityType field_200789_c = func_200712_a("armor_stand", EntityType.Builder.func_220322_a(ArmorStandEntity::new, EntityClassification.MISC).func_220321_a(0.5F, 1.975F).func_233606_a_(10)); -@@ -270,6 +270,12 @@ +@@ -270,6 +_,12 @@ private ResourceLocation field_220358_bg; private final EntitySize field_220359_bi; @@ -22,7 +22,7 @@ private static EntityType func_200712_a(String p_200712_0_, EntityType.Builder p_200712_1_) { return Registry.func_218325_a(Registry.field_212629_r, p_200712_0_, p_200712_1_.func_206830_a(p_200712_0_)); } -@@ -283,6 +289,9 @@ +@@ -283,6 +_,9 @@ } public EntityType(EntityType.IFactory p_i231489_1_, EntityClassification p_i231489_2_, boolean p_i231489_3_, boolean p_i231489_4_, boolean p_i231489_5_, boolean p_i231489_6_, ImmutableSet p_i231489_7_, EntitySize p_i231489_8_, int p_i231489_9_, int p_i231489_10_) { @@ -32,7 +32,7 @@ this.field_200732_aK = p_i231489_1_; this.field_220355_ba = p_i231489_2_; this.field_225438_be = p_i231489_6_; -@@ -293,6 +302,10 @@ +@@ -293,6 +_,10 @@ this.field_220359_bi = p_i231489_8_; this.field_233594_bl_ = p_i231489_9_; this.field_233595_bm_ = p_i231489_10_; @@ -43,7 +43,7 @@ } @Nullable -@@ -304,6 +317,7 @@ +@@ -304,6 +_,7 @@ public T func_220342_a(ServerWorld p_220342_1_, @Nullable CompoundNBT p_220342_2_, @Nullable ITextComponent p_220342_3_, @Nullable PlayerEntity p_220342_4_, BlockPos p_220342_5_, SpawnReason p_220342_6_, boolean p_220342_7_, boolean p_220342_8_) { T t = this.func_220349_b(p_220342_1_, p_220342_2_, p_220342_3_, p_220342_4_, p_220342_5_, p_220342_6_, p_220342_7_, p_220342_8_); if (t != null) { @@ -51,7 +51,7 @@ p_220342_1_.func_242417_l(t); } -@@ -504,14 +518,23 @@ +@@ -504,14 +_,23 @@ } public int func_233602_m_() { @@ -75,7 +75,7 @@ return this != field_200729_aH && this != field_200770_J && this != field_200760_az && this != field_200791_e && this != field_200766_F && this != field_200768_H && this != field_200782_V && this != field_200801_o && this != field_200805_s; } -@@ -519,6 +542,19 @@ +@@ -519,6 +_,19 @@ return p_220341_1_.func_230235_a_(this); } @@ -95,7 +95,7 @@ public static class Builder { private final EntityType.IFactory field_200709_a; private final EntityClassification field_220324_b; -@@ -531,6 +567,11 @@ +@@ -531,6 +_,11 @@ private int field_233605_i_ = 3; private EntitySize field_220326_f = EntitySize.func_220314_b(0.6F, 1.8F); @@ -107,7 +107,7 @@ private Builder(EntityType.IFactory p_i50479_1_, EntityClassification p_i50479_2_) { this.field_200709_a = p_i50479_1_; this.field_220324_b = p_i50479_2_; -@@ -587,12 +628,36 @@ +@@ -587,12 +_,36 @@ return this; } diff --git a/patches/minecraft/net/minecraft/entity/FlyingEntity.java.patch b/patches/minecraft/net/minecraft/entity/FlyingEntity.java.patch index 27a05b03c5..bebdcc7724 100644 --- a/patches/minecraft/net/minecraft/entity/FlyingEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/FlyingEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/FlyingEntity.java +++ b/net/minecraft/entity/FlyingEntity.java -@@ -27,15 +27,16 @@ +@@ -27,15 +_,16 @@ this.func_213315_a(MoverType.SELF, this.func_213322_ci()); this.func_213317_d(this.func_213322_ci().func_186678_a(0.5D)); } else { diff --git a/patches/minecraft/net/minecraft/entity/IShearable.java.patch b/patches/minecraft/net/minecraft/entity/IShearable.java.patch index 7cf074def3..892f08b095 100644 --- a/patches/minecraft/net/minecraft/entity/IShearable.java.patch +++ b/patches/minecraft/net/minecraft/entity/IShearable.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/IShearable.java +++ b/net/minecraft/entity/IShearable.java -@@ -2,8 +2,11 @@ +@@ -2,8 +_,11 @@ import net.minecraft.util.SoundCategory; diff --git a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch index 7fceb1007e..94cc881ed2 100644 --- a/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/LivingEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/LivingEntity.java +++ b/net/minecraft/entity/LivingEntity.java -@@ -117,7 +117,9 @@ +@@ -117,7 +_,9 @@ public abstract class LivingEntity extends Entity { private static final UUID field_110156_b = UUID.fromString("662A6B8D-DA3E-4C1C-8813-96EA6097278D"); private static final UUID field_233625_c_ = UUID.fromString("87f46a96-686f-4796-b035-22e16ee9e038"); @@ -10,7 +10,7 @@ protected static final DataParameter field_184621_as = EntityDataManager.func_187226_a(LivingEntity.class, DataSerializers.field_187191_a); private static final DataParameter field_184632_c = EntityDataManager.func_187226_a(LivingEntity.class, DataSerializers.field_187193_c); private static final DataParameter field_184633_f = EntityDataManager.func_187226_a(LivingEntity.class, DataSerializers.field_187192_b); -@@ -245,7 +247,7 @@ +@@ -245,7 +_,7 @@ } public static AttributeModifierMap.MutableAttribute func_233639_cI_() { @@ -19,7 +19,7 @@ } protected void func_184231_a(double p_184231_1_, boolean p_184231_3_, BlockState p_184231_4_, BlockPos p_184231_5_) { -@@ -260,9 +262,10 @@ +@@ -260,9 +_,10 @@ if (!this.field_70170_p.field_72995_K && this.field_70143_R > 3.0F && p_184231_3_) { float f = (float)MathHelper.func_76123_f(this.field_70143_R - 3.0F); @@ -31,7 +31,7 @@ ((ServerWorld)this.field_70170_p).func_195598_a(new BlockParticleData(ParticleTypes.field_197611_d, p_184231_4_), this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_(), i, 0.0D, 0.0D, 0.0D, (double)0.15F); } } -@@ -330,7 +333,7 @@ +@@ -330,7 +_,7 @@ } } @@ -40,7 +40,7 @@ this.func_184210_p(); } } else if (this.func_70086_ai() < this.func_205010_bg()) { -@@ -475,7 +478,7 @@ +@@ -475,7 +_,7 @@ protected void func_70609_aI() { ++this.field_70725_aQ; if (this.field_70725_aQ == 20) { @@ -49,7 +49,7 @@ for(int i = 0; i < 20; ++i) { double d0 = this.field_70146_Z.nextGaussian() * 0.02D; -@@ -668,7 +671,7 @@ +@@ -668,7 +_,7 @@ if (!effectinstance.func_76455_a(this, () -> { this.func_70695_b(effectinstance, true); })) { @@ -58,7 +58,7 @@ iterator.remove(); this.func_70688_c(effectinstance); } -@@ -717,8 +720,10 @@ +@@ -717,8 +_,10 @@ this.func_82142_c(false); } else { Collection collection = this.field_70713_bf.values(); @@ -71,7 +71,7 @@ this.func_82142_c(this.func_70644_a(Effects.field_76441_p)); } -@@ -747,7 +752,7 @@ +@@ -747,7 +_,7 @@ d0 *= 0.5D; } } @@ -80,7 +80,7 @@ return d0; } -@@ -782,7 +787,9 @@ +@@ -782,7 +_,9 @@ boolean flag; for(flag = false; iterator.hasNext(); flag = true) { @@ -91,7 +91,7 @@ iterator.remove(); } -@@ -812,6 +819,7 @@ +@@ -812,6 +_,7 @@ return false; } else { EffectInstance effectinstance = this.field_70713_bf.get(p_195064_1_.func_188419_a()); @@ -99,7 +99,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_); -@@ -826,6 +834,9 @@ +@@ -826,6 +_,9 @@ } public boolean func_70687_e(EffectInstance p_70687_1_) { @@ -109,7 +109,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) { -@@ -859,6 +870,7 @@ +@@ -859,6 +_,7 @@ } public boolean func_195063_d(Effect p_195063_1_) { @@ -117,7 +117,7 @@ EffectInstance effectinstance = this.func_184596_c(p_195063_1_); if (effectinstance != null) { this.func_70688_c(effectinstance); -@@ -895,6 +907,8 @@ +@@ -895,6 +_,8 @@ } public void func_70691_i(float p_70691_1_) { @@ -126,7 +126,7 @@ float f = this.func_110143_aJ(); if (f > 0.0F) { this.func_70606_j(f + p_70691_1_); -@@ -915,6 +929,7 @@ +@@ -915,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -134,7 +134,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; } else if (this.field_70170_p.field_72995_K) { -@@ -981,8 +996,8 @@ +@@ -981,8 +_,8 @@ if (entity1 instanceof PlayerEntity) { this.field_70718_bc = 100; this.field_70717_bb = (PlayerEntity)entity1; @@ -145,7 +145,7 @@ if (wolfentity.func_70909_n()) { this.field_70718_bc = 100; LivingEntity livingentity = wolfentity.func_70902_q(); -@@ -1165,6 +1180,7 @@ +@@ -1165,6 +_,7 @@ } public void func_70645_a(DamageSource p_70645_1_) { @@ -153,7 +153,7 @@ if (!this.field_70128_L && !this.field_70729_aU) { Entity entity = p_70645_1_.func_76346_g(); LivingEntity livingentity = this.func_94060_bK(); -@@ -1196,10 +1212,10 @@ +@@ -1196,10 +_,10 @@ if (!this.field_70170_p.field_72995_K) { boolean flag = false; if (p_226298_1_ instanceof WitherEntity) { @@ -166,7 +166,7 @@ this.field_70170_p.func_180501_a(blockpos, blockstate, 3); flag = true; } -@@ -1216,13 +1232,10 @@ +@@ -1216,12 +_,9 @@ protected void func_213345_d(DamageSource p_213345_1_) { Entity entity = p_213345_1_.func_76346_g(); @@ -176,14 +176,13 @@ - } else { - i = 0; - } - ++ + int i = net.minecraftforge.common.ForgeHooks.getLootingLevel(this, entity, p_213345_1_); + this.captureDrops(new java.util.ArrayList<>()); -+ + boolean flag = this.field_70718_bc > 0; if (this.func_230282_cS_() && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223602_e)) { - this.func_213354_a(p_213345_1_, flag); -@@ -1231,6 +1244,10 @@ +@@ -1231,6 +_,10 @@ this.func_213337_cE(); this.func_226294_cV_(); @@ -194,7 +193,7 @@ } protected void func_213337_cE() { -@@ -1240,6 +1257,7 @@ +@@ -1240,6 +_,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); @@ -202,7 +201,7 @@ while(i > 0) { int j = ExperienceOrbEntity.func_70527_a(i); i -= j; -@@ -1260,7 +1278,8 @@ +@@ -1260,7 +_,8 @@ ResourceLocation resourcelocation = this.func_213346_cF(); LootTable loottable = this.field_70170_p.func_73046_m().func_200249_aQ().func_186521_a(resourcelocation); LootContext.Builder lootcontext$builder = this.func_213363_a(p_213354_2_, p_213354_1_); @@ -212,7 +211,7 @@ } protected LootContext.Builder func_213363_a(boolean p_213363_1_, DamageSource p_213363_2_) { -@@ -1273,6 +1292,11 @@ +@@ -1273,6 +_,11 @@ } public void func_233627_a_(float p_233627_1_, double p_233627_2_, double p_233627_4_) { @@ -224,7 +223,7 @@ p_233627_1_ = (float)((double)p_233627_1_ * (1.0D - this.func_233637_b_(Attributes.field_233820_c_))); if (!(p_233627_1_ <= 0.0F)) { this.field_70160_al = true; -@@ -1322,16 +1346,7 @@ +@@ -1322,16 +_,7 @@ } else { BlockPos blockpos = this.func_233580_cy_(); BlockState blockstate = this.func_213339_cH(); @@ -242,7 +241,7 @@ } } -@@ -1355,6 +1370,11 @@ +@@ -1355,6 +_,11 @@ } public boolean func_225503_b_(float p_225503_1_, float p_225503_2_) { @@ -254,7 +253,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) { -@@ -1378,9 +1398,10 @@ +@@ -1378,9 +_,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_()); @@ -268,7 +267,7 @@ this.func_184185_a(soundtype.func_185842_g(), soundtype.func_185843_a() * 0.5F, soundtype.func_185847_b() * 0.75F); } -@@ -1448,6 +1469,8 @@ +@@ -1448,6 +_,8 @@ protected void func_70665_d(DamageSource p_70665_1_, float p_70665_2_) { if (!this.func_180431_b(p_70665_1_)) { @@ -277,7 +276,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); -@@ -1457,10 +1480,11 @@ +@@ -1457,10 +_,11 @@ ((ServerPlayerEntity)p_70665_1_.func_76346_g()).func_195067_a(Stats.field_212735_F, Math.round(f * 10.0F)); } @@ -290,7 +289,7 @@ this.func_110149_m(this.func_110139_bj() - f2); } } -@@ -1514,6 +1538,8 @@ +@@ -1514,6 +_,8 @@ } public void func_226292_a_(Hand p_226292_1_, boolean p_226292_2_) { @@ -299,7 +298,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; -@@ -1848,15 +1874,16 @@ +@@ -1848,15 +_,16 @@ } this.field_70160_al = true; @@ -318,7 +317,7 @@ } protected float func_189749_co() { -@@ -1870,11 +1897,15 @@ +@@ -1870,11 +_,15 @@ public void func_213352_e(Vector3d p_213352_1_) { if (this.func_70613_aW() || this.func_184186_bw()) { double d0 = 0.08D; @@ -335,7 +334,7 @@ FluidState fluidstate = this.field_70170_p.func_204610_c(this.func_233580_cy_()); if (this.func_70090_H() && this.func_241208_cS_() && !this.func_230285_a_(fluidstate.func_206886_c())) { -@@ -1899,6 +1930,7 @@ +@@ -1899,6 +_,7 @@ f5 = 0.96F; } @@ -343,7 +342,7 @@ this.func_213309_a(f6, p_213352_1_); this.func_213315_a(MoverType.SELF, this.func_213322_ci()); Vector3d vector3d6 = this.func_213322_ci(); -@@ -1977,7 +2009,7 @@ +@@ -1977,7 +_,7 @@ } } else { BlockPos blockpos = this.func_226270_aj_(); @@ -352,7 +351,7 @@ float f4 = this.field_70122_E ? f3 * 0.91F : 0.91F; Vector3d vector3d5 = this.func_233633_a_(p_213352_1_, f3); double d2 = vector3d5.field_72448_b; -@@ -2049,7 +2081,7 @@ +@@ -2049,7 +_,7 @@ double d0 = MathHelper.func_151237_a(p_213362_1_.field_72450_a, (double)-0.15F, (double)0.15F); double d1 = MathHelper.func_151237_a(p_213362_1_.field_72449_c, (double)-0.15F, (double)0.15F); double d2 = Math.max(p_213362_1_.field_72448_b, (double)-0.15F); @@ -361,7 +360,7 @@ d2 = 0.0D; } -@@ -2077,6 +2109,7 @@ +@@ -2077,6 +_,7 @@ } public void func_70071_h_() { @@ -369,7 +368,7 @@ super.func_70071_h_(); this.func_184608_ct(); this.func_205014_p(); -@@ -2232,6 +2265,7 @@ +@@ -2232,6 +_,7 @@ ItemStack itemstack1 = this.func_184582_a(equipmentslottype); if (!ItemStack.func_77989_b(itemstack1, itemstack)) { @@ -377,7 +376,7 @@ if (map == null) { map = Maps.newEnumMap(EquipmentSlotType.class); } -@@ -2436,6 +2470,8 @@ +@@ -2436,6 +_,8 @@ boolean flag = this.func_70083_f(7); if (flag && !this.field_70122_E && !this.func_184218_aH() && !this.func_70644_a(Effects.field_188424_y)) { ItemStack itemstack = this.func_184582_a(EquipmentSlotType.CHEST); @@ -386,7 +385,7 @@ if (itemstack.func_77973_b() == Items.field_185160_cR && ElytraItem.func_185069_d(itemstack)) { flag = true; if (!this.field_70170_p.field_72995_K && (this.field_184629_bo + 1) % 20 == 0) { -@@ -2668,8 +2704,16 @@ +@@ -2668,8 +_,16 @@ private void func_184608_ct() { if (this.func_184587_cr()) { @@ -405,7 +404,7 @@ this.field_184627_bm.func_222121_b(this.field_70170_p, this, this.func_184605_cv()); if (this.func_226299_p_()) { this.func_226293_b_(this.field_184627_bm, 5); -@@ -2717,8 +2761,10 @@ +@@ -2717,8 +_,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()) { @@ -417,7 +416,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); -@@ -2778,6 +2824,9 @@ +@@ -2778,6 +_,9 @@ vector3d1 = vector3d1.func_178789_a(-this.field_70125_A * ((float)Math.PI / 180F)); vector3d1 = vector3d1.func_178785_b(-this.field_70177_z * ((float)Math.PI / 180F)); vector3d1 = vector3d1.func_72441_c(this.func_226277_ct_(), this.func_226280_cw_(), this.func_226281_cx_()); @@ -427,7 +426,7 @@ this.field_70170_p.func_195594_a(new ItemParticleData(ParticleTypes.field_197591_B, p_195062_1_), vector3d1.field_72450_a, vector3d1.field_72448_b, vector3d1.field_72449_c, vector3d.field_72450_a, vector3d.field_72448_b + 0.05D, vector3d.field_72449_c); } -@@ -2790,7 +2839,8 @@ +@@ -2790,7 +_,8 @@ } else { if (!this.field_184627_bm.func_190926_b() && this.func_184587_cr()) { this.func_226293_b_(this.field_184627_bm, 16); @@ -437,7 +436,7 @@ if (itemstack != this.field_184627_bm) { this.func_184611_a(hand, itemstack); } -@@ -2815,7 +2865,11 @@ +@@ -2815,7 +_,11 @@ public void func_184597_cx() { if (!this.field_184627_bm.func_190926_b()) { @@ -449,7 +448,7 @@ if (this.field_184627_bm.func_222122_m()) { this.func_184608_ct(); } -@@ -2964,8 +3018,8 @@ +@@ -2964,8 +_,8 @@ } BlockState blockstate = this.field_70170_p.func_180495_p(p_213342_1_); @@ -460,7 +459,7 @@ } this.func_213301_b(Pose.SLEEPING); -@@ -2981,15 +3035,15 @@ +@@ -2981,15 +_,15 @@ private boolean func_213359_p() { return this.func_213374_dv().map((p_241350_1_) -> { @@ -479,7 +478,7 @@ Vector3d vector3d1 = BedBlock.func_242652_a(this.func_200600_R(), this.field_70170_p, p_241348_1_, this.field_70177_z).orElseGet(() -> { BlockPos blockpos = p_241348_1_.func_177984_a(); return new Vector3d((double)blockpos.func_177958_n() + 0.5D, (double)blockpos.func_177956_o() + 0.1D, (double)blockpos.func_177952_p() + 0.5D); -@@ -3012,7 +3066,9 @@ +@@ -3012,7 +_,9 @@ @OnlyIn(Dist.CLIENT) public Direction func_213376_dz() { BlockPos blockpos = this.func_213374_dv().orElse((BlockPos)null); @@ -490,10 +489,12 @@ } public boolean func_70094_T() { -@@ -3082,6 +3138,58 @@ - this.func_213361_c(p_213334_1_ == Hand.MAIN_HAND ? EquipmentSlotType.MAINHAND : EquipmentSlotType.OFFHAND); - } +@@ -3080,6 +_,58 @@ + public void func_213334_d(Hand p_213334_1_) { + this.func_213361_c(p_213334_1_ == Hand.MAIN_HAND ? EquipmentSlotType.MAINHAND : EquipmentSlotType.OFFHAND); ++ } ++ + /* ==== FORGE START ==== */ + /*** + * Removes all potion effects that have curativeItem as a curative item for its effect @@ -544,8 +545,6 @@ + super.invalidateCaps(); + for (int x = 0; x < handlers.length; x++) + handlers[x].invalidate(); -+ } -+ + } + @OnlyIn(Dist.CLIENT) - public AxisAlignedBB func_184177_bl() { - if (this.func_184582_a(EquipmentSlotType.HEAD).func_77973_b() == Items.field_196151_dA) { diff --git a/patches/minecraft/net/minecraft/entity/MobEntity.java.patch b/patches/minecraft/net/minecraft/entity/MobEntity.java.patch index f6860d752d..802b557c05 100644 --- a/patches/minecraft/net/minecraft/entity/MobEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/MobEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/MobEntity.java +++ b/net/minecraft/entity/MobEntity.java -@@ -198,6 +198,7 @@ +@@ -198,6 +_,7 @@ public void func_70624_b(@Nullable LivingEntity p_70624_1_) { this.field_70696_bz = p_70624_1_; @@ -8,7 +8,7 @@ } public boolean func_213358_a(EntityType p_213358_1_) { -@@ -486,7 +487,7 @@ +@@ -486,7 +_,7 @@ public void func_70636_d() { super.func_70636_d(); this.field_70170_p.func_217381_Z().func_76320_a("looting"); @@ -17,7 +17,7 @@ for(ItemEntity itementity : this.field_70170_p.func_217357_a(ItemEntity.class, this.func_174813_aQ().func_72314_b(1.0D, 0.0D, 1.0D))) { if (!itementity.field_70128_L && !itementity.func_92059_d().func_190926_b() && !itementity.func_174874_s() && this.func_230293_i_(itementity.func_92059_d())) { this.func_175445_a(itementity); -@@ -639,6 +640,14 @@ +@@ -639,6 +_,14 @@ this.func_70106_y(); } else if (!this.func_104002_bU() && !this.func_213392_I()) { Entity entity = this.field_70170_p.func_217362_a(this, -1.0D); @@ -32,7 +32,7 @@ if (entity != null) { double d0 = entity.func_70068_e(this); int i = this.func_200600_R().func_220339_d().func_233671_f_(); -@@ -879,6 +888,8 @@ +@@ -879,6 +_,8 @@ } public static EquipmentSlotType func_184640_d(ItemStack p_184640_0_) { @@ -41,7 +41,7 @@ Item item = p_184640_0_.func_77973_b(); if (item != Blocks.field_196625_cS.func_199767_j() && (!(item instanceof BlockItem) || !(((BlockItem)item).func_179223_d() instanceof AbstractSkullBlock))) { if (item instanceof ArmorItem) { -@@ -886,7 +897,7 @@ +@@ -886,7 +_,7 @@ } else if (item == Items.field_185160_cR) { return EquipmentSlotType.CHEST; } else { diff --git a/patches/minecraft/net/minecraft/entity/ai/attributes/Attribute.java.patch b/patches/minecraft/net/minecraft/entity/ai/attributes/Attribute.java.patch index 1f00b6cdf6..3042cce5c6 100644 --- a/patches/minecraft/net/minecraft/entity/ai/attributes/Attribute.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/attributes/Attribute.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/attributes/Attribute.java +++ b/net/minecraft/entity/ai/attributes/Attribute.java -@@ -1,6 +1,6 @@ +@@ -1,6 +_,6 @@ package net.minecraft.entity.ai.attributes; -public class Attribute { diff --git a/patches/minecraft/net/minecraft/entity/ai/attributes/AttributeModifierMap.java.patch b/patches/minecraft/net/minecraft/entity/ai/attributes/AttributeModifierMap.java.patch index fcb59a808e..38956c2b48 100644 --- a/patches/minecraft/net/minecraft/entity/ai/attributes/AttributeModifierMap.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/attributes/AttributeModifierMap.java.patch @@ -1,11 +1,11 @@ --- a/net/minecraft/entity/ai/attributes/AttributeModifierMap.java +++ b/net/minecraft/entity/ai/attributes/AttributeModifierMap.java -@@ -69,7 +69,23 @@ +@@ -69,6 +_,22 @@ public static class MutableAttribute { private final Map field_233811_a_ = Maps.newHashMap(); private boolean field_233812_b_; + private final java.util.List others = new java.util.ArrayList<>(); - ++ + public MutableAttribute() { } + + public MutableAttribute(AttributeModifierMap attributeMap) { @@ -20,11 +20,10 @@ + public boolean hasAttribute(Attribute attribute) { + return this.field_233811_a_.containsKey(attribute); + } -+ + private ModifiableAttributeInstance func_233817_b_(Attribute p_233817_1_) { ModifiableAttributeInstance modifiableattributeinstance = new ModifiableAttributeInstance(p_233817_1_, (p_233816_2_) -> { - if (this.field_233812_b_) { -@@ -93,6 +109,7 @@ +@@ -93,6 +_,7 @@ public AttributeModifierMap func_233813_a_() { this.field_233812_b_ = true; diff --git a/patches/minecraft/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java.patch b/patches/minecraft/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java.patch index e58828cb37..492ca2c665 100644 --- a/patches/minecraft/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java.patch @@ -1,18 +1,18 @@ --- a/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java +++ b/net/minecraft/entity/ai/attributes/GlobalEntityTypeAttributes.java -@@ -72,13 +72,22 @@ +@@ -72,13 +_,22 @@ public class GlobalEntityTypeAttributes { private static final Logger field_233832_a_ = LogManager.getLogger(); private static final Map, AttributeModifierMap> field_233833_b_ = ImmutableMap., AttributeModifierMap>builder().put(EntityType.field_200789_c, LivingEntity.func_233639_cI_().func_233813_a_()).put(EntityType.field_200791_e, BatEntity.func_234175_m_().func_233813_a_()).put(EntityType.field_226289_e_, BeeEntity.func_234182_eX_().func_233813_a_()).put(EntityType.field_200792_f, BlazeEntity.func_234276_m_().func_233813_a_()).put(EntityType.field_220360_g, CatEntity.func_234184_eY_().func_233813_a_()).put(EntityType.field_200794_h, CaveSpiderEntity.func_234277_m_().func_233813_a_()).put(EntityType.field_200795_i, ChickenEntity.func_234187_eI_().func_233813_a_()).put(EntityType.field_203780_j, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200796_j, CowEntity.func_234188_eI_().func_233813_a_()).put(EntityType.field_200797_k, CreeperEntity.func_234278_m_().func_233813_a_()).put(EntityType.field_205137_n, DolphinEntity.func_234190_eK_().func_233813_a_()).put(EntityType.field_200798_l, AbstractChestedHorseEntity.func_234234_eJ_().func_233813_a_()).put(EntityType.field_204724_o, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_200800_n, ElderGuardianEntity.func_234283_m_().func_233813_a_()).put(EntityType.field_200803_q, EndermanEntity.func_234287_m_().func_233813_a_()).put(EntityType.field_200804_r, EndermiteEntity.func_234288_m_().func_233813_a_()).put(EntityType.field_200802_p, EnderDragonEntity.func_234257_m_().func_233813_a_()).put(EntityType.field_200806_t, EvokerEntity.func_234289_eI_().func_233813_a_()).put(EntityType.field_220356_B, FoxEntity.func_234192_eI_().func_233813_a_()).put(EntityType.field_200811_y, GhastEntity.func_234290_eH_().func_233813_a_()).put(EntityType.field_200812_z, GiantEntity.func_234291_m_().func_233813_a_()).put(EntityType.field_200761_A, GuardianEntity.func_234292_eK_().func_233813_a_()).put(EntityType.field_233588_G_, HoglinEntity.func_234362_eI_().func_233813_a_()).put(EntityType.field_200762_B, AbstractHorseEntity.func_234237_fg_().func_233813_a_()).put(EntityType.field_200763_C, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_200764_D, IllusionerEntity.func_234293_eI_().func_233813_a_()).put(EntityType.field_200757_aw, IronGolemEntity.func_234200_m_().func_233813_a_()).put(EntityType.field_200769_I, LlamaEntity.func_234244_fu_().func_233813_a_()).put(EntityType.field_200771_K, MagmaCubeEntity.func_234294_m_().func_233813_a_()).put(EntityType.field_200780_T, CowEntity.func_234188_eI_().func_233813_a_()).put(EntityType.field_200779_S, AbstractChestedHorseEntity.func_234234_eJ_().func_233813_a_()).put(EntityType.field_200781_U, OcelotEntity.func_234201_eI_().func_233813_a_()).put(EntityType.field_220353_aa, PandaEntity.func_234204_eW_().func_233813_a_()).put(EntityType.field_200783_W, ParrotEntity.func_234213_eS_().func_233813_a_()).put(EntityType.field_203097_aH, MonsterEntity.func_234295_eP_().func_233813_a_()).put(EntityType.field_200784_X, PigEntity.func_234215_eI_().func_233813_a_()).put(EntityType.field_233591_ai_, PiglinEntity.func_234420_eI_().func_233813_a_()).put(EntityType.field_242287_aj, PiglinBruteEntity.func_242344_eS().func_233813_a_()).put(EntityType.field_220350_aJ, PillagerEntity.func_234296_eI_().func_233813_a_()).put(EntityType.field_200729_aH, PlayerEntity.func_234570_el_().func_233813_a_()).put(EntityType.field_200786_Z, PolarBearEntity.func_234219_eI_().func_233813_a_()).put(EntityType.field_203779_Z, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200736_ab, RabbitEntity.func_234224_eJ_().func_233813_a_()).put(EntityType.field_220352_aU, RavagerEntity.func_234297_m_().func_233813_a_()).put(EntityType.field_203778_ae, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_200737_ac, SheepEntity.func_234225_eI_().func_233813_a_()).put(EntityType.field_200738_ad, ShulkerEntity.func_234300_m_().func_233813_a_()).put(EntityType.field_200740_af, SilverfishEntity.func_234301_m_().func_233813_a_()).put(EntityType.field_200741_ag, AbstractSkeletonEntity.func_234275_m_().func_233813_a_()).put(EntityType.field_200742_ah, SkeletonHorseEntity.func_234250_eJ_().func_233813_a_()).put(EntityType.field_200743_ai, MonsterEntity.func_234295_eP_().func_233813_a_()).put(EntityType.field_200745_ak, SnowGolemEntity.func_234226_m_().func_233813_a_()).put(EntityType.field_200748_an, SpiderEntity.func_234305_eI_().func_233813_a_()).put(EntityType.field_200749_ao, SquidEntity.func_234227_m_().func_233813_a_()).put(EntityType.field_200750_ap, AbstractSkeletonEntity.func_234275_m_().func_233813_a_()).put(EntityType.field_233589_aE_, StriderEntity.func_234317_eK_().func_233813_a_()).put(EntityType.field_220354_ax, LlamaEntity.func_234244_fu_().func_233813_a_()).put(EntityType.field_204262_at, AbstractFishEntity.func_234176_m_().func_233813_a_()).put(EntityType.field_203099_aq, TurtleEntity.func_234228_eK_().func_233813_a_()).put(EntityType.field_200755_au, VexEntity.func_234321_m_().func_233813_a_()).put(EntityType.field_200756_av, VillagerEntity.func_234551_eU_().func_233813_a_()).put(EntityType.field_200758_ax, VindicatorEntity.func_234322_eI_().func_233813_a_()).put(EntityType.field_220351_aK, MobEntity.func_233666_p_().func_233813_a_()).put(EntityType.field_200759_ay, WitchEntity.func_234323_eI_().func_233813_a_()).put(EntityType.field_200760_az, WitherEntity.func_234258_eI_().func_233813_a_()).put(EntityType.field_200722_aA, AbstractSkeletonEntity.func_234275_m_().func_233813_a_()).put(EntityType.field_200724_aC, WolfEntity.func_234233_eS_().func_233813_a_()).put(EntityType.field_233590_aW_, ZoglinEntity.func_234339_m_().func_233813_a_()).put(EntityType.field_200725_aD, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_200726_aE, ZombieHorseEntity.func_234256_eJ_().func_233813_a_()).put(EntityType.field_200727_aF, ZombieEntity.func_234342_eQ_().func_233813_a_()).put(EntityType.field_233592_ba_, ZombifiedPiglinEntity.func_234352_eU_().func_233813_a_()).build(); + @Deprecated // Remove in 1.17 + private static final Map, AttributeModifierMap> FORGE_ATTRIBUTES = net.minecraftforge.common.ForgeHooks.getAttributesView(); - ++ + /** FORGE: Use net.minecraftforge.event.entity.EntityAttributeCreationEvent#put To be removed in 1.17 */ + @Deprecated + public static AttributeModifierMap put(EntityType type, AttributeModifierMap map) { + return net.minecraftforge.common.ForgeHooks.putAttributesOld(type, map); + } -+ + public static AttributeModifierMap func_233835_a_(EntityType p_233835_0_) { - return field_233833_b_.get(p_233835_0_); + AttributeModifierMap map = FORGE_ATTRIBUTES.get(p_233835_0_); diff --git a/patches/minecraft/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java.patch b/patches/minecraft/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java.patch index 5d70ba1da5..89f2f6ad11 100644 --- a/patches/minecraft/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java +++ b/net/minecraft/entity/ai/brain/memory/MemoryModuleType.java -@@ -23,7 +23,7 @@ +@@ -23,7 +_,7 @@ import net.minecraft.util.math.IPosWrapper; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Activity.java.patch b/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Activity.java.patch index c3c1c0e715..de3e2c57cd 100644 --- a/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Activity.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Activity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/brain/schedule/Activity.java +++ b/net/minecraft/entity/ai/brain/schedule/Activity.java -@@ -2,7 +2,7 @@ +@@ -2,7 +_,7 @@ import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Schedule.java.patch b/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Schedule.java.patch index f213d56d20..384dc76096 100644 --- a/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Schedule.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/brain/schedule/Schedule.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/brain/schedule/Schedule.java +++ b/net/minecraft/entity/ai/brain/schedule/Schedule.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import java.util.stream.Collectors; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/entity/ai/brain/sensor/SensorType.java.patch b/patches/minecraft/net/minecraft/entity/ai/brain/sensor/SensorType.java.patch index 2707f0f1a7..8280c61ac4 100644 --- a/patches/minecraft/net/minecraft/entity/ai/brain/sensor/SensorType.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/brain/sensor/SensorType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/brain/sensor/SensorType.java +++ b/net/minecraft/entity/ai/brain/sensor/SensorType.java -@@ -4,7 +4,7 @@ +@@ -4,7 +_,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/entity/ai/brain/task/FarmTask.java.patch b/patches/minecraft/net/minecraft/entity/ai/brain/task/FarmTask.java.patch index af0dce781f..68130768a3 100644 --- a/patches/minecraft/net/minecraft/entity/ai/brain/task/FarmTask.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/brain/task/FarmTask.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/brain/task/FarmTask.java +++ b/net/minecraft/entity/ai/brain/task/FarmTask.java -@@ -37,7 +37,7 @@ +@@ -37,7 +_,7 @@ } protected boolean func_212832_a_(ServerWorld p_212832_1_, VillagerEntity p_212832_2_) { @@ -9,7 +9,7 @@ return false; } else if (p_212832_2_.func_213700_eh().func_221130_b() != VillagerProfession.field_221156_f) { return false; -@@ -117,6 +117,11 @@ +@@ -117,6 +_,11 @@ } else if (itemstack.func_77973_b() == Items.field_185163_cU) { p_212833_1_.func_180501_a(this.field_220422_a, Blocks.field_185773_cZ.func_176223_P(), 3); flag = true; diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/BreakBlockGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/BreakBlockGoal.java.patch index 775739b048..54789a6b2a 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/BreakBlockGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/BreakBlockGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/BreakBlockGoal.java +++ b/net/minecraft/entity/ai/goal/BreakBlockGoal.java -@@ -32,7 +32,7 @@ +@@ -32,7 +_,7 @@ } public boolean func_75250_a() { diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/BreakDoorGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/BreakDoorGoal.java.patch index bc4230d679..5fd9a00631 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/BreakDoorGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/BreakDoorGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/BreakDoorGoal.java +++ b/net/minecraft/entity/ai/goal/BreakDoorGoal.java -@@ -29,7 +29,7 @@ +@@ -29,7 +_,7 @@ public boolean func_75250_a() { if (!super.func_75250_a()) { return false; diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/EatGrassGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/EatGrassGoal.java.patch index 7d55ae31c5..e29be99b32 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/EatGrassGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/EatGrassGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/EatGrassGoal.java +++ b/net/minecraft/entity/ai/goal/EatGrassGoal.java -@@ -59,7 +59,7 @@ +@@ -59,7 +_,7 @@ if (this.field_151502_a == 4) { BlockPos blockpos = this.field_151500_b.func_233580_cy_(); if (field_179505_b.test(this.field_151501_c.func_180495_p(blockpos))) { @@ -9,7 +9,7 @@ this.field_151501_c.func_175655_b(blockpos, false); } -@@ -67,7 +67,7 @@ +@@ -67,7 +_,7 @@ } else { BlockPos blockpos1 = blockpos.func_177977_b(); if (this.field_151501_c.func_180495_p(blockpos1).func_203425_a(Blocks.field_196658_i)) { diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/MeleeAttackGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/MeleeAttackGoal.java.patch index f91800a7ce..3b3982b173 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/MeleeAttackGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/MeleeAttackGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/MeleeAttackGoal.java +++ b/net/minecraft/entity/ai/goal/MeleeAttackGoal.java -@@ -20,6 +20,8 @@ +@@ -20,6 +_,8 @@ private int field_234037_i_; private final int field_188493_g = 20; private long field_220720_k; @@ -9,7 +9,7 @@ public MeleeAttackGoal(CreatureEntity p_i1636_1_, double p_i1636_2_, boolean p_i1636_4_) { this.field_75441_b = p_i1636_1_; -@@ -40,6 +42,15 @@ +@@ -40,6 +_,15 @@ } else if (!livingentity.func_70089_S()) { return false; } else { @@ -25,7 +25,7 @@ this.field_75438_g = this.field_75441_b.func_70661_as().func_75494_a(livingentity, 0); if (this.field_75438_g != null) { return true; -@@ -92,6 +103,18 @@ +@@ -92,6 +_,18 @@ this.field_151495_j = livingentity.func_226278_cu_(); this.field_151496_k = livingentity.func_226281_cx_(); this.field_75445_i = 4 + this.field_75441_b.func_70681_au().nextInt(7); diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java.patch index 888058855a..1348182a7d 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java +++ b/net/minecraft/entity/ai/goal/RangedBowAttackGoal.java -@@ -36,7 +36,7 @@ +@@ -36,7 +_,7 @@ } protected boolean func_188498_f() { diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch index 07266933d7..228c1c6f12 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java +++ b/net/minecraft/entity/ai/goal/RunAroundLikeCrazyGoal.java -@@ -54,7 +54,7 @@ +@@ -54,7 +_,7 @@ if (entity instanceof PlayerEntity) { int i = this.field_111180_a.func_110252_cg(); int j = this.field_111180_a.func_190676_dC(); diff --git a/patches/minecraft/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java.patch b/patches/minecraft/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java.patch index 011fdb9c20..de3d151304 100644 --- a/patches/minecraft/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java.patch +++ b/patches/minecraft/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java +++ b/net/minecraft/entity/ai/goal/TriggerSkeletonTrapGoal.java -@@ -28,6 +28,10 @@ +@@ -28,6 +_,10 @@ public void func_75246_d() { ServerWorld serverworld = (ServerWorld)this.field_188516_a.field_70170_p; @@ -11,7 +11,7 @@ DifficultyInstance difficultyinstance = serverworld.func_175649_E(this.field_188516_a.func_233580_cy_()); this.field_188516_a.func_190691_p(false); this.field_188516_a.func_110234_j(true); -@@ -47,7 +51,7 @@ +@@ -47,7 +_,7 @@ abstracthorseentity.func_70024_g(this.field_188516_a.func_70681_au().nextGaussian() * 0.5D, 0.0D, this.field_188516_a.func_70681_au().nextGaussian() * 0.5D); serverworld.func_242417_l(abstracthorseentity); } diff --git a/patches/minecraft/net/minecraft/entity/boss/WitherEntity.java.patch b/patches/minecraft/net/minecraft/entity/boss/WitherEntity.java.patch index b93651582a..10f2ff820c 100644 --- a/patches/minecraft/net/minecraft/entity/boss/WitherEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/boss/WitherEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/boss/WitherEntity.java +++ b/net/minecraft/entity/boss/WitherEntity.java -@@ -213,7 +213,7 @@ +@@ -213,7 +_,7 @@ if (this.func_82212_n() > 0) { int j1 = this.func_82212_n() - 1; if (j1 <= 0) { @@ -9,7 +9,7 @@ this.field_70170_p.func_217398_a(this, this.func_226277_ct_(), this.func_226280_cw_(), this.func_226281_cx_(), 7.0F, false, explosion$mode); if (!this.func_174814_R()) { this.field_70170_p.func_175669_a(1023, this.func_233580_cy_(), 0); -@@ -290,7 +290,7 @@ +@@ -290,7 +_,7 @@ if (this.field_82222_j > 0) { --this.field_82222_j; @@ -18,7 +18,7 @@ int i1 = MathHelper.func_76128_c(this.func_226278_cu_()); int l1 = MathHelper.func_76128_c(this.func_226277_ct_()); int i2 = MathHelper.func_76128_c(this.func_226281_cx_()); -@@ -304,7 +304,7 @@ +@@ -304,7 +_,7 @@ int l = i2 + l2; BlockPos blockpos = new BlockPos(i3, k, l); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); @@ -27,7 +27,7 @@ flag = this.field_70170_p.func_225521_a_(blockpos, true, this) || flag; } } -@@ -325,6 +325,7 @@ +@@ -325,6 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonEntity.java.patch b/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonEntity.java.patch index 131c5e5253..55172aa742 100644 --- a/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/boss/dragon/EnderDragonEntity.java +++ b/net/minecraft/entity/boss/dragon/EnderDragonEntity.java -@@ -408,8 +408,8 @@ +@@ -408,8 +_,8 @@ BlockPos blockpos = new BlockPos(k1, l1, i2); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); Block block = blockstate.func_177230_c(); @@ -11,10 +11,11 @@ flag1 = this.field_70170_p.func_217377_a(blockpos, false) || flag1; } else { flag = true; -@@ -842,4 +842,14 @@ +@@ -841,5 +_,15 @@ + public boolean func_184222_aU() { return false; - } ++ } + + @Override + public boolean isMultipartEntity() { @@ -24,5 +25,5 @@ + @Override + public net.minecraftforge.entity.PartEntity[] getParts() { + return this.field_70977_g; -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java.patch b/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java.patch index bb8e34ee03..075ddd6c98 100644 --- a/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java +++ b/net/minecraft/entity/boss/dragon/EnderDragonPartEntity.java -@@ -7,13 +7,13 @@ +@@ -7,13 +_,13 @@ import net.minecraft.network.IPacket; import net.minecraft.util.DamageSource; diff --git a/patches/minecraft/net/minecraft/entity/effect/LightningBoltEntity.java.patch b/patches/minecraft/net/minecraft/entity/effect/LightningBoltEntity.java.patch index b70ec7f377..330618a07b 100644 --- a/patches/minecraft/net/minecraft/entity/effect/LightningBoltEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/effect/LightningBoltEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/effect/LightningBoltEntity.java +++ b/net/minecraft/entity/effect/LightningBoltEntity.java -@@ -83,6 +83,7 @@ +@@ -83,6 +_,7 @@ List list = this.field_70170_p.func_175674_a(this, new AxisAlignedBB(this.func_226277_ct_() - 3.0D, this.func_226278_cu_() - 3.0D, this.func_226281_cx_() - 3.0D, this.func_226277_ct_() + 3.0D, this.func_226278_cu_() + 6.0D + 3.0D, this.func_226281_cx_() + 3.0D), Entity::func_70089_S); for(Entity entity : list) { diff --git a/patches/minecraft/net/minecraft/entity/item/ArmorStandEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/ArmorStandEntity.java.patch index 1bfa17c3ef..caab0abc23 100644 --- a/patches/minecraft/net/minecraft/entity/item/ArmorStandEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/ArmorStandEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/ArmorStandEntity.java +++ b/net/minecraft/entity/item/ArmorStandEntity.java -@@ -60,7 +60,7 @@ +@@ -60,7 +_,7 @@ public static final DataParameter field_184806_f = EntityDataManager.func_187226_a(ArmorStandEntity.class, DataSerializers.field_187199_i); public static final DataParameter field_184807_g = EntityDataManager.func_187226_a(ArmorStandEntity.class, DataSerializers.field_187199_i); private static final Predicate field_184798_bv = (p_200617_0_) -> { diff --git a/patches/minecraft/net/minecraft/entity/item/BoatEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/BoatEntity.java.patch index 641e126072..8c81273185 100644 --- a/patches/minecraft/net/minecraft/entity/item/BoatEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/BoatEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/BoatEntity.java +++ b/net/minecraft/entity/item/BoatEntity.java -@@ -468,7 +468,7 @@ +@@ -468,7 +_,7 @@ blockpos$mutable.func_181079_c(l1, k2, i2); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos$mutable); if (!(blockstate.func_177230_c() instanceof LilyPadBlock) && VoxelShapes.func_197879_c(blockstate.func_196952_d(this.field_70170_p, blockpos$mutable).func_197751_a((double)l1, (double)k2, (double)i2), voxelshape, IBooleanFunction.field_223238_i_)) { @@ -9,10 +9,12 @@ ++k1; } } -@@ -817,6 +817,16 @@ - return this.field_184469_aF == BoatEntity.Status.UNDER_WATER || this.field_184469_aF == BoatEntity.Status.UNDER_FLOWING_WATER; - } +@@ -815,6 +_,16 @@ + public boolean func_204231_K() { + return this.field_184469_aF == BoatEntity.Status.UNDER_WATER || this.field_184469_aF == BoatEntity.Status.UNDER_FLOWING_WATER; ++ } ++ + // Forge: Fix MC-119811 by instantly completing lerp on board + @Override + protected void func_184200_o(Entity passenger) { @@ -21,8 +23,6 @@ + this.field_184476_at = 0; + this.func_70080_a(this.field_70281_h, this.field_184477_av, this.field_184478_aw, (float)this.field_70273_g, (float)this.field_184479_ay); + } -+ } -+ + } + public static enum Status { - IN_WATER, - UNDER_WATER, diff --git a/patches/minecraft/net/minecraft/entity/item/EnderPearlEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/EnderPearlEntity.java.patch index 6f75a3de9c..a1ad3824f7 100644 --- a/patches/minecraft/net/minecraft/entity/item/EnderPearlEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/EnderPearlEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/EnderPearlEntity.java +++ b/net/minecraft/entity/item/EnderPearlEntity.java -@@ -55,6 +55,8 @@ +@@ -55,6 +_,8 @@ if (entity instanceof ServerPlayerEntity) { ServerPlayerEntity serverplayerentity = (ServerPlayerEntity)entity; if (serverplayerentity.field_71135_a.func_147298_b().func_150724_d() && serverplayerentity.field_70170_p == this.field_70170_p && !serverplayerentity.func_70608_bn()) { @@ -9,7 +9,7 @@ if (this.field_70146_Z.nextFloat() < 0.05F && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223601_d)) { EndermiteEntity endermiteentity = EntityType.field_200804_r.func_200721_a(this.field_70170_p); endermiteentity.func_175496_a(true); -@@ -66,9 +68,10 @@ +@@ -66,9 +_,10 @@ entity.func_184210_p(); } @@ -22,7 +22,7 @@ } } else if (entity != null) { entity.func_70634_a(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_()); -@@ -91,12 +94,12 @@ +@@ -91,12 +_,12 @@ } @Nullable diff --git a/patches/minecraft/net/minecraft/entity/item/ExperienceOrbEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/ExperienceOrbEntity.java.patch index dfc867113b..0d078dbb4c 100644 --- a/patches/minecraft/net/minecraft/entity/item/ExperienceOrbEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/ExperienceOrbEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/ExperienceOrbEntity.java +++ b/net/minecraft/entity/item/ExperienceOrbEntity.java -@@ -98,7 +98,8 @@ +@@ -98,7 +_,8 @@ this.func_213315_a(MoverType.SELF, this.func_213322_ci()); float f = 0.98F; if (this.field_70122_E) { @@ -10,7 +10,7 @@ } this.func_213317_d(this.func_213322_ci().func_216372_d((double)f, 0.98D, (double)f)); -@@ -123,6 +124,7 @@ +@@ -123,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -18,7 +18,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; } else { -@@ -151,13 +153,14 @@ +@@ -151,13 +_,14 @@ public void func_70100_b_(PlayerEntity p_70100_1_) { if (!this.field_70170_p.field_72995_K) { if (this.field_70532_c == 0 && p_70100_1_.field_71090_bL == 0) { diff --git a/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/FallingBlockEntity.java.patch index 4ac5a3dfe0..66f3e0d635 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 -@@ -153,7 +153,7 @@ +@@ -153,7 +_,7 @@ ((FallingBlock)block).func_176502_a_(this.field_70170_p, blockpos1, this.field_175132_d, blockstate, this); } diff --git a/patches/minecraft/net/minecraft/entity/item/HangingEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/HangingEntity.java.patch index 4bef57295e..24ded1f632 100644 --- a/patches/minecraft/net/minecraft/entity/item/HangingEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/HangingEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/HangingEntity.java +++ b/net/minecraft/entity/item/HangingEntity.java -@@ -120,6 +120,8 @@ +@@ -120,6 +_,8 @@ int j1 = (j - 1) / -2; blockpos$mutable.func_189533_g(blockpos).func_189534_c(direction, k + i1).func_189534_c(Direction.UP, l + j1); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos$mutable); diff --git a/patches/minecraft/net/minecraft/entity/item/ItemEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/ItemEntity.java.patch index 76eb5cdbf8..f79af27bf2 100644 --- a/patches/minecraft/net/minecraft/entity/item/ItemEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/ItemEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/ItemEntity.java +++ b/net/minecraft/entity/item/ItemEntity.java -@@ -38,6 +38,10 @@ +@@ -38,6 +_,10 @@ private UUID field_145801_f; private UUID field_145802_g; public final float field_70290_d; @@ -11,7 +11,7 @@ public ItemEntity(EntityType p_i50217_1_, World p_i50217_2_) { super(p_i50217_1_, p_i50217_2_); -@@ -54,6 +58,7 @@ +@@ -54,6 +_,7 @@ public ItemEntity(World p_i1710_1_, double p_i1710_2_, double p_i1710_4_, double p_i1710_6_, ItemStack p_i1710_8_) { this(p_i1710_1_, p_i1710_2_, p_i1710_4_, p_i1710_6_); this.func_92058_a(p_i1710_8_); @@ -19,7 +19,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -74,6 +79,7 @@ +@@ -74,6 +_,7 @@ } public void func_70071_h_() { @@ -27,7 +27,7 @@ if (this.func_92059_d().func_190926_b()) { this.func_70106_y(); } else { -@@ -108,7 +114,7 @@ +@@ -108,7 +_,7 @@ this.func_213315_a(MoverType.SELF, this.func_213322_ci()); float f1 = 0.98F; if (this.field_70122_E) { @@ -36,7 +36,7 @@ } this.func_213317_d(this.func_213322_ci().func_216372_d((double)f1, 0.98D, (double)f1)); -@@ -144,7 +150,14 @@ +@@ -144,7 +_,14 @@ } } @@ -52,7 +52,7 @@ this.func_70106_y(); } -@@ -202,6 +215,8 @@ +@@ -202,6 +_,8 @@ return false; } else if (p_226532_1_.func_77942_o() ^ p_226532_0_.func_77942_o()) { return false; @@ -61,7 +61,7 @@ } else { return !p_226532_1_.func_77942_o() || p_226532_1_.func_77978_p().equals(p_226532_0_.func_77978_p()); } -@@ -235,6 +250,7 @@ +@@ -235,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -69,7 +69,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; } else if (!this.func_92059_d().func_190926_b() && this.func_92059_d().func_77973_b() == Items.field_151156_bN && p_70097_1_.func_94541_c()) { -@@ -256,6 +272,7 @@ +@@ -256,6 +_,7 @@ p_213281_1_.func_74777_a("Health", (short)this.field_70291_e); p_213281_1_.func_74777_a("Age", (short)this.field_70292_b); p_213281_1_.func_74777_a("PickupDelay", (short)this.field_145804_b); @@ -77,7 +77,7 @@ if (this.func_200214_m() != null) { p_213281_1_.func_186854_a("Thrower", this.func_200214_m()); } -@@ -276,6 +293,7 @@ +@@ -276,6 +_,7 @@ if (p_70037_1_.func_74764_b("PickupDelay")) { this.field_145804_b = p_70037_1_.func_74765_d("PickupDelay"); } @@ -85,7 +85,7 @@ if (p_70037_1_.func_186855_b("Owner")) { this.field_145802_g = p_70037_1_.func_186857_a("Owner"); -@@ -295,10 +313,18 @@ +@@ -295,10 +_,18 @@ public void func_70100_b_(PlayerEntity p_70100_1_) { if (!this.field_70170_p.field_72995_K) { @@ -105,7 +105,7 @@ p_70100_1_.func_71001_a(this, i); if (itemstack.func_190926_b()) { this.func_70106_y(); -@@ -322,8 +348,8 @@ +@@ -322,8 +_,8 @@ } @Nullable @@ -116,7 +116,7 @@ if (!this.field_70170_p.field_72995_K && entity instanceof ItemEntity) { ((ItemEntity)entity).func_85054_d(); } -@@ -396,7 +422,7 @@ +@@ -396,7 +_,7 @@ public void func_174870_v() { this.func_174871_r(); diff --git a/patches/minecraft/net/minecraft/entity/item/LeashKnotEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/LeashKnotEntity.java.patch index b2d3039a29..4408a50f04 100644 --- a/patches/minecraft/net/minecraft/entity/item/LeashKnotEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/LeashKnotEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/LeashKnotEntity.java +++ b/net/minecraft/entity/item/LeashKnotEntity.java -@@ -45,6 +45,7 @@ +@@ -45,6 +_,7 @@ protected void func_174856_o() { this.func_226288_n_((double)this.field_174861_a.func_177958_n() + 0.5D, (double)this.field_174861_a.func_177956_o() + 0.5D, (double)this.field_174861_a.func_177952_p() + 0.5D); diff --git a/patches/minecraft/net/minecraft/entity/item/PaintingType.java.patch b/patches/minecraft/net/minecraft/entity/item/PaintingType.java.patch index 32ab423eea..82b1735919 100644 --- a/patches/minecraft/net/minecraft/entity/item/PaintingType.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/PaintingType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/PaintingType.java +++ b/net/minecraft/entity/item/PaintingType.java -@@ -2,7 +2,7 @@ +@@ -2,7 +_,7 @@ import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java.patch index 3026c51e56..bf62baeb5b 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java +++ b/net/minecraft/entity/item/minecart/AbstractMinecartEntity.java -@@ -48,7 +48,7 @@ +@@ -48,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ private static final DataParameter field_184265_a = EntityDataManager.func_187226_a(AbstractMinecartEntity.class, DataSerializers.field_187192_b); private static final DataParameter field_184266_b = EntityDataManager.func_187226_a(AbstractMinecartEntity.class, DataSerializers.field_187192_b); private static final DataParameter field_184267_c = EntityDataManager.func_187226_a(AbstractMinecartEntity.class, DataSerializers.field_187193_c); -@@ -89,6 +89,7 @@ +@@ -89,6 +_,7 @@ private double field_70507_ar; @OnlyIn(Dist.CLIENT) private double field_70506_as; @@ -17,7 +17,7 @@ protected AbstractMinecartEntity(EntityType p_i48538_1_, World p_i48538_2_) { super(p_i48538_1_, p_i48538_2_); -@@ -138,7 +139,7 @@ +@@ -138,7 +_,7 @@ } public boolean func_70104_M() { @@ -26,7 +26,7 @@ } protected Vector3d func_241839_a(Direction.Axis p_241839_1_, TeleportationRepositioner.Result p_241839_2_) { -@@ -307,9 +308,9 @@ +@@ -307,9 +_,9 @@ BlockPos blockpos = new BlockPos(i, j, k); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); @@ -38,7 +38,7 @@ this.func_96095_a(i, j, k, blockstate.func_177229_b(PoweredRailBlock.field_176569_M)); } } else { -@@ -334,8 +335,11 @@ +@@ -334,8 +_,11 @@ } this.func_70101_b(this.field_70177_z, this.field_70125_A); @@ -52,7 +52,7 @@ if (!list.isEmpty()) { for(int l = 0; l < list.size(); ++l) { Entity entity1 = list.get(l); -@@ -347,7 +351,7 @@ +@@ -347,7 +_,7 @@ } } } else { @@ -61,7 +61,7 @@ if (!this.func_184196_w(entity) && entity.func_70104_M() && entity instanceof AbstractMinecartEntity) { entity.func_70108_f(this); } -@@ -372,16 +376,23 @@ +@@ -372,16 +_,23 @@ } protected void func_180459_n() { @@ -87,7 +87,7 @@ } } -@@ -396,29 +407,29 @@ +@@ -396,29 +_,29 @@ boolean flag = false; boolean flag1 = false; AbstractRailBlock abstractrailblock = (AbstractRailBlock)p_180460_2_.func_177230_c(); @@ -123,7 +123,7 @@ ++d1; } -@@ -449,7 +460,7 @@ +@@ -449,7 +_,7 @@ } } @@ -132,7 +132,7 @@ double d22 = Math.sqrt(func_213296_b(this.func_213322_ci())); if (d22 < 0.03D) { this.func_213317_d(Vector3d.field_186680_a); -@@ -478,10 +489,7 @@ +@@ -478,10 +_,7 @@ d0 = d23 + d4 * d14; d2 = d10 + d5 * d14; this.func_70107_b(d0, d1, d2); @@ -144,7 +144,7 @@ if (vector3i.func_177956_o() != 0 && MathHelper.func_76128_c(this.func_226277_ct_()) - p_180460_1_.func_177958_n() == vector3i.func_177958_n() && MathHelper.func_76128_c(this.func_226281_cx_()) - p_180460_1_.func_177952_p() == vector3i.func_177952_p()) { this.func_70107_b(this.func_226277_ct_(), this.func_226278_cu_() + (double)vector3i.func_177956_o(), this.func_226281_cx_()); } else if (vector3i1.func_177956_o() != 0 && MathHelper.func_76128_c(this.func_226277_ct_()) - p_180460_1_.func_177958_n() == vector3i1.func_177958_n() && MathHelper.func_76128_c(this.func_226281_cx_()) - p_180460_1_.func_177952_p() == vector3i1.func_177952_p()) { -@@ -509,7 +517,10 @@ +@@ -509,7 +_,10 @@ this.func_213293_j(d26 * (double)(j - p_180460_1_.func_177958_n()), vector3d5.field_72448_b, d26 * (double)(i - p_180460_1_.func_177952_p())); } @@ -156,7 +156,7 @@ Vector3d vector3d6 = this.func_213322_ci(); double d27 = Math.sqrt(func_213296_b(vector3d6)); if (d27 > 0.01D) { -@@ -564,7 +575,7 @@ +@@ -564,7 +_,7 @@ BlockState blockstate = this.field_70170_p.func_180495_p(new BlockPos(i, j, k)); if (AbstractRailBlock.func_208487_j(blockstate)) { @@ -165,7 +165,7 @@ p_70495_3_ = (double)j; if (railshape.func_208092_c()) { p_70495_3_ = (double)(j + 1); -@@ -603,7 +614,7 @@ +@@ -603,7 +_,7 @@ BlockState blockstate = this.field_70170_p.func_180495_p(new BlockPos(i, j, k)); if (AbstractRailBlock.func_208487_j(blockstate)) { @@ -174,7 +174,7 @@ Pair pair = func_226573_a_(railshape); Vector3i vector3i = pair.getFirst(); Vector3i vector3i1 = pair.getSecond(); -@@ -666,6 +677,11 @@ +@@ -666,6 +_,11 @@ } public void func_70108_f(Entity p_70108_1_) { @@ -186,7 +186,7 @@ if (!this.field_70170_p.field_72995_K) { if (!p_70108_1_.field_70145_X && !this.field_70145_X) { if (!this.func_184196_w(p_70108_1_)) { -@@ -701,11 +717,11 @@ +@@ -701,11 +_,11 @@ Vector3d vector3d2 = this.func_213322_ci(); Vector3d vector3d3 = p_70108_1_.func_213322_ci(); @@ -200,10 +200,12 @@ p_70108_1_.func_213317_d(vector3d3.func_216372_d(0.2D, 1.0D, 0.2D)); p_70108_1_.func_70024_g(vector3d2.field_72450_a + d0, 0.0D, vector3d2.field_72449_c + d1); this.func_213317_d(vector3d2.func_216372_d(0.95D, 1.0D, 0.95D)); -@@ -811,6 +827,40 @@ - return new SSpawnObjectPacket(this); - } +@@ -809,6 +_,40 @@ + public IPacket func_213297_N() { + return new SSpawnObjectPacket(this); ++ } ++ + private boolean canUseRail = true; + @Override public boolean canUseRail() { return canUseRail; } + @Override public void setCanUseRail(boolean value) { this.canUseRail = value; } @@ -236,8 +238,6 @@ + double d25 = mc.getMaxSpeedWithRail(); + Vector3d vec3d1 = mc.func_213322_ci(); + mc.func_213315_a(MoverType.SELF, new Vector3d(MathHelper.func_151237_a(d24 * vec3d1.field_72450_a, -d25, d25), 0.0D, MathHelper.func_151237_a(d24 * vec3d1.field_72449_c, -d25, d25))); -+ } -+ + } + public static enum Type { - RIDEABLE, - CHEST, diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java.patch index fdccc63980..abdd64a648 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java +++ b/net/minecraft/entity/item/minecart/CommandBlockMinecartEntity.java -@@ -73,6 +73,8 @@ +@@ -73,6 +_,8 @@ } public ActionResultType func_184230_a(PlayerEntity p_184230_1_, Hand p_184230_2_) { diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java.patch index c4ed9bf781..305afe5021 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java +++ b/net/minecraft/entity/item/minecart/ContainerMinecartEntity.java -@@ -118,17 +118,18 @@ +@@ -118,17 +_,18 @@ } @Nullable @@ -23,7 +23,7 @@ } protected void func_213281_b(CompoundNBT p_213281_1_) { -@@ -157,6 +158,8 @@ +@@ -157,6 +_,8 @@ } public ActionResultType func_184230_a(PlayerEntity p_184230_1_, Hand p_184230_2_) { @@ -32,7 +32,7 @@ p_184230_1_.func_213829_a(this); if (!p_184230_1_.field_70170_p.field_72995_K) { PiglinTasks.func_234478_a_(p_184230_1_, true); -@@ -185,6 +188,8 @@ +@@ -185,6 +_,8 @@ this.field_184290_c = null; LootContext.Builder lootcontext$builder = (new LootContext.Builder((ServerWorld)this.field_70170_p)).func_216015_a(LootParameters.field_237457_g_, this.func_213303_ch()).func_216016_a(this.field_184291_d); @@ -41,7 +41,7 @@ if (p_184288_1_ != null) { lootcontext$builder.func_186469_a(p_184288_1_.func_184817_da()).func_216015_a(LootParameters.field_216281_a, p_184288_1_); } -@@ -215,4 +220,23 @@ +@@ -215,4 +_,23 @@ } protected abstract Container func_213968_a(int p_213968_1_, PlayerInventory p_213968_2_); 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 36c831b40d..667826fd15 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 -@@ -111,6 +111,8 @@ +@@ -111,6 +_,8 @@ } public ActionResultType func_184230_a(PlayerEntity p_184230_1_, Hand p_184230_2_) { diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/MinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/MinecartEntity.java.patch index 51800af13d..d504b01258 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/MinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/MinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/MinecartEntity.java +++ b/net/minecraft/entity/item/minecart/MinecartEntity.java -@@ -16,6 +16,8 @@ +@@ -16,6 +_,8 @@ } public ActionResultType func_184230_a(PlayerEntity p_184230_1_, Hand p_184230_2_) { diff --git a/patches/minecraft/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java.patch b/patches/minecraft/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java.patch index 7c53117c87..3739623ebc 100644 --- a/patches/minecraft/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java +++ b/net/minecraft/entity/item/minecart/SpawnerMinecartEntity.java -@@ -23,6 +23,12 @@ +@@ -23,6 +_,12 @@ public BlockPos func_177221_b() { return SpawnerMinecartEntity.this.func_233580_cy_(); } diff --git a/patches/minecraft/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java.patch b/patches/minecraft/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java.patch index f6b6b3870d..47ecb8c35b 100644 --- a/patches/minecraft/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java +++ b/net/minecraft/entity/merchant/villager/AbstractVillagerEntity.java -@@ -165,9 +165,9 @@ +@@ -165,9 +_,9 @@ } @Nullable diff --git a/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerEntity.java.patch b/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerEntity.java.patch index 2ff4f178a5..a320d2afe1 100644 --- a/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/merchant/villager/VillagerEntity.java +++ b/net/minecraft/entity/merchant/villager/VillagerEntity.java -@@ -241,7 +241,7 @@ +@@ -241,7 +_,7 @@ public ActionResultType func_230254_b_(PlayerEntity p_230254_1_, Hand p_230254_2_) { ItemStack itemstack = p_230254_1_.func_184586_b(p_230254_2_); @@ -9,7 +9,7 @@ if (this.func_70631_g_()) { this.func_213756_es(); return ActionResultType.func_233537_a_(this.field_70170_p.field_72995_K); -@@ -634,7 +634,8 @@ +@@ -634,7 +_,8 @@ } protected ITextComponent func_225513_by_() { @@ -19,7 +19,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -687,7 +688,7 @@ +@@ -687,7 +_,7 @@ } public void func_241841_a(ServerWorld p_241841_1_, LightningBoltEntity p_241841_2_) { @@ -28,7 +28,7 @@ field_184243_a.info("Villager {} was struck by lightning {}.", this, p_241841_2_); WitchEntity witchentity = EntityType.field_200759_ay.func_200721_a(p_241841_1_); witchentity.func_70012_b(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_(), this.field_70177_z, this.field_70125_A); -@@ -699,6 +700,7 @@ +@@ -699,6 +_,7 @@ } witchentity.func_110163_bv(); diff --git a/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerProfession.java.patch b/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerProfession.java.patch index feb536f750..f6888e9c1d 100644 --- a/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerProfession.java.patch +++ b/patches/minecraft/net/minecraft/entity/merchant/villager/VillagerProfession.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/merchant/villager/VillagerProfession.java +++ b/net/minecraft/entity/merchant/villager/VillagerProfession.java -@@ -12,7 +12,7 @@ +@@ -12,7 +_,7 @@ import net.minecraft.util.registry.Registry; import net.minecraft.village.PointOfInterestType; diff --git a/patches/minecraft/net/minecraft/entity/monster/AbstractSkeletonEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/AbstractSkeletonEntity.java.patch index e318b121f0..19c22c0949 100644 --- a/patches/minecraft/net/minecraft/entity/monster/AbstractSkeletonEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/AbstractSkeletonEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/AbstractSkeletonEntity.java +++ b/net/minecraft/entity/monster/AbstractSkeletonEntity.java -@@ -173,6 +173,8 @@ +@@ -173,6 +_,8 @@ public void func_82196_d(LivingEntity p_82196_1_, float p_82196_2_) { ItemStack itemstack = this.func_213356_f(this.func_184586_b(ProjectileHelper.func_221274_a(this, Items.field_151031_f))); AbstractArrowEntity abstractarrowentity = this.func_213624_b(itemstack, p_82196_2_); diff --git a/patches/minecraft/net/minecraft/entity/monster/CreeperEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/CreeperEntity.java.patch index ecb37f9ee7..2144655ba5 100644 --- a/patches/minecraft/net/minecraft/entity/monster/CreeperEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/CreeperEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/CreeperEntity.java +++ b/net/minecraft/entity/monster/CreeperEntity.java -@@ -216,7 +216,7 @@ +@@ -216,7 +_,7 @@ private void func_146077_cc() { if (!this.field_70170_p.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/entity/monster/EndermanEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/EndermanEntity.java.patch index a1487e7356..89cf6bfca0 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EndermanEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EndermanEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/EndermanEntity.java +++ b/net/minecraft/entity/monster/EndermanEntity.java -@@ -98,7 +98,6 @@ +@@ -98,7 +_,6 @@ } public void func_70624_b(@Nullable LivingEntity p_70624_1_) { @@ -8,7 +8,7 @@ ModifiableAttributeInstance modifiableattributeinstance = this.func_110148_a(Attributes.field_233821_d_); if (p_70624_1_ == null) { this.field_184721_by = 0; -@@ -113,6 +112,7 @@ +@@ -113,6 +_,7 @@ } } @@ -16,7 +16,7 @@ } protected void func_70088_a() { -@@ -181,12 +181,13 @@ +@@ -181,12 +_,13 @@ } this.func_195406_b(blockstate); @@ -31,7 +31,7 @@ return false; } else { Vector3d vector3d = p_70821_1_.func_70676_i(1.0F).func_72432_b(); -@@ -265,7 +266,9 @@ +@@ -265,7 +_,9 @@ boolean flag = blockstate.func_185904_a().func_76230_c(); boolean flag1 = blockstate.func_204520_s().func_206884_a(FluidTags.field_206959_a); if (flag && !flag1) { @@ -42,7 +42,7 @@ if (flag2 && !this.func_174814_R()) { this.field_70170_p.func_184148_a((PlayerEntity)null, this.field_70169_q, this.field_70167_r, this.field_70166_s, SoundEvents.field_187534_aX, this.func_184176_by(), 1.0F, 1.0F); this.func_184185_a(SoundEvents.field_187534_aX, 1.0F, 1.0F); -@@ -429,7 +432,7 @@ +@@ -429,7 +_,7 @@ public boolean func_75250_a() { if (this.field_179475_a.func_195405_dq() == null) { return false; @@ -51,7 +51,7 @@ return false; } else { return this.field_179475_a.func_70681_au().nextInt(2000) == 0; -@@ -449,7 +452,7 @@ +@@ -449,7 +_,7 @@ BlockState blockstate2 = this.field_179475_a.func_195405_dq(); if (blockstate2 != null) { blockstate2 = Block.func_199770_b(blockstate2, this.field_179475_a.field_70170_p, blockpos); @@ -60,7 +60,7 @@ world.func_180501_a(blockpos, blockstate2, 3); this.field_179475_a.func_195406_b((BlockState)null); } -@@ -458,7 +461,7 @@ +@@ -458,7 +_,7 @@ } private boolean func_220836_a(World p_220836_1_, BlockPos p_220836_2_, BlockState p_220836_3_, BlockState p_220836_4_, BlockState p_220836_5_, BlockPos p_220836_6_) { @@ -69,7 +69,7 @@ } } -@@ -500,7 +503,7 @@ +@@ -500,7 +_,7 @@ public boolean func_75250_a() { if (this.field_179473_a.func_195405_dq() != null) { return false; diff --git a/patches/minecraft/net/minecraft/entity/monster/EvokerEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/EvokerEntity.java.patch index a63f16f452..94297ba162 100644 --- a/patches/minecraft/net/minecraft/entity/monster/EvokerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/EvokerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/EvokerEntity.java +++ b/net/minecraft/entity/monster/EvokerEntity.java -@@ -280,7 +280,7 @@ +@@ -280,7 +_,7 @@ return false; } else if (EvokerEntity.this.field_70173_aa < this.field_193322_d) { return false; diff --git a/patches/minecraft/net/minecraft/entity/monster/HoglinEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/HoglinEntity.java.patch index fffae2a9c3..3e8998c34a 100644 --- a/patches/minecraft/net/minecraft/entity/monster/HoglinEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/HoglinEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/HoglinEntity.java +++ b/net/minecraft/entity/monster/HoglinEntity.java -@@ -117,7 +117,7 @@ +@@ -117,7 +_,7 @@ HoglinTasks.func_234377_a_(this); if (this.func_234364_eK_()) { ++this.field_234358_by_; @@ -9,7 +9,7 @@ this.func_241412_a_(SoundEvents.field_232715_fE_); this.func_234360_a_((ServerWorld)this.field_70170_p); } -@@ -212,6 +212,7 @@ +@@ -212,6 +_,7 @@ ZoglinEntity zoglinentity = this.func_233656_b_(EntityType.field_233590_aW_, true); if (zoglinentity != null) { zoglinentity.func_195064_c(new EffectInstance(Effects.field_76431_k, 200, 0)); diff --git a/patches/minecraft/net/minecraft/entity/monster/IllusionerEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/IllusionerEntity.java.patch index 8950cdc4cf..14239b7595 100644 --- a/patches/minecraft/net/minecraft/entity/monster/IllusionerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/IllusionerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/IllusionerEntity.java +++ b/net/minecraft/entity/monster/IllusionerEntity.java -@@ -182,6 +182,8 @@ +@@ -182,6 +_,8 @@ public void func_82196_d(LivingEntity p_82196_1_, float p_82196_2_) { ItemStack itemstack = this.func_213356_f(this.func_184586_b(ProjectileHelper.func_221274_a(this, Items.field_151031_f))); AbstractArrowEntity abstractarrowentity = ProjectileHelper.func_221272_a(this, itemstack, p_82196_2_); diff --git a/patches/minecraft/net/minecraft/entity/monster/MagmaCubeEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/MagmaCubeEntity.java.patch index a45a3c719b..331816bec0 100644 --- a/patches/minecraft/net/minecraft/entity/monster/MagmaCubeEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/MagmaCubeEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/MagmaCubeEntity.java +++ b/net/minecraft/entity/monster/MagmaCubeEntity.java -@@ -72,6 +72,7 @@ +@@ -72,6 +_,7 @@ Vector3d vector3d = this.func_213322_ci(); this.func_213293_j(vector3d.field_72450_a, (double)(this.func_175134_bD() + (float)this.func_70809_q() * 0.1F), vector3d.field_72449_c); this.field_70160_al = true; diff --git a/patches/minecraft/net/minecraft/entity/monster/RavagerEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/RavagerEntity.java.patch index 96f9a9df2f..726c1ebda5 100644 --- a/patches/minecraft/net/minecraft/entity/monster/RavagerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/RavagerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/RavagerEntity.java +++ b/net/minecraft/entity/monster/RavagerEntity.java -@@ -134,7 +134,7 @@ +@@ -134,7 +_,7 @@ this.func_110148_a(Attributes.field_233821_d_).func_111128_a(MathHelper.func_219803_d(0.1D, d1, d0)); } diff --git a/patches/minecraft/net/minecraft/entity/monster/ShulkerEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/ShulkerEntity.java.patch index 69253abc90..a277f9dd2c 100644 --- a/patches/minecraft/net/minecraft/entity/monster/ShulkerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/ShulkerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/ShulkerEntity.java +++ b/net/minecraft/entity/monster/ShulkerEntity.java -@@ -166,7 +166,7 @@ +@@ -166,7 +_,7 @@ this.field_184708_bA = 0; } else if (!this.field_70170_p.field_72995_K) { BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); @@ -9,7 +9,7 @@ if (blockstate.func_203425_a(Blocks.field_196603_bb)) { Direction direction = blockstate.func_177229_b(PistonBlock.field_176387_N); if (this.field_70170_p.func_175623_d(blockpos.func_177972_a(direction))) { -@@ -219,6 +219,7 @@ +@@ -219,6 +_,7 @@ this.func_226286_f_((double)blockpos.func_177958_n() + 0.5D, (double)blockpos.func_177956_o(), (double)blockpos.func_177952_p() + 0.5D); double d2 = 0.5D - (double)MathHelper.func_76126_a((0.5F + this.field_184706_by) * (float)Math.PI) * 0.5D; double d0 = 0.5D - (double)MathHelper.func_76126_a((0.5F + this.field_184705_bx) * (float)Math.PI) * 0.5D; @@ -17,7 +17,7 @@ Direction direction2 = this.func_184696_cZ().func_176734_d(); this.func_174826_a((new AxisAlignedBB(this.func_226277_ct_() - 0.5D, this.func_226278_cu_(), this.func_226281_cx_() - 0.5D, this.func_226277_ct_() + 0.5D, this.func_226278_cu_() + 1.0D, this.func_226281_cx_() + 0.5D)).func_72321_a((double)direction2.func_82601_c() * d2, (double)direction2.func_96559_d() * d2, (double)direction2.func_82599_e() * d2)); double d1 = d2 - d0; -@@ -249,6 +250,7 @@ +@@ -249,6 +_,7 @@ super.func_70107_b(p_70107_1_, p_70107_3_, p_70107_5_); if (this.field_70180_af != null && this.field_70173_aa != 0) { Optional optional = this.field_70180_af.func_187225_a(field_184701_b); @@ -25,16 +25,16 @@ Optional optional1 = Optional.of(new BlockPos(p_70107_1_, p_70107_3_, p_70107_5_)); if (!optional1.equals(optional)) { this.field_70180_af.func_187227_b(field_184701_b, optional1); -@@ -283,6 +285,12 @@ +@@ -282,6 +_,12 @@ + BlockPos blockpos1 = blockpos.func_177982_a(8 - this.field_70146_Z.nextInt(17), 8 - this.field_70146_Z.nextInt(17), 8 - this.field_70146_Z.nextInt(17)); if (blockpos1.func_177956_o() > 0 && this.field_70170_p.func_175623_d(blockpos1) && this.field_70170_p.func_175723_af().func_177746_a(blockpos1) && this.field_70170_p.func_226665_a__(this, new AxisAlignedBB(blockpos1))) { Direction direction = this.func_234299_g_(blockpos1); - if (direction != null) { ++ if (direction != null) { + net.minecraftforge.event.entity.living.EnderTeleportEvent event = new net.minecraftforge.event.entity.living.EnderTeleportEvent(this, blockpos1.func_177958_n(), blockpos1.func_177956_o(), blockpos1.func_177952_p(), 0); + if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) direction = null; + blockpos1 = new BlockPos(event.getTargetX(), event.getTargetY(), event.getTargetZ()); + } + -+ if (direction != null) { + if (direction != null) { this.field_70180_af.func_187227_b(field_184700_a, direction); this.func_184185_a(SoundEvents.field_187791_eX, 1.0F, 1.0F); - this.field_70180_af.func_187227_b(field_184701_b, Optional.of(blockpos1)); diff --git a/patches/minecraft/net/minecraft/entity/monster/SilverfishEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/SilverfishEntity.java.patch index 2893d71cb0..e019c5ef50 100644 --- a/patches/minecraft/net/minecraft/entity/monster/SilverfishEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/SilverfishEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/SilverfishEntity.java +++ b/net/minecraft/entity/monster/SilverfishEntity.java -@@ -134,7 +134,7 @@ +@@ -134,7 +_,7 @@ return false; } else { Random random = this.field_75457_a.func_70681_au(); @@ -9,7 +9,7 @@ this.field_179483_b = Direction.func_239631_a_(random); BlockPos blockpos = (new BlockPos(this.field_75457_a.func_226277_ct_(), this.field_75457_a.func_226278_cu_() + 0.5D, this.field_75457_a.func_226281_cx_())).func_177972_a(this.field_179483_b); BlockState blockstate = this.field_75457_a.field_70170_p.func_180495_p(blockpos); -@@ -203,7 +203,7 @@ +@@ -203,7 +_,7 @@ BlockState blockstate = world.func_180495_p(blockpos1); Block block = blockstate.func_177230_c(); if (block instanceof SilverfishBlock) { diff --git a/patches/minecraft/net/minecraft/entity/monster/SlimeEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/SlimeEntity.java.patch index b82ba6221f..688030b0cc 100644 --- a/patches/minecraft/net/minecraft/entity/monster/SlimeEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/SlimeEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/SlimeEntity.java +++ b/net/minecraft/entity/monster/SlimeEntity.java -@@ -127,6 +127,7 @@ +@@ -127,6 +_,7 @@ if (this.field_70122_E && !this.field_175452_bi) { int i = this.func_70809_q(); @@ -8,7 +8,7 @@ for(int j = 0; j < i * 8; ++j) { float f = this.field_70146_Z.nextFloat() * ((float)Math.PI * 2F); float f1 = this.field_70146_Z.nextFloat() * 0.5F + 0.5F; -@@ -178,9 +179,10 @@ +@@ -178,9 +_,10 @@ return (EntityType)super.func_200600_R(); } @@ -21,7 +21,7 @@ ITextComponent itextcomponent = this.func_200201_e(); boolean flag = this.func_175446_cd(); float f = (float)i / 4.0F; -@@ -204,7 +206,7 @@ +@@ -204,7 +_,7 @@ } } @@ -30,16 +30,16 @@ } public void func_70108_f(Entity p_70108_1_) { -@@ -324,6 +326,12 @@ +@@ -323,6 +_,12 @@ + public EntitySize func_213305_a(Pose p_213305_1_) { return super.func_213305_a(p_213305_1_).func_220313_a(0.255F * (float)this.func_70809_q()); } - ++ + /** + * Called when the slime spawns particles on landing, see onUpdate. + * Return true to prevent the spawning of the default particles. + */ + protected boolean spawnCustomParticles() { return false; } -+ + static class AttackGoal extends Goal { private final SlimeEntity field_179466_a; - private int field_179465_b; diff --git a/patches/minecraft/net/minecraft/entity/monster/SpiderEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/SpiderEntity.java.patch index 31898f6583..5f697312aa 100644 --- a/patches/minecraft/net/minecraft/entity/monster/SpiderEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/SpiderEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/SpiderEntity.java +++ b/net/minecraft/entity/monster/SpiderEntity.java -@@ -118,7 +118,12 @@ +@@ -118,7 +_,12 @@ } public boolean func_70687_e(EffectInstance p_70687_1_) { diff --git a/patches/minecraft/net/minecraft/entity/monster/ZombieEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/ZombieEntity.java.patch index b973901039..ceb1dcce8e 100644 --- a/patches/minecraft/net/minecraft/entity/monster/ZombieEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/ZombieEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/ZombieEntity.java +++ b/net/minecraft/entity/monster/ZombieEntity.java -@@ -186,7 +186,8 @@ +@@ -186,7 +_,8 @@ if (!this.field_70170_p.field_72995_K && this.func_70089_S() && !this.func_175446_cd()) { if (this.func_204706_dD()) { --this.field_204708_bE; @@ -10,7 +10,7 @@ this.func_207302_dI(); } } else if (this.func_204703_dA()) { -@@ -248,6 +249,7 @@ +@@ -248,6 +_,7 @@ if (zombieentity != null) { zombieentity.func_207304_a(zombieentity.field_70170_p.func_175649_E(zombieentity.func_233580_cy_()).func_180170_c()); zombieentity.func_146070_a(zombieentity.func_204900_dz() && this.func_146072_bX()); @@ -18,7 +18,7 @@ } } -@@ -268,12 +270,16 @@ +@@ -268,11 +_,15 @@ livingentity = (LivingEntity)p_70097_1_.func_76346_g(); } @@ -27,17 +27,16 @@ int j = MathHelper.func_76128_c(this.func_226278_cu_()); int k = MathHelper.func_76128_c(this.func_226281_cx_()); - ZombieEntity zombieentity = new ZombieEntity(this.field_70170_p); - ++ + net.minecraftforge.event.entity.living.ZombieEvent.SummonAidEvent event = net.minecraftforge.event.ForgeEventFactory.fireZombieSummonAid(this, field_70170_p, i, j, k, livingentity, this.func_110148_a(Attributes.field_233829_l_).func_111126_e()); + if (event.getResult() == net.minecraftforge.eventbus.api.Event.Result.DENY) return true; + if (event.getResult() == net.minecraftforge.eventbus.api.Event.Result.ALLOW || + livingentity != null && this.field_70170_p.func_175659_aa() == Difficulty.HARD && (double)this.field_70146_Z.nextFloat() < this.func_110148_a(Attributes.field_233829_l_).func_111126_e() && this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223601_d)) { + ZombieEntity zombieentity = event.getCustomSummonedAid() != null && event.getResult() == net.minecraftforge.eventbus.api.Event.Result.ALLOW ? event.getCustomSummonedAid() : EntityType.field_200725_aD.func_200721_a(this.field_70170_p); -+ + for(int l = 0; l < 50; ++l) { int i1 = i + MathHelper.func_76136_a(this.field_70146_Z, 7, 40) * MathHelper.func_76136_a(this.field_70146_Z, -1, 1); - int j1 = j + MathHelper.func_76136_a(this.field_70146_Z, 7, 40) * MathHelper.func_76136_a(this.field_70146_Z, -1, 1); -@@ -284,6 +290,7 @@ +@@ -284,6 +_,7 @@ if (WorldEntitySpawner.func_209382_a(entityspawnplacementregistry$placementtype, this.field_70170_p, blockpos, entitytype) && EntitySpawnPlacementRegistry.func_223515_a(entitytype, serverworld, SpawnReason.REINFORCEMENT, blockpos, this.field_70170_p.field_73012_v)) { zombieentity.func_70107_b((double)i1, (double)j1, (double)k1); if (!this.field_70170_p.func_217358_a((double)i1, (double)j1, (double)k1, 7.0D) && this.field_70170_p.func_226668_i_(zombieentity) && this.field_70170_p.func_226669_j_(zombieentity) && !this.field_70170_p.func_72953_d(zombieentity.func_174813_aQ())) { @@ -45,7 +44,7 @@ zombieentity.func_70624_b(livingentity); zombieentity.func_213386_a(serverworld, this.field_70170_p.func_175649_E(zombieentity.func_233580_cy_()), SpawnReason.REINFORCEMENT, (ILivingEntityData)null, (CompoundNBT)null); serverworld.func_242417_l(zombieentity); -@@ -369,7 +376,7 @@ +@@ -369,7 +_,7 @@ public void func_241847_a(ServerWorld p_241847_1_, LivingEntity p_241847_2_) { super.func_241847_a(p_241847_1_, p_241847_2_); @@ -54,7 +53,7 @@ if (p_241847_1_.func_175659_aa() != Difficulty.HARD && this.field_70146_Z.nextBoolean()) { return; } -@@ -381,6 +388,7 @@ +@@ -381,6 +_,7 @@ zombievillagerentity.func_223727_a(villagerentity.func_223722_es().func_234058_a_(NBTDynamicOps.field_210820_a).getValue()); zombievillagerentity.func_213790_g(villagerentity.func_213706_dY().func_222199_a()); zombievillagerentity.func_213789_a(villagerentity.func_213708_dV()); @@ -62,7 +61,7 @@ if (!this.func_174814_R()) { p_241847_1_.func_217378_a((PlayerEntity)null, 1026, this.func_233580_cy_(), 0); } -@@ -448,7 +456,7 @@ +@@ -448,7 +_,7 @@ } public static boolean func_241399_a_(Random p_241399_0_) { @@ -71,7 +70,7 @@ } protected void func_207304_a(float p_207304_1_) { -@@ -468,7 +476,7 @@ +@@ -468,7 +_,7 @@ } protected void func_230291_eT_() { diff --git a/patches/minecraft/net/minecraft/entity/monster/ZombieVillagerEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/ZombieVillagerEntity.java.patch index dd22654a79..7d9ba90d3d 100644 --- a/patches/minecraft/net/minecraft/entity/monster/ZombieVillagerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/ZombieVillagerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/ZombieVillagerEntity.java +++ b/net/minecraft/entity/monster/ZombieVillagerEntity.java -@@ -116,7 +116,7 @@ +@@ -116,7 +_,7 @@ if (!this.field_70170_p.field_72995_K && this.func_70089_S() && this.func_82230_o()) { int i = this.func_190735_dq(); this.field_82234_d -= i; @@ -9,7 +9,7 @@ this.func_213791_a((ServerWorld)this.field_70170_p); } } -@@ -218,7 +218,7 @@ +@@ -218,7 +_,7 @@ if (!this.func_174814_R()) { p_213791_1_.func_217378_a((PlayerEntity)null, 1027, this.func_233580_cy_(), 0); } diff --git a/patches/minecraft/net/minecraft/entity/monster/ZombifiedPiglinEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/ZombifiedPiglinEntity.java.patch index 25e09b00ab..1899b89daf 100644 --- a/patches/minecraft/net/minecraft/entity/monster/ZombifiedPiglinEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/ZombifiedPiglinEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/ZombifiedPiglinEntity.java +++ b/net/minecraft/entity/monster/ZombifiedPiglinEntity.java -@@ -173,6 +173,7 @@ +@@ -173,6 +_,7 @@ public void func_70037_a(CompoundNBT p_70037_1_) { super.func_70037_a(p_70037_1_); diff --git a/patches/minecraft/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java.patch index 341d14feda..f62c0641a9 100644 --- a/patches/minecraft/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java +++ b/net/minecraft/entity/monster/piglin/AbstractPiglinEntity.java -@@ -83,7 +83,7 @@ +@@ -83,7 +_,7 @@ this.field_242334_c = 0; } @@ -9,7 +9,7 @@ this.func_241848_eP(); this.func_234416_a_((ServerWorld)this.field_70170_p); } -@@ -98,6 +98,7 @@ +@@ -98,6 +_,7 @@ ZombifiedPiglinEntity zombifiedpiglinentity = this.func_233656_b_(EntityType.field_233592_ba_, true); if (zombifiedpiglinentity != null) { zombifiedpiglinentity.func_195064_c(new EffectInstance(Effects.field_76431_k, 200, 0)); diff --git a/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinEntity.java.patch b/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinEntity.java.patch index bec12b47e5..aed3a1fa1f 100644 --- a/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/piglin/PiglinEntity.java +++ b/net/minecraft/entity/monster/piglin/PiglinEntity.java -@@ -307,7 +307,7 @@ +@@ -307,7 +_,7 @@ } protected void func_234439_n_(ItemStack p_234439_1_) { diff --git a/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinTasks.java.patch b/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinTasks.java.patch index 34730ddaa8..0ff42c6c12 100644 --- a/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinTasks.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/piglin/PiglinTasks.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/piglin/PiglinTasks.java +++ b/net/minecraft/entity/monster/piglin/PiglinTasks.java -@@ -232,7 +232,7 @@ +@@ -232,7 +_,7 @@ ItemStack itemstack = p_234477_0_.func_184586_b(Hand.OFF_HAND); p_234477_0_.func_184611_a(Hand.OFF_HAND, ItemStack.field_190927_a); if (p_234477_0_.func_242337_eM()) { @@ -9,7 +9,7 @@ if (p_234477_1_ && flag) { func_234475_a_(p_234477_0_, func_234524_k_(p_234477_0_)); } else if (!flag) { -@@ -318,7 +318,7 @@ +@@ -318,7 +_,7 @@ return false; } else if (func_234453_C_(p_234474_0_) && p_234474_0_.func_213375_cj().func_218191_a(MemoryModuleType.field_234103_o_)) { return false; @@ -18,7 +18,7 @@ return func_234455_E_(p_234474_0_); } else { boolean flag = p_234474_0_.func_234437_l_(p_234474_1_); -@@ -418,7 +418,7 @@ +@@ -418,7 +_,7 @@ } protected static boolean func_234489_b_(PiglinEntity p_234489_0_, ItemStack p_234489_1_) { @@ -27,7 +27,7 @@ } protected static void func_234468_a_(PiglinEntity p_234468_0_, LivingEntity p_234468_1_) { -@@ -519,7 +519,7 @@ +@@ -519,7 +_,7 @@ public static boolean func_234460_a_(LivingEntity p_234460_0_) { for(ItemStack itemstack : p_234460_0_.func_184193_aE()) { Item item = itemstack.func_77973_b(); diff --git a/patches/minecraft/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java.patch b/patches/minecraft/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java.patch index f0e5ec1371..851382e656 100644 --- a/patches/minecraft/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java.patch +++ b/patches/minecraft/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java +++ b/net/minecraft/entity/monster/piglin/StartAdmiringItemTask.java -@@ -13,7 +13,7 @@ +@@ -13,7 +_,7 @@ } protected boolean func_212832_a_(ServerWorld p_212832_1_, E p_212832_2_) { diff --git a/patches/minecraft/net/minecraft/entity/passive/AnimalEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/AnimalEntity.java.patch index eba1846f49..0d75d1b8d1 100644 --- a/patches/minecraft/net/minecraft/entity/passive/AnimalEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/AnimalEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/AnimalEntity.java +++ b/net/minecraft/entity/passive/AnimalEntity.java -@@ -199,6 +199,17 @@ +@@ -199,6 +_,17 @@ public void func_234177_a_(ServerWorld p_234177_1_, AnimalEntity p_234177_2_) { AgeableEntity ageableentity = this.func_241840_a(p_234177_1_, p_234177_2_); diff --git a/patches/minecraft/net/minecraft/entity/passive/BeeEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/BeeEntity.java.patch index 99e1604c50..f913410adf 100644 --- a/patches/minecraft/net/minecraft/entity/passive/BeeEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/BeeEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/BeeEntity.java +++ b/net/minecraft/entity/passive/BeeEntity.java -@@ -184,6 +184,7 @@ +@@ -184,6 +_,7 @@ this.field_226363_bC_ = p_70037_1_.func_74762_e("TicksSincePollination"); this.field_226364_bD_ = p_70037_1_.func_74762_e("CannotEnterHiveTicks"); this.field_226365_bE_ = p_70037_1_.func_74762_e("CropsGrownSincePollination"); @@ -8,7 +8,7 @@ this.func_241358_a_((ServerWorld)this.field_70170_p, p_70037_1_); } -@@ -425,7 +426,7 @@ +@@ -425,7 +_,7 @@ return false; } else { TileEntity tileentity = this.field_70170_p.func_175625_s(this.field_226369_bI_); diff --git a/patches/minecraft/net/minecraft/entity/passive/CatEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/CatEntity.java.patch index ced9143004..1cb7c4b961 100644 --- a/patches/minecraft/net/minecraft/entity/passive/CatEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/CatEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/CatEntity.java +++ b/net/minecraft/entity/passive/CatEntity.java -@@ -402,7 +402,7 @@ +@@ -402,7 +_,7 @@ } } else if (this.func_70877_b(itemstack)) { this.func_175505_a(p_230254_1_, itemstack); diff --git a/patches/minecraft/net/minecraft/entity/passive/FoxEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/FoxEntity.java.patch index 47e91c7df2..1863fc14a8 100644 --- a/patches/minecraft/net/minecraft/entity/passive/FoxEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/FoxEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/FoxEntity.java +++ b/net/minecraft/entity/passive/FoxEntity.java -@@ -761,7 +761,7 @@ +@@ -761,7 +_,7 @@ } protected void func_220730_m() { @@ -9,7 +9,7 @@ BlockState blockstate = FoxEntity.this.field_70170_p.func_180495_p(this.field_179494_b); if (blockstate.func_203425_a(Blocks.field_222434_lW)) { int i = blockstate.func_177229_b(SweetBerryBushBlock.field_220125_a); -@@ -1001,6 +1001,17 @@ +@@ -1001,6 +_,17 @@ protected void func_75388_i() { ServerWorld serverworld = (ServerWorld)this.field_75394_a; FoxEntity foxentity = (FoxEntity)this.field_75390_d.func_241840_a(serverworld, this.field_75391_e); diff --git a/patches/minecraft/net/minecraft/entity/passive/IronGolemEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/IronGolemEntity.java.patch index 499593bd4e..df48a617e8 100644 --- a/patches/minecraft/net/minecraft/entity/passive/IronGolemEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/IronGolemEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/IronGolemEntity.java +++ b/net/minecraft/entity/passive/IronGolemEntity.java -@@ -120,9 +120,10 @@ +@@ -120,9 +_,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_()); @@ -14,7 +14,7 @@ } } -@@ -149,6 +150,7 @@ +@@ -149,6 +_,7 @@ public void func_70037_a(CompoundNBT p_70037_1_) { super.func_70037_a(p_70037_1_); this.func_70849_f(p_70037_1_.func_74767_n("PlayerCreated")); diff --git a/patches/minecraft/net/minecraft/entity/passive/MooshroomEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/MooshroomEntity.java.patch index ee6bb4796c..2b7e0b0663 100644 --- a/patches/minecraft/net/minecraft/entity/passive/MooshroomEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/MooshroomEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/MooshroomEntity.java +++ b/net/minecraft/entity/passive/MooshroomEntity.java -@@ -41,7 +41,7 @@ +@@ -41,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import org.apache.commons.lang3.tuple.Pair; @@ -9,7 +9,7 @@ private static final DataParameter field_213449_bz = EntityDataManager.func_187226_a(MooshroomEntity.class, DataSerializers.field_187194_d); private Effect field_213450_bA; private int field_213447_bB; -@@ -100,7 +100,7 @@ +@@ -100,7 +_,7 @@ this.func_184185_a(soundevent, 1.0F, 1.0F); return ActionResultType.func_233537_a_(this.field_70170_p.field_72995_K); @@ -18,10 +18,11 @@ this.func_230263_a_(SoundCategory.PLAYERS); if (!this.field_70170_p.field_72995_K) { itemstack.func_222118_a(1, p_230254_1_, (p_213442_1_) -> { -@@ -235,6 +235,45 @@ +@@ -234,6 +_,45 @@ + return mooshroomentity$type2; } - ++ + @Override + public boolean isShearable(@javax.annotation.Nonnull ItemStack item, World world, BlockPos pos) { + return func_230262_K__(); @@ -60,7 +61,6 @@ + return java.util.Collections.emptyList(); + } + -+ + public static enum Type { RED("red", Blocks.field_150337_Q.func_176223_P()), - BROWN("brown", Blocks.field_150338_P.func_176223_P()); diff --git a/patches/minecraft/net/minecraft/entity/passive/OcelotEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/OcelotEntity.java.patch index 9aaa704005..92325163ae 100644 --- a/patches/minecraft/net/minecraft/entity/passive/OcelotEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/OcelotEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/OcelotEntity.java +++ b/net/minecraft/entity/passive/OcelotEntity.java -@@ -163,7 +163,7 @@ +@@ -163,7 +_,7 @@ if ((this.field_70914_e == null || this.field_70914_e.func_75277_f()) && !this.func_213530_dX() && this.func_70877_b(itemstack) && p_230254_1_.func_70068_e(this) < 9.0D) { this.func_175505_a(p_230254_1_, itemstack); if (!this.field_70170_p.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/entity/passive/ParrotEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/ParrotEntity.java.patch index 720f26f9f2..b3d906b96a 100644 --- a/patches/minecraft/net/minecraft/entity/passive/ParrotEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/ParrotEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/ParrotEntity.java +++ b/net/minecraft/entity/passive/ParrotEntity.java -@@ -237,7 +237,7 @@ +@@ -237,7 +_,7 @@ } if (!this.field_70170_p.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/entity/passive/PigEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/PigEntity.java.patch index 4b1c7b184a..67b028fc3a 100644 --- a/patches/minecraft/net/minecraft/entity/passive/PigEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/PigEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/PigEntity.java +++ b/net/minecraft/entity/passive/PigEntity.java -@@ -203,7 +203,7 @@ +@@ -203,7 +_,7 @@ } public void func_241841_a(ServerWorld p_241841_1_, LightningBoltEntity p_241841_2_) { @@ -9,7 +9,7 @@ ZombifiedPiglinEntity zombifiedpiglinentity = EntityType.field_233592_ba_.func_200721_a(p_241841_1_); zombifiedpiglinentity.func_184201_a(EquipmentSlotType.MAINHAND, new ItemStack(Items.field_151010_B)); zombifiedpiglinentity.func_70012_b(this.func_226277_ct_(), this.func_226278_cu_(), this.func_226281_cx_(), this.field_70177_z, this.field_70125_A); -@@ -215,6 +215,7 @@ +@@ -215,6 +_,7 @@ } zombifiedpiglinentity.func_110163_bv(); diff --git a/patches/minecraft/net/minecraft/entity/passive/PolarBearEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/PolarBearEntity.java.patch index 0f2e001fe1..22a283dd86 100644 --- a/patches/minecraft/net/minecraft/entity/passive/PolarBearEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/PolarBearEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/PolarBearEntity.java +++ b/net/minecraft/entity/passive/PolarBearEntity.java -@@ -103,6 +103,7 @@ +@@ -103,6 +_,7 @@ public void func_70037_a(CompoundNBT p_70037_1_) { super.func_70037_a(p_70037_1_); diff --git a/patches/minecraft/net/minecraft/entity/passive/RabbitEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/RabbitEntity.java.patch index a9da8afeaf..940026f84a 100644 --- a/patches/minecraft/net/minecraft/entity/passive/RabbitEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/RabbitEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/RabbitEntity.java +++ b/net/minecraft/entity/passive/RabbitEntity.java -@@ -500,7 +500,7 @@ +@@ -500,7 +_,7 @@ public boolean func_75250_a() { if (this.field_179496_a <= 0) { diff --git a/patches/minecraft/net/minecraft/entity/passive/SheepEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/SheepEntity.java.patch index e1f8e7666a..ad28093068 100644 --- a/patches/minecraft/net/minecraft/entity/passive/SheepEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/SheepEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/SheepEntity.java +++ b/net/minecraft/entity/passive/SheepEntity.java -@@ -61,7 +61,7 @@ +@@ -61,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ private static final DataParameter field_184774_bv = EntityDataManager.func_187226_a(SheepEntity.class, DataSerializers.field_187191_a); private static final Map field_200206_bz = Util.func_200696_a(Maps.newEnumMap(DyeColor.class), (p_203402_0_) -> { p_203402_0_.put(DyeColor.WHITE, Blocks.field_196556_aL); -@@ -216,7 +216,7 @@ +@@ -216,7 +_,7 @@ public ActionResultType func_230254_b_(PlayerEntity p_230254_1_, Hand p_230254_2_) { ItemStack itemstack = p_230254_1_.func_184586_b(p_230254_2_); @@ -18,10 +18,11 @@ if (!this.field_70170_p.field_72995_K && this.func_230262_K__()) { this.func_230263_a_(SoundCategory.PLAYERS); itemstack.func_222118_a(1, p_230254_1_, (p_213613_1_) -> { -@@ -361,4 +361,26 @@ +@@ -360,5 +_,27 @@ + protected float func_213348_b(Pose p_213348_1_, EntitySize p_213348_2_) { return 0.95F * p_213348_2_.field_220316_b; - } ++ } + + @Override + public boolean isShearable(@javax.annotation.Nonnull ItemStack item, World world, BlockPos pos) { @@ -43,5 +44,5 @@ + return items; + } + return java.util.Collections.emptyList(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/passive/SnowGolemEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/SnowGolemEntity.java.patch index 5f688da8fd..29d6ae7e77 100644 --- a/patches/minecraft/net/minecraft/entity/passive/SnowGolemEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/SnowGolemEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/SnowGolemEntity.java +++ b/net/minecraft/entity/passive/SnowGolemEntity.java -@@ -40,7 +40,7 @@ +@@ -40,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ private static final DataParameter field_184749_a = EntityDataManager.func_187226_a(SnowGolemEntity.class, DataSerializers.field_187191_a); public SnowGolemEntity(EntityType p_i50244_1_, World p_i50244_2_) { -@@ -93,7 +93,7 @@ +@@ -93,7 +_,7 @@ this.func_70097_a(DamageSource.field_76370_b, 1.0F); } @@ -18,7 +18,7 @@ return; } -@@ -104,7 +104,7 @@ +@@ -104,7 +_,7 @@ j = MathHelper.func_76128_c(this.func_226278_cu_()); k = MathHelper.func_76128_c(this.func_226281_cx_() + (double)((float)(l / 2 % 2 * 2 - 1) * 0.25F)); BlockPos blockpos = new BlockPos(i, j, k); @@ -27,7 +27,7 @@ this.field_70170_p.func_175656_a(blockpos, blockstate); } } -@@ -130,7 +130,7 @@ +@@ -130,7 +_,7 @@ protected ActionResultType func_230254_b_(PlayerEntity p_230254_1_, Hand p_230254_2_) { ItemStack itemstack = p_230254_1_.func_184586_b(p_230254_2_); @@ -36,10 +36,11 @@ this.func_230263_a_(SoundCategory.PLAYERS); if (!this.field_70170_p.field_72995_K) { itemstack.func_222118_a(1, p_230254_1_, (p_213622_1_) -> { -@@ -190,4 +190,20 @@ +@@ -189,5 +_,21 @@ + @OnlyIn(Dist.CLIENT) public Vector3d func_241205_ce_() { return new Vector3d(0.0D, (double)(0.75F * this.func_70047_e()), (double)(this.func_213311_cf() * 0.4F)); - } ++ } + + @Override + public boolean isShearable(@javax.annotation.Nonnull ItemStack item, World world, BlockPos pos) { @@ -55,5 +56,5 @@ + return java.util.Collections.singletonList(new ItemStack(Items.field_221689_cG)); + } + return java.util.Collections.emptyList(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/passive/WolfEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/WolfEntity.java.patch index 12a6605336..8ed2119483 100644 --- a/patches/minecraft/net/minecraft/entity/passive/WolfEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/WolfEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/WolfEntity.java +++ b/net/minecraft/entity/passive/WolfEntity.java -@@ -133,6 +133,7 @@ +@@ -133,6 +_,7 @@ this.func_175547_a(DyeColor.func_196056_a(p_70037_1_.func_74762_e("CollarColor"))); } @@ -8,7 +8,7 @@ this.func_241358_a_((ServerWorld)this.field_70170_p, p_70037_1_); } -@@ -347,7 +348,7 @@ +@@ -347,7 +_,7 @@ itemstack.func_190918_g(1); } diff --git a/patches/minecraft/net/minecraft/entity/passive/horse/AbstractHorseEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/horse/AbstractHorseEntity.java.patch index 9311d219f3..3abd48c5de 100644 --- a/patches/minecraft/net/minecraft/entity/passive/horse/AbstractHorseEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/horse/AbstractHorseEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/horse/AbstractHorseEntity.java +++ b/net/minecraft/entity/passive/horse/AbstractHorseEntity.java -@@ -276,6 +276,7 @@ +@@ -276,6 +_,7 @@ this.field_110296_bG.func_110134_a(this); this.func_230275_fc_(); @@ -8,7 +8,7 @@ } protected void func_230275_fc_() { -@@ -334,9 +335,9 @@ +@@ -334,9 +_,9 @@ protected void func_180429_a(BlockPos p_180429_1_, BlockState p_180429_2_) { if (!p_180429_2_.func_185904_a().func_76224_d()) { BlockState blockstate = this.field_70170_p.func_180495_p(p_180429_1_.func_177984_a()); @@ -20,7 +20,7 @@ } if (this.func_184207_aI() && this.field_190688_bE) { -@@ -694,6 +695,7 @@ +@@ -694,6 +_,7 @@ this.func_213293_j(vector3d.field_72450_a, d1, vector3d.field_72449_c); this.func_110255_k(true); this.field_70160_al = true; @@ -28,10 +28,11 @@ if (f1 > 0.0F) { float f2 = MathHelper.func_76126_a(this.field_70177_z * ((float)Math.PI / 180F)); float f3 = MathHelper.func_76134_b(this.field_70177_z * ((float)Math.PI / 180F)); -@@ -1010,4 +1012,23 @@ +@@ -1009,5 +_,24 @@ + this.func_230273_eI_(); return super.func_213386_a(p_213386_1_, p_213386_2_, p_213386_3_, p_213386_4_, p_213386_5_); - } ++ } + + private net.minecraftforge.common.util.LazyOptional itemHandler = null; + @@ -50,5 +51,5 @@ + itemHandler = null; + oldHandler.invalidate(); + } -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/passive/horse/HorseEntity.java.patch b/patches/minecraft/net/minecraft/entity/passive/horse/HorseEntity.java.patch index c2b33ef338..13849e8b68 100644 --- a/patches/minecraft/net/minecraft/entity/passive/horse/HorseEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/passive/horse/HorseEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/passive/horse/HorseEntity.java +++ b/net/minecraft/entity/passive/horse/HorseEntity.java -@@ -139,6 +139,8 @@ +@@ -139,6 +_,8 @@ this.func_184185_a(SoundEvents.field_187705_cn, p_190680_1_.func_185843_a() * 0.6F, p_190680_1_.func_185847_b()); } diff --git a/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch b/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch index 8109b0e222..2667ad5310 100644 --- a/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/PlayerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/player/PlayerEntity.java +++ b/net/minecraft/entity/player/PlayerEntity.java -@@ -110,6 +110,7 @@ +@@ -110,6 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; public abstract class PlayerEntity extends LivingEntity { @@ -8,7 +8,7 @@ public static final EntitySize field_213835_bs = EntitySize.func_220314_b(0.6F, 1.8F); private static final Map field_213836_b = ImmutableMap.builder().put(Pose.STANDING, field_213835_bs).put(Pose.SLEEPING, field_213377_as).put(Pose.FALL_FLYING, EntitySize.func_220314_b(0.6F, 0.6F)).put(Pose.SWIMMING, EntitySize.func_220314_b(0.6F, 0.6F)).put(Pose.SPIN_ATTACK, EntitySize.func_220314_b(0.6F, 0.6F)).put(Pose.CROUCHING, EntitySize.func_220314_b(0.6F, 1.5F)).put(Pose.DYING, EntitySize.func_220311_c(0.2F, 0.2F)).build(); private static final DataParameter field_184829_a = EntityDataManager.func_187226_a(PlayerEntity.class, DataSerializers.field_187193_c); -@@ -150,6 +151,9 @@ +@@ -150,6 +_,9 @@ private final CooldownTracker field_184832_bU = this.func_184815_l(); @Nullable public FishingBobberEntity field_71104_cf; @@ -18,7 +18,7 @@ public PlayerEntity(World p_i241920_1_, BlockPos p_i241920_2_, float p_i241920_3_, GameProfile p_i241920_4_) { super(EntityType.field_200729_aH, p_i241920_1_); -@@ -175,7 +179,7 @@ +@@ -175,7 +_,7 @@ } public static AttributeModifierMap.MutableAttribute func_234570_el_() { @@ -27,7 +27,7 @@ } protected void func_70088_a() { -@@ -189,6 +193,7 @@ +@@ -189,6 +_,7 @@ } public void func_70071_h_() { @@ -35,7 +35,7 @@ this.field_70145_X = this.func_175149_v(); if (this.func_175149_v()) { this.field_70122_E = false; -@@ -204,7 +209,7 @@ +@@ -204,7 +_,7 @@ this.field_71076_b = 100; } @@ -44,7 +44,7 @@ this.func_225652_a_(false, true); } } else if (this.field_71076_b > 0) { -@@ -258,6 +263,7 @@ +@@ -258,6 +_,7 @@ this.func_203041_m(); this.field_184832_bU.func_185144_a(); this.func_213832_dB(); @@ -52,7 +52,7 @@ } public boolean func_226563_dT_() { -@@ -333,6 +339,10 @@ +@@ -333,6 +_,10 @@ } protected void func_213832_dB() { @@ -63,7 +63,7 @@ if (this.func_213298_c(Pose.SWIMMING)) { Pose pose; if (this.func_184613_cA()) { -@@ -550,6 +560,7 @@ +@@ -550,6 +_,7 @@ } public void func_70645_a(DamageSource p_70645_1_) { @@ -71,7 +71,7 @@ super.func_70645_a(p_70645_1_); this.func_226264_Z_(); if (!this.func_175149_v()) { -@@ -603,12 +614,14 @@ +@@ -603,12 +_,14 @@ } public boolean func_225609_n_(boolean p_225609_1_) { @@ -88,7 +88,7 @@ } @Nullable -@@ -646,7 +659,12 @@ +@@ -646,7 +_,12 @@ } } @@ -101,7 +101,7 @@ float f = this.field_71071_by.func_184438_a(p_184813_1_); if (f > 1.0F) { int i = EnchantmentHelper.func_185293_e(this); -@@ -688,11 +706,12 @@ +@@ -688,11 +_,12 @@ f /= 5.0F; } @@ -115,7 +115,7 @@ } public void func_70037_a(CompoundNBT p_70037_1_) { -@@ -767,6 +786,7 @@ +@@ -767,6 +_,7 @@ } public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { @@ -123,7 +123,7 @@ if (this.func_180431_b(p_70097_1_)) { return false; } else if (this.field_71075_bZ.field_75102_a && !p_70097_1_.func_76357_e()) { -@@ -798,7 +818,7 @@ +@@ -798,7 +_,7 @@ protected void func_190629_c(LivingEntity p_190629_1_) { super.func_190629_c(p_190629_1_); @@ -132,7 +132,7 @@ this.func_190777_m(true); } -@@ -819,7 +839,7 @@ +@@ -819,7 +_,7 @@ } protected void func_184590_k(float p_184590_1_) { @@ -141,7 +141,7 @@ if (!this.field_70170_p.field_72995_K) { this.func_71029_a(Stats.field_75929_E.func_199076_b(this.field_184627_bm.func_77973_b())); } -@@ -829,6 +849,7 @@ +@@ -829,6 +_,7 @@ Hand hand = this.func_184600_cs(); this.field_184627_bm.func_222118_a(i, this, (p_213833_1_) -> { p_213833_1_.func_213334_d(hand); @@ -149,7 +149,7 @@ }); if (this.field_184627_bm.func_190926_b()) { if (hand == Hand.MAIN_HAND) { -@@ -847,10 +868,13 @@ +@@ -847,10 +_,13 @@ protected void func_70665_d(DamageSource p_70665_1_, float p_70665_2_) { if (!this.func_180431_b(p_70665_1_)) { @@ -163,7 +163,7 @@ float f = p_70665_2_ - f2; if (f > 0.0F && f < 3.4028235E37F) { this.func_195067_a(Stats.field_212738_J, Math.round(f * 10.0F)); -@@ -909,6 +933,8 @@ +@@ -909,6 +_,8 @@ return ActionResultType.PASS; } else { @@ -172,7 +172,7 @@ ItemStack itemstack = this.func_184586_b(p_190775_2_); ItemStack itemstack1 = itemstack.func_77946_l(); ActionResultType actionresulttype = p_190775_1_.func_184230_a(this, p_190775_2_); -@@ -917,6 +943,9 @@ +@@ -917,6 +_,9 @@ itemstack.func_190920_e(itemstack1.func_190916_E()); } @@ -182,7 +182,7 @@ return actionresulttype; } else { if (!itemstack.func_190926_b() && p_190775_1_ instanceof LivingEntity) { -@@ -927,6 +956,7 @@ +@@ -927,6 +_,7 @@ ActionResultType actionresulttype1 = itemstack.func_111282_a_(this, (LivingEntity)p_190775_1_, p_190775_2_); if (actionresulttype1.func_226246_a_()) { if (itemstack.func_190926_b() && !this.field_71075_bZ.field_75098_d) { @@ -190,7 +190,7 @@ this.func_184611_a(p_190775_2_, ItemStack.field_190927_a); } -@@ -1011,6 +1041,7 @@ +@@ -1011,6 +_,7 @@ } public void func_71059_n(Entity p_71059_1_) { @@ -198,7 +198,7 @@ if (p_71059_1_.func_70075_an()) { if (!p_71059_1_.func_85031_j(this)) { float f = (float)this.func_233637_b_(Attributes.field_233823_f_); -@@ -1038,8 +1069,10 @@ +@@ -1038,8 +_,10 @@ boolean flag2 = flag && this.field_70143_R > 0.0F && !this.field_70122_E && !this.func_70617_f_() && !this.func_70090_H() && !this.func_70644_a(Effects.field_76440_q) && !this.func_184218_aH() && p_71059_1_ instanceof LivingEntity; flag2 = flag2 && !this.func_70051_ag(); @@ -210,7 +210,7 @@ } f = f + f1; -@@ -1122,13 +1155,15 @@ +@@ -1122,13 +_,15 @@ EnchantmentHelper.func_151385_b(this, p_71059_1_); ItemStack itemstack1 = this.func_184614_ca(); Entity entity = p_71059_1_; @@ -228,7 +228,7 @@ this.func_184611_a(Hand.MAIN_HAND, ItemStack.field_190927_a); } } -@@ -1170,7 +1205,7 @@ +@@ -1170,7 +_,7 @@ } if (this.field_70146_Z.nextFloat() < f) { @@ -237,7 +237,7 @@ this.func_184602_cy(); this.field_70170_p.func_72960_a(this, (byte)30); } -@@ -1196,8 +1231,9 @@ +@@ -1196,8 +_,9 @@ public void func_71004_bE() { } @@ -249,7 +249,7 @@ this.field_71069_bz.func_75134_a(this); if (this.field_71070_bA != null) { this.field_71070_bA.func_75134_a(this); -@@ -1220,6 +1256,7 @@ +@@ -1220,6 +_,7 @@ } public void func_225652_a_(boolean p_225652_1_, boolean p_225652_2_) { @@ -257,7 +257,7 @@ super.func_213366_dy(); if (this.field_70170_p instanceof ServerWorld && p_225652_2_) { ((ServerWorld)this.field_70170_p).func_72854_c(); -@@ -1242,8 +1279,8 @@ +@@ -1242,8 +_,8 @@ } return optional; @@ -268,7 +268,7 @@ } else if (!p_242374_3_) { return Optional.empty(); } else { -@@ -1425,6 +1462,7 @@ +@@ -1425,6 +_,7 @@ public boolean func_225503_b_(float p_225503_1_, float p_225503_2_) { if (this.field_71075_bZ.field_75101_c) { @@ -276,7 +276,7 @@ return false; } else { if (p_225503_1_ >= 2.0F) { -@@ -1438,7 +1476,7 @@ +@@ -1438,7 +_,7 @@ public boolean func_226566_ei_() { if (!this.field_70122_E && !this.func_184613_cA() && !this.func_70090_H() && !this.func_70644_a(Effects.field_188424_y)) { ItemStack itemstack = this.func_184582_a(EquipmentSlotType.CHEST); @@ -285,7 +285,7 @@ this.func_226567_ej_(); return true; } -@@ -1479,6 +1517,10 @@ +@@ -1479,6 +_,10 @@ } public void func_195068_e(int p_195068_1_) { @@ -296,7 +296,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); -@@ -1507,7 +1549,7 @@ +@@ -1507,7 +_,7 @@ } public void func_192024_a(ItemStack p_192024_1_, int p_192024_2_) { @@ -305,7 +305,7 @@ if (this.field_71068_ca < 0) { this.field_71068_ca = 0; this.field_71106_cc = 0.0F; -@@ -1518,6 +1560,10 @@ +@@ -1518,6 +_,10 @@ } public void func_82242_a(int p_82242_1_) { @@ -316,7 +316,7 @@ this.field_71068_ca += p_82242_1_; if (this.field_71068_ca < 0) { this.field_71068_ca = 0; -@@ -1708,7 +1754,11 @@ +@@ -1708,7 +_,11 @@ } public ITextComponent func_145748_c_() { @@ -329,10 +329,11 @@ return this.func_208016_c(iformattabletextcomponent); } -@@ -1987,4 +2037,62 @@ +@@ -1986,5 +_,63 @@ + public ITextComponent func_221259_a() { return this.field_221260_g; } - } ++ } + + // =========== FORGE START ==============// + public Collection getPrefixes() { @@ -390,5 +391,5 @@ + @Nullable + public Pose getForcedPose() { + return this.forcedPose; -+ } + } } diff --git a/patches/minecraft/net/minecraft/entity/player/PlayerInventory.java.patch b/patches/minecraft/net/minecraft/entity/player/PlayerInventory.java.patch index 35699da3f3..06061c7b6f 100644 --- a/patches/minecraft/net/minecraft/entity/player/PlayerInventory.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/PlayerInventory.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/player/PlayerInventory.java +++ b/net/minecraft/entity/player/PlayerInventory.java -@@ -187,7 +187,8 @@ +@@ -187,7 +_,8 @@ int i = p_191973_2_.func_190916_E(); ItemStack itemstack = this.func_70301_a(p_191973_1_); if (itemstack.func_190926_b()) { @@ -10,7 +10,7 @@ if (p_191973_2_.func_77942_o()) { itemstack.func_77982_d(p_191973_2_.func_77978_p().func_74737_b()); } -@@ -238,7 +239,7 @@ +@@ -238,7 +_,7 @@ } } } @@ -19,7 +19,7 @@ } public boolean func_70441_a(ItemStack p_70441_1_) { -@@ -287,6 +288,8 @@ +@@ -287,6 +_,8 @@ } catch (Throwable throwable) { CrashReport crashreport = CrashReport.func_85055_a(throwable, "Adding item to inventory"); CrashReportCategory crashreportcategory = crashreport.func_85058_a("Item being added"); diff --git a/patches/minecraft/net/minecraft/entity/player/ServerPlayerEntity.java.patch b/patches/minecraft/net/minecraft/entity/player/ServerPlayerEntity.java.patch index 7e13c10577..9b24ecb25b 100644 --- a/patches/minecraft/net/minecraft/entity/player/ServerPlayerEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/player/ServerPlayerEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/player/ServerPlayerEntity.java +++ b/net/minecraft/entity/player/ServerPlayerEntity.java -@@ -475,6 +475,7 @@ +@@ -475,6 +_,7 @@ } public void func_70645_a(DamageSource p_70645_1_) { @@ -8,7 +8,7 @@ boolean flag = this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223609_l); if (flag) { ITextComponent itextcomponent = this.func_110142_aN().func_151521_b(); -@@ -618,13 +619,14 @@ +@@ -618,13 +_,14 @@ } @Nullable @@ -26,7 +26,7 @@ if (!this.field_71136_j) { this.field_71136_j = true; this.field_71135_a.func_147359_a(new SChangeGameStatePacket(SChangeGameStatePacket.field_241768_e_, this.field_192040_cp ? 0.0F : 1.0F)); -@@ -638,14 +640,15 @@ +@@ -638,14 +_,15 @@ this.field_71135_a.func_147359_a(new SServerDifficultyPacket(iworldinfo.func_176130_y(), iworldinfo.func_176123_z())); PlayerList playerlist = this.field_71133_b.func_184103_al(); playerlist.func_187243_f(this); @@ -46,7 +46,7 @@ this.func_242110_a(p_241206_1_, new BlockPos(portalinfo.field_222505_a)); } -@@ -657,6 +660,9 @@ +@@ -657,6 +_,9 @@ this.func_225653_b_(portalinfo.field_222505_a.field_72450_a, portalinfo.field_222505_a.field_72448_b, portalinfo.field_222505_a.field_72449_c); serverworld.func_217381_Z().func_76319_b(); this.func_213846_b(serverworld); @@ -56,7 +56,7 @@ this.field_71134_c.func_73080_a(p_241206_1_); this.field_71135_a.func_147359_a(new SPlayerAbilitiesPacket(this.field_71075_bZ)); playerlist.func_72354_b(this, p_241206_1_); -@@ -670,6 +676,7 @@ +@@ -670,6 +_,7 @@ this.field_71144_ck = -1; this.field_71149_ch = -1.0F; this.field_71146_ci = -1; @@ -64,7 +64,7 @@ } return this; -@@ -743,6 +750,9 @@ +@@ -743,6 +_,9 @@ } public Either func_213819_a(BlockPos p_213819_1_) { @@ -74,7 +74,7 @@ Direction direction = this.field_70170_p.func_180495_p(p_213819_1_).func_177229_b(HorizontalBlock.field_185512_D); if (!this.func_70608_bn() && this.func_70089_S()) { if (!this.field_70170_p.func_230315_m_().func_236043_f_()) { -@@ -753,7 +763,7 @@ +@@ -753,7 +_,7 @@ return Either.left(PlayerEntity.SleepResult.OBSTRUCTED); } else { this.func_242111_a(this.field_70170_p.func_234923_W_(), p_213819_1_, this.field_70177_z, false, true); @@ -83,7 +83,7 @@ return Either.left(PlayerEntity.SleepResult.NOT_POSSIBLE_NOW); } else { if (!this.func_184812_l_()) { -@@ -787,6 +797,7 @@ +@@ -787,6 +_,7 @@ } private boolean func_241147_a_(BlockPos p_241147_1_, Direction p_241147_2_) { @@ -91,7 +91,7 @@ return this.func_241158_g_(p_241147_1_) || this.func_241158_g_(p_241147_1_.func_177972_a(p_241147_2_.func_176734_d())); } -@@ -886,6 +897,7 @@ +@@ -886,6 +_,7 @@ this.field_71135_a.func_147359_a(new SOpenWindowPacket(container.field_75152_c, container.func_216957_a(), p_213829_1_.func_145748_c_())); container.func_75132_a(this); this.field_71070_bA = container; @@ -99,7 +99,7 @@ return OptionalInt.of(this.field_71139_cq); } } -@@ -904,6 +916,7 @@ +@@ -904,6 +_,7 @@ this.field_71135_a.func_147359_a(new SOpenHorseWindowPacket(this.field_71139_cq, p_184826_2_.func_70302_i_(), p_184826_1_.func_145782_y())); this.field_71070_bA = new HorseInventoryContainer(this.field_71139_cq, this.field_71071_by, p_184826_2_, p_184826_1_); this.field_71070_bA.func_75132_a(this); @@ -107,7 +107,7 @@ } public void func_184814_a(ItemStack p_184814_1_, Hand p_184814_2_) { -@@ -961,6 +974,7 @@ +@@ -961,6 +_,7 @@ public void func_71128_l() { this.field_71070_bA.func_75134_a(this); @@ -115,7 +115,7 @@ this.field_71070_bA = this.field_71069_bz; } -@@ -1085,6 +1099,13 @@ +@@ -1085,6 +_,13 @@ this.field_193110_cw = p_193104_1_.field_193110_cw; this.func_192029_h(p_193104_1_.func_192023_dk()); this.func_192031_i(p_193104_1_.func_192025_dl()); @@ -129,7 +129,7 @@ } protected void func_70670_a(EffectInstance p_70670_1_) { -@@ -1143,6 +1164,7 @@ +@@ -1143,6 +_,7 @@ } public void func_71033_a(GameType p_71033_1_) { @@ -137,15 +137,15 @@ this.field_71134_c.func_73076_a(p_71033_1_); this.field_71135_a.func_147359_a(new SChangeGameStatePacket(SChangeGameStatePacket.field_241767_d_, (float)p_71033_1_.func_77148_a())); if (p_71033_1_ == GameType.SPECTATOR) { -@@ -1191,6 +1213,7 @@ +@@ -1191,6 +_,7 @@ this.field_71140_co = p_147100_1_.func_149520_f(); this.func_184212_Q().func_187227_b(field_184827_bp, (byte)p_147100_1_.func_149521_d()); this.func_184212_Q().func_187227_b(field_184828_bq, (byte)(p_147100_1_.func_186991_f() == HandSide.LEFT ? 0 : 1)); -+ this.language = p_147100_1_.getLanguage(); ++ this.language = p_147100_1_.func_149524_c(); } public ChatVisibility func_147096_v() { -@@ -1301,14 +1324,14 @@ +@@ -1301,14 +_,14 @@ this.func_184210_p(); if (p_200619_1_ == this.field_70170_p) { this.field_71135_a.func_147364_a(p_200619_2_, p_200619_4_, p_200619_6_, p_200619_8_, p_200619_9_); @@ -163,7 +163,7 @@ this.func_70012_b(p_200619_2_, p_200619_4_, p_200619_6_, p_200619_8_, p_200619_9_); this.func_70029_a(p_200619_1_); p_200619_1_.func_217446_a(this); -@@ -1317,6 +1340,7 @@ +@@ -1317,6 +_,7 @@ this.field_71134_c.func_73080_a(p_200619_1_); this.field_71133_b.func_184103_al().func_72354_b(this, p_200619_1_); this.field_71133_b.func_184103_al().func_72385_f(this); @@ -171,7 +171,7 @@ } } -@@ -1339,6 +1363,7 @@ +@@ -1339,6 +_,7 @@ } public void func_242111_a(RegistryKey p_242111_1_, @Nullable BlockPos p_242111_2_, float p_242111_3_, boolean p_242111_4_, boolean p_242111_5_) { @@ -179,7 +179,7 @@ if (p_242111_2_ != null) { boolean flag = p_242111_2_.equals(this.field_241138_cr_) && p_242111_1_.equals(this.field_241137_cq_); if (p_242111_5_ && !flag) { -@@ -1391,6 +1416,8 @@ +@@ -1391,6 +_,8 @@ if (itementity == null) { return null; } else { @@ -188,10 +188,12 @@ this.field_70170_p.func_217376_c(itementity); ItemStack itemstack = itementity.func_92059_d(); if (p_146097_3_) { -@@ -1405,6 +1432,15 @@ - } - } +@@ -1403,6 +_,15 @@ + return itementity; + } ++ } ++ + private String language = "en_us"; + /** + * Returns the language last reported by the player as their local language. @@ -199,8 +201,6 @@ + */ + public String getLanguage() { + return this.language; -+ } -+ + } + @Nullable - public IChatFilter func_244529_Q() { - return this.field_244528_co; diff --git a/patches/minecraft/net/minecraft/entity/projectile/AbstractArrowEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/AbstractArrowEntity.java.patch index a60a648179..0673d08cbf 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/AbstractArrowEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/AbstractArrowEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/AbstractArrowEntity.java +++ b/net/minecraft/entity/projectile/AbstractArrowEntity.java -@@ -130,7 +130,7 @@ +@@ -130,7 +_,7 @@ BlockPos blockpos = this.func_233580_cy_(); BlockState blockstate = this.field_70170_p.func_180495_p(blockpos); @@ -9,7 +9,7 @@ VoxelShape voxelshape = blockstate.func_196952_d(this.field_70170_p, blockpos); if (!voxelshape.func_197766_b()) { Vector3d vector3d1 = this.func_213303_ch(); -@@ -184,7 +184,7 @@ +@@ -184,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/entity/projectile/DamagingProjectileEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/DamagingProjectileEntity.java.patch index 68a4f59850..b74745ae7a 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/DamagingProjectileEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/DamagingProjectileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/DamagingProjectileEntity.java +++ b/net/minecraft/entity/projectile/DamagingProjectileEntity.java -@@ -68,7 +68,7 @@ +@@ -68,7 +_,7 @@ } RayTraceResult raytraceresult = ProjectileHelper.func_234618_a_(this, this::func_230298_a_); diff --git a/patches/minecraft/net/minecraft/entity/projectile/FireballEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/FireballEntity.java.patch index 7a057ff726..6c0a59a6d9 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/FireballEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/FireballEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/FireballEntity.java +++ b/net/minecraft/entity/projectile/FireballEntity.java -@@ -32,7 +32,7 @@ +@@ -32,7 +_,7 @@ protected void func_70227_a(RayTraceResult p_70227_1_) { super.func_70227_a(p_70227_1_); if (!this.field_70170_p.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/entity/projectile/FireworkRocketEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/FireworkRocketEntity.java.patch index 770a97e49e..984c43e959 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/FireworkRocketEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/FireworkRocketEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/FireworkRocketEntity.java +++ b/net/minecraft/entity/projectile/FireworkRocketEntity.java -@@ -156,6 +156,13 @@ +@@ -156,6 +_,13 @@ } diff --git a/patches/minecraft/net/minecraft/entity/projectile/FishingBobberEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/FishingBobberEntity.java.patch index 285800fa74..c0c365f054 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/FishingBobberEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/FishingBobberEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/FishingBobberEntity.java +++ b/net/minecraft/entity/projectile/FishingBobberEntity.java -@@ -300,7 +300,7 @@ +@@ -300,7 +_,7 @@ double d1 = (double)((float)MathHelper.func_76128_c(this.func_226278_cu_()) + 1.0F); double d2 = this.func_226281_cx_() + (double)(f2 * (float)this.field_146038_az * 0.1F); BlockState blockstate = serverworld.func_180495_p(new BlockPos(d0, d1 - 1.0D, d2)); @@ -9,7 +9,7 @@ if (this.field_70146_Z.nextFloat() < 0.15F) { serverworld.func_195598_a(ParticleTypes.field_197612_e, d0, d1 - (double)0.1F, d2, 1, (double)f1, 0.1D, (double)f2, 0.0D); } -@@ -336,7 +336,7 @@ +@@ -336,7 +_,7 @@ double d5 = (double)((float)MathHelper.func_76128_c(this.func_226278_cu_()) + 1.0F); double d6 = this.func_226281_cx_() + (double)(MathHelper.func_76134_b(f6) * f7 * 0.1F); BlockState blockstate1 = serverworld.func_180495_p(new BlockPos(d4, d5 - 1.0D, d6)); @@ -18,7 +18,7 @@ serverworld.func_195598_a(ParticleTypes.field_218422_X, d4, d5, d6, 2 + this.field_70146_Z.nextInt(2), (double)0.1F, 0.0D, (double)0.1F, 0.0D); } } -@@ -407,6 +407,7 @@ +@@ -407,6 +_,7 @@ PlayerEntity playerentity = this.func_234606_i_(); if (!this.field_70170_p.field_72995_K && playerentity != null) { int i = 0; @@ -26,7 +26,7 @@ if (this.field_146043_c != null) { this.func_184527_k(); CriteriaTriggers.field_204811_D.func_204820_a((ServerPlayerEntity)playerentity, p_146034_1_, this, Collections.emptyList()); -@@ -414,8 +415,15 @@ +@@ -414,8 +_,15 @@ i = this.field_146043_c instanceof ItemEntity ? 3 : 5; } else if (this.field_146045_ax > 0) { LootContext.Builder lootcontext$builder = (new LootContext.Builder((ServerWorld)this.field_70170_p)).func_216015_a(LootParameters.field_237457_g_, this.func_213303_ch()).func_216015_a(LootParameters.field_216289_i, p_146034_1_).func_216015_a(LootParameters.field_216281_a, this).func_216023_a(this.field_70146_Z).func_186469_a((float)this.field_191518_aw + playerentity.func_184817_da()); @@ -42,7 +42,7 @@ CriteriaTriggers.field_204811_D.func_204820_a((ServerPlayerEntity)playerentity, p_146034_1_, this, list); for(ItemStack itemstack : list) { -@@ -440,7 +448,7 @@ +@@ -440,7 +_,7 @@ } this.func_70106_y(); @@ -51,7 +51,7 @@ } else { return 0; } -@@ -467,8 +475,9 @@ +@@ -467,8 +_,9 @@ return false; } diff --git a/patches/minecraft/net/minecraft/entity/projectile/LlamaSpitEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/LlamaSpitEntity.java.patch index 65992f4399..2796a5f539 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/LlamaSpitEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/LlamaSpitEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/LlamaSpitEntity.java +++ b/net/minecraft/entity/projectile/LlamaSpitEntity.java -@@ -46,7 +46,7 @@ +@@ -46,7 +_,7 @@ super.func_70071_h_(); Vector3d vector3d = this.func_213322_ci(); RayTraceResult raytraceresult = ProjectileHelper.func_234618_a_(this, this::func_230298_a_); diff --git a/patches/minecraft/net/minecraft/entity/projectile/ProjectileHelper.java.patch b/patches/minecraft/net/minecraft/entity/projectile/ProjectileHelper.java.patch index 55502d7955..11d717acc7 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/ProjectileHelper.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/ProjectileHelper.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/ProjectileHelper.java +++ b/net/minecraft/entity/projectile/ProjectileHelper.java -@@ -60,7 +60,7 @@ +@@ -60,7 +_,7 @@ Vector3d vector3d1 = optional.get(); double d1 = p_221273_1_.func_72436_e(vector3d1); if (d1 < d0 || d0 == 0.0D) { diff --git a/patches/minecraft/net/minecraft/entity/projectile/ShulkerBulletEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/ShulkerBulletEntity.java.patch index abb143b6a9..c66ab3fc9b 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/ShulkerBulletEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/ShulkerBulletEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/ShulkerBulletEntity.java +++ b/net/minecraft/entity/projectile/ShulkerBulletEntity.java -@@ -213,7 +213,7 @@ +@@ -213,7 +_,7 @@ } RayTraceResult raytraceresult = ProjectileHelper.func_234618_a_(this, this::func_230298_a_); diff --git a/patches/minecraft/net/minecraft/entity/projectile/SmallFireballEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/SmallFireballEntity.java.patch index 36135248d4..e0e91fecc9 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/SmallFireballEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/SmallFireballEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/SmallFireballEntity.java +++ b/net/minecraft/entity/projectile/SmallFireballEntity.java -@@ -49,7 +49,7 @@ +@@ -49,7 +_,7 @@ super.func_230299_a_(p_230299_1_); if (!this.field_70170_p.field_72995_K) { Entity entity = this.func_234616_v_(); diff --git a/patches/minecraft/net/minecraft/entity/projectile/ThrowableEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/ThrowableEntity.java.patch index 085367618a..523023ab00 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/ThrowableEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/ThrowableEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/ThrowableEntity.java +++ b/net/minecraft/entity/projectile/ThrowableEntity.java -@@ -63,7 +63,7 @@ +@@ -63,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/entity/projectile/WitherSkullEntity.java.patch b/patches/minecraft/net/minecraft/entity/projectile/WitherSkullEntity.java.patch index 50b7b8afed..18f799c607 100644 --- a/patches/minecraft/net/minecraft/entity/projectile/WitherSkullEntity.java.patch +++ b/patches/minecraft/net/minecraft/entity/projectile/WitherSkullEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/entity/projectile/WitherSkullEntity.java +++ b/net/minecraft/entity/projectile/WitherSkullEntity.java -@@ -48,7 +48,7 @@ +@@ -48,7 +_,7 @@ } public float func_180428_a(Explosion p_180428_1_, IBlockReader p_180428_2_, BlockPos p_180428_3_, BlockState p_180428_4_, FluidState p_180428_5_, float p_180428_6_) { @@ -9,7 +9,7 @@ } protected void func_213868_a(EntityRayTraceResult p_213868_1_) { -@@ -90,7 +90,7 @@ +@@ -90,7 +_,7 @@ protected void func_70227_a(RayTraceResult p_70227_1_) { super.func_70227_a(p_70227_1_); if (!this.field_70170_p.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/fluid/FlowingFluid.java.patch b/patches/minecraft/net/minecraft/fluid/FlowingFluid.java.patch index 6fcbd94ba0..d286905959 100644 --- a/patches/minecraft/net/minecraft/fluid/FlowingFluid.java.patch +++ b/patches/minecraft/net/minecraft/fluid/FlowingFluid.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/fluid/FlowingFluid.java +++ b/net/minecraft/fluid/FlowingFluid.java -@@ -159,7 +159,7 @@ +@@ -159,7 +_,7 @@ BlockState blockstate = p_205576_1_.func_180495_p(blockpos); FluidState fluidstate = blockstate.func_204520_s(); if (fluidstate.func_206886_c().func_207187_a(this) && this.func_212751_a(direction, p_205576_1_, p_205576_2_, p_205576_3_, blockpos, blockstate)) { @@ -9,7 +9,7 @@ ++j; } -@@ -167,7 +167,7 @@ +@@ -167,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/fluid/Fluid.java.patch b/patches/minecraft/net/minecraft/fluid/Fluid.java.patch index 4289db6236..deb579db9d 100644 --- a/patches/minecraft/net/minecraft/fluid/Fluid.java.patch +++ b/patches/minecraft/net/minecraft/fluid/Fluid.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/fluid/Fluid.java +++ b/net/minecraft/fluid/Fluid.java -@@ -18,7 +18,7 @@ +@@ -18,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ public static final ObjectIntIdentityMap field_207201_d = new ObjectIntIdentityMap<>(); protected final StateContainer field_207202_e; private FluidState field_207200_b; -@@ -98,4 +98,26 @@ +@@ -98,4 +_,26 @@ } public abstract VoxelShape func_215664_b(FluidState p_215664_1_, IBlockReader p_215664_2_, BlockPos p_215664_3_); diff --git a/patches/minecraft/net/minecraft/fluid/FluidState.java.patch b/patches/minecraft/net/minecraft/fluid/FluidState.java.patch index 3a6681b21d..7b81d2f34c 100644 --- a/patches/minecraft/net/minecraft/fluid/FluidState.java.patch +++ b/patches/minecraft/net/minecraft/fluid/FluidState.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/fluid/FluidState.java +++ b/net/minecraft/fluid/FluidState.java -@@ -20,7 +20,7 @@ +@@ -20,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ public static final Codec field_237213_a_ = func_235897_a_(Registry.field_212619_h, Fluid::func_207188_f).stable(); public FluidState(Fluid p_i232145_1_, ImmutableMap, Comparable> p_i232145_2_, MapCodec p_i232145_3_) { -@@ -101,6 +101,7 @@ +@@ -101,6 +_,7 @@ return this.func_206886_c().func_207185_a(p_206884_1_); } diff --git a/patches/minecraft/net/minecraft/fluid/LavaFluid.java.patch b/patches/minecraft/net/minecraft/fluid/LavaFluid.java.patch index e7d85695f8..cb5fe89770 100644 --- a/patches/minecraft/net/minecraft/fluid/LavaFluid.java.patch +++ b/patches/minecraft/net/minecraft/fluid/LavaFluid.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/fluid/LavaFluid.java +++ b/net/minecraft/fluid/LavaFluid.java -@@ -71,7 +71,7 @@ +@@ -71,7 +_,7 @@ BlockState blockstate = p_207186_1_.func_180495_p(blockpos); if (blockstate.func_196958_f()) { if (this.func_176369_e(p_207186_1_, blockpos)) { @@ -9,7 +9,7 @@ return; } } else if (blockstate.func_185904_a().func_76230_c()) { -@@ -86,7 +86,7 @@ +@@ -86,7 +_,7 @@ } if (p_207186_1_.func_175623_d(blockpos1.func_177984_a()) && this.func_176368_m(p_207186_1_, blockpos1)) { @@ -18,7 +18,7 @@ } } } -@@ -164,7 +164,7 @@ +@@ -164,7 +_,7 @@ FluidState fluidstate = p_205574_1_.func_204610_c(p_205574_2_); if (this.func_207185_a(FluidTags.field_206960_b) && fluidstate.func_206884_a(FluidTags.field_206959_a)) { if (p_205574_3_.func_177230_c() instanceof FlowingFluidBlock) { diff --git a/patches/minecraft/net/minecraft/fluid/WaterFluid.java.patch b/patches/minecraft/net/minecraft/fluid/WaterFluid.java.patch index 4b6fb30570..a6db9d5e5e 100644 --- a/patches/minecraft/net/minecraft/fluid/WaterFluid.java.patch +++ b/patches/minecraft/net/minecraft/fluid/WaterFluid.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/fluid/WaterFluid.java +++ b/net/minecraft/fluid/WaterFluid.java -@@ -60,7 +60,7 @@ +@@ -60,7 +_,7 @@ } protected void func_205580_a(IWorld p_205580_1_, BlockPos p_205580_2_, BlockState p_205580_3_) { diff --git a/patches/minecraft/net/minecraft/inventory/container/BeaconContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/BeaconContainer.java.patch index 858330d98f..c0c592d0c8 100644 --- a/patches/minecraft/net/minecraft/inventory/container/BeaconContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/BeaconContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/BeaconContainer.java +++ b/net/minecraft/inventory/container/BeaconContainer.java -@@ -87,10 +87,8 @@ +@@ -87,10 +_,8 @@ } slot.func_75220_a(itemstack1, itemstack); diff --git a/patches/minecraft/net/minecraft/inventory/container/BrewingStandContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/BrewingStandContainer.java.patch index 5f9380ffd8..2fca0ebca5 100644 --- a/patches/minecraft/net/minecraft/inventory/container/BrewingStandContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/BrewingStandContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/BrewingStandContainer.java +++ b/net/minecraft/inventory/container/BrewingStandContainer.java -@@ -143,7 +143,7 @@ +@@ -143,7 +_,7 @@ } public boolean func_75214_a(ItemStack p_75214_1_) { @@ -9,7 +9,7 @@ } public int func_75219_a() { -@@ -167,6 +167,7 @@ +@@ -167,6 +_,7 @@ public ItemStack func_190901_a(PlayerEntity p_190901_1_, ItemStack p_190901_2_) { Potion potion = PotionUtils.func_185191_c(p_190901_2_); if (p_190901_1_ instanceof ServerPlayerEntity) { @@ -17,7 +17,7 @@ CriteriaTriggers.field_192130_j.func_192173_a((ServerPlayerEntity)p_190901_1_, potion); } -@@ -175,8 +176,7 @@ +@@ -175,8 +_,7 @@ } public static boolean func_75243_a_(ItemStack p_75243_0_) { diff --git a/patches/minecraft/net/minecraft/inventory/container/Container.java.patch b/patches/minecraft/net/minecraft/inventory/container/Container.java.patch index 8be4c2cfd4..203131ecb0 100644 --- a/patches/minecraft/net/minecraft/inventory/container/Container.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/Container.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/Container.java +++ b/net/minecraft/inventory/container/Container.java -@@ -120,9 +120,11 @@ +@@ -120,9 +_,11 @@ ItemStack itemstack = this.field_75151_b.get(i).func_75211_c(); ItemStack itemstack1 = this.field_75153_a.get(i); if (!ItemStack.func_77989_b(itemstack1, itemstack)) { @@ -12,7 +12,7 @@ for(IContainerListener icontainerlistener : this.field_75149_d) { icontainerlistener.func_71111_a(this, i, itemstack2); } -@@ -500,14 +502,15 @@ +@@ -500,14 +_,15 @@ ItemStack itemstack = slot.func_75211_c(); if (!itemstack.func_190926_b() && func_195929_a(p_75135_1_, itemstack)) { int j = itemstack.func_190916_E() + p_75135_1_.func_190916_E(); @@ -32,7 +32,7 @@ slot.func_75218_e(); flag = true; } -@@ -608,7 +611,7 @@ +@@ -608,7 +_,7 @@ p_94525_2_.func_190920_e(1); break; case 2: diff --git a/patches/minecraft/net/minecraft/inventory/container/ContainerType.java.patch b/patches/minecraft/net/minecraft/inventory/container/ContainerType.java.patch index 2854c399b6..006a2c89cb 100644 --- a/patches/minecraft/net/minecraft/inventory/container/ContainerType.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/ContainerType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/ContainerType.java +++ b/net/minecraft/inventory/container/ContainerType.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,10 +9,11 @@ public static final ContainerType field_221507_a = func_221505_a("generic_9x1", ChestContainer::func_216986_a); public static final ContainerType field_221508_b = func_221505_a("generic_9x2", ChestContainer::func_216987_b); public static final ContainerType field_221509_c = func_221505_a("generic_9x3", ChestContainer::func_216988_c); -@@ -46,6 +46,14 @@ +@@ -45,6 +_,14 @@ + @OnlyIn(Dist.CLIENT) public T func_221506_a(int p_221506_1_, PlayerInventory p_221506_2_) { return this.field_221530_x.create(p_221506_1_, p_221506_2_); - } ++ } + + @Override + public T create(int windowId, PlayerInventory playerInv, net.minecraft.network.PacketBuffer extraData) { @@ -20,7 +21,6 @@ + return ((net.minecraftforge.fml.network.IContainerFactory) this.field_221530_x).create(windowId, playerInv, extraData); + } + return func_221506_a(windowId, playerInv); -+ } + } public interface IFactory { - @OnlyIn(Dist.CLIENT) diff --git a/patches/minecraft/net/minecraft/inventory/container/CraftingResultSlot.java.patch b/patches/minecraft/net/minecraft/inventory/container/CraftingResultSlot.java.patch index 2bc3bb302c..776bc764f9 100644 --- a/patches/minecraft/net/minecraft/inventory/container/CraftingResultSlot.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/CraftingResultSlot.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/CraftingResultSlot.java +++ b/net/minecraft/inventory/container/CraftingResultSlot.java -@@ -43,6 +43,7 @@ +@@ -43,6 +_,7 @@ protected void func_75208_c(ItemStack p_75208_1_) { if (this.field_75237_g > 0) { p_75208_1_.func_77980_a(this.field_75238_b.field_70170_p, this.field_75238_b, this.field_75237_g); @@ -8,7 +8,7 @@ } if (this.field_75224_c instanceof IRecipeHolder) { -@@ -54,8 +55,9 @@ +@@ -54,8 +_,9 @@ public ItemStack func_190901_a(PlayerEntity p_190901_1_, ItemStack p_190901_2_) { this.func_75208_c(p_190901_2_); diff --git a/patches/minecraft/net/minecraft/inventory/container/EnchantmentContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/EnchantmentContainer.java.patch index bdee6765b2..02e21577f6 100644 --- a/patches/minecraft/net/minecraft/inventory/container/EnchantmentContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/EnchantmentContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/EnchantmentContainer.java +++ b/net/minecraft/inventory/container/EnchantmentContainer.java -@@ -56,7 +56,7 @@ +@@ -56,7 +_,7 @@ }); this.func_75146_a(new Slot(this.field_75168_e, 1, 35, 47) { public boolean func_75214_a(ItemStack p_75214_1_) { @@ -9,7 +9,7 @@ } }); -@@ -82,40 +82,28 @@ +@@ -82,40 +_,28 @@ this.func_216958_a(IntReferenceHolder.func_221497_a(this.field_185002_i, 2)); } @@ -31,13 +31,13 @@ - if (p_217002_2_.func_180495_p(p_217002_3_.func_177982_a(l * 2, 0, k * 2)).func_203425_a(Blocks.field_150342_X)) { - ++j; - } -+ power += getPower(p_217002_2_, p_217002_3_.func_177982_a(l * 2, 0, k * 2)); -+ power += getPower(p_217002_2_, p_217002_3_.func_177982_a(l * 2, 1, k * 2)); - +- - if (p_217002_2_.func_180495_p(p_217002_3_.func_177982_a(l * 2, 1, k * 2)).func_203425_a(Blocks.field_150342_X)) { - ++j; - } -- ++ power += getPower(p_217002_2_, p_217002_3_.func_177982_a(l * 2, 0, k * 2)); ++ power += getPower(p_217002_2_, p_217002_3_.func_177982_a(l * 2, 1, k * 2)); + if (l != 0 && k != 0) { - if (p_217002_2_.func_180495_p(p_217002_3_.func_177982_a(l * 2, 0, k)).func_203425_a(Blocks.field_150342_X)) { - ++j; @@ -61,7 +61,7 @@ } } } -@@ -124,12 +112,13 @@ +@@ -124,12 +_,13 @@ this.field_75169_l.setSeed((long)this.field_178149_f.func_221495_b()); for(int i1 = 0; i1 < 3; ++i1) { diff --git a/patches/minecraft/net/minecraft/inventory/container/FurnaceResultSlot.java.patch b/patches/minecraft/net/minecraft/inventory/container/FurnaceResultSlot.java.patch index 34ef30cf55..5bdac36112 100644 --- a/patches/minecraft/net/minecraft/inventory/container/FurnaceResultSlot.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/FurnaceResultSlot.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/FurnaceResultSlot.java +++ b/net/minecraft/inventory/container/FurnaceResultSlot.java -@@ -44,5 +44,6 @@ +@@ -44,5 +_,6 @@ } this.field_75228_b = 0; diff --git a/patches/minecraft/net/minecraft/inventory/container/GrindstoneContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/GrindstoneContainer.java.patch index 3d10230db1..aa98eda958 100644 --- a/patches/minecraft/net/minecraft/inventory/container/GrindstoneContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/GrindstoneContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/GrindstoneContainer.java +++ b/net/minecraft/inventory/container/GrindstoneContainer.java -@@ -141,12 +141,13 @@ +@@ -141,12 +_,13 @@ } Item item = itemstack.func_77973_b(); diff --git a/patches/minecraft/net/minecraft/inventory/container/PlayerContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/PlayerContainer.java.patch index 78b206fbfb..2e6f887221 100644 --- a/patches/minecraft/net/minecraft/inventory/container/PlayerContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/PlayerContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/PlayerContainer.java +++ b/net/minecraft/inventory/container/PlayerContainer.java -@@ -51,7 +51,7 @@ +@@ -51,7 +_,7 @@ } public boolean func_75214_a(ItemStack p_75214_1_) { diff --git a/patches/minecraft/net/minecraft/inventory/container/RecipeBookContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/RecipeBookContainer.java.patch index ef20af90ca..a9a43056c4 100644 --- a/patches/minecraft/net/minecraft/inventory/container/RecipeBookContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/RecipeBookContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/RecipeBookContainer.java +++ b/net/minecraft/inventory/container/RecipeBookContainer.java -@@ -33,6 +33,10 @@ +@@ -33,6 +_,10 @@ @OnlyIn(Dist.CLIENT) public abstract int func_203721_h(); diff --git a/patches/minecraft/net/minecraft/inventory/container/RepairContainer.java.patch b/patches/minecraft/net/minecraft/inventory/container/RepairContainer.java.patch index f80b84bf20..dfaf29eeb3 100644 --- a/patches/minecraft/net/minecraft/inventory/container/RepairContainer.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/RepairContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/RepairContainer.java +++ b/net/minecraft/inventory/container/RepairContainer.java -@@ -48,6 +48,8 @@ +@@ -48,6 +_,8 @@ p_230301_1_.func_82242_a(-this.field_82854_e.func_221495_b()); } @@ -9,7 +9,7 @@ this.field_234643_d_.func_70299_a(0, ItemStack.field_190927_a); if (this.field_82856_l > 0) { ItemStack itemstack = this.field_234643_d_.func_70301_a(1); -@@ -64,7 +66,7 @@ +@@ -64,7 +_,7 @@ this.field_82854_e.func_221494_a(0); this.field_234644_e_.func_221486_a((p_234633_1_, p_234633_2_) -> { BlockState blockstate = p_234633_1_.func_180495_p(p_234633_2_); @@ -18,7 +18,7 @@ BlockState blockstate1 = AnvilBlock.func_196433_f(blockstate); if (blockstate1 == null) { p_234633_1_.func_217377_a(p_234633_2_, false); -@@ -96,8 +98,11 @@ +@@ -96,8 +_,11 @@ Map map = EnchantmentHelper.func_82781_a(itemstack1); j = j + itemstack.func_82838_A() + (itemstack2.func_190926_b() ? 0 : itemstack2.func_82838_A()); this.field_82856_l = 0; @@ -31,7 +31,7 @@ if (itemstack1.func_77984_f() && itemstack1.func_77973_b().func_82789_a(itemstack, itemstack2)) { int l2 = Math.min(itemstack1.func_77952_i(), itemstack1.func_77958_k() / 4); if (l2 <= 0) { -@@ -214,6 +219,7 @@ +@@ -214,6 +_,7 @@ i += k; itemstack1.func_200302_a(new StringTextComponent(this.field_82857_m)); } @@ -39,12 +39,13 @@ this.field_82854_e.func_221494_a(j + i); if (i <= 0) { -@@ -269,4 +275,8 @@ +@@ -268,5 +_,9 @@ + @OnlyIn(Dist.CLIENT) public int func_216976_f() { return this.field_82854_e.func_221495_b(); - } ++ } + + public void setMaximumCost(int value) { + this.field_82854_e.func_221494_a(value); -+ } + } } diff --git a/patches/minecraft/net/minecraft/inventory/container/Slot.java.patch b/patches/minecraft/net/minecraft/inventory/container/Slot.java.patch index 7a99868fa9..f59906d78b 100644 --- a/patches/minecraft/net/minecraft/inventory/container/Slot.java.patch +++ b/patches/minecraft/net/minecraft/inventory/container/Slot.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/inventory/container/Slot.java +++ b/net/minecraft/inventory/container/Slot.java -@@ -77,7 +77,7 @@ +@@ -77,7 +_,7 @@ @Nullable @OnlyIn(Dist.CLIENT) public Pair func_225517_c_() { @@ -9,10 +9,11 @@ } public ItemStack func_75209_a(int p_75209_1_) { -@@ -92,4 +92,36 @@ +@@ -91,5 +_,37 @@ + @OnlyIn(Dist.CLIENT) public boolean func_111238_b() { return true; - } ++ } + + /** + * Retrieves the index in the inventory for this slot, this value should typically not @@ -44,5 +45,5 @@ + public Slot setBackground(ResourceLocation atlas, ResourceLocation sprite) { + this.backgroundPair = Pair.of(atlas, sprite); + return this; -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/ArmorItem.java.patch b/patches/minecraft/net/minecraft/item/ArmorItem.java.patch index 05f0670485..3233ca862b 100644 --- a/patches/minecraft/net/minecraft/item/ArmorItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ArmorItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ArmorItem.java +++ b/net/minecraft/item/ArmorItem.java -@@ -69,7 +69,7 @@ +@@ -69,7 +_,7 @@ UUID uuid = field_185084_n[p_i48534_2_.func_188454_b()]; builder.put(Attributes.field_233826_i_, new AttributeModifier(uuid, "Armor modifier", (double)this.field_77879_b, AttributeModifier.Operation.ADDITION)); builder.put(Attributes.field_233827_j_, new AttributeModifier(uuid, "Armor toughness", (double)this.field_189415_e, AttributeModifier.Operation.ADDITION)); diff --git a/patches/minecraft/net/minecraft/item/ArrowItem.java.patch b/patches/minecraft/net/minecraft/item/ArrowItem.java.patch index cff1d60a16..fd842aed71 100644 --- a/patches/minecraft/net/minecraft/item/ArrowItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ArrowItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ArrowItem.java +++ b/net/minecraft/item/ArrowItem.java -@@ -15,4 +15,9 @@ +@@ -15,4 +_,9 @@ arrowentity.func_184555_a(p_200887_2_); return arrowentity; } diff --git a/patches/minecraft/net/minecraft/item/AxeItem.java.patch b/patches/minecraft/net/minecraft/item/AxeItem.java.patch index 7ab6c0905d..21dc3f76e0 100644 --- a/patches/minecraft/net/minecraft/item/AxeItem.java.patch +++ b/patches/minecraft/net/minecraft/item/AxeItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/AxeItem.java +++ b/net/minecraft/item/AxeItem.java -@@ -22,7 +22,7 @@ +@@ -22,7 +_,7 @@ protected static final Map field_203176_a = (new Builder()).put(Blocks.field_196626_Q, Blocks.field_209389_ab).put(Blocks.field_196617_K, Blocks.field_203204_R).put(Blocks.field_196639_V, Blocks.field_209394_ag).put(Blocks.field_196623_P, Blocks.field_203209_W).put(Blocks.field_196637_U, Blocks.field_209393_af).put(Blocks.field_196621_O, Blocks.field_203208_V).put(Blocks.field_196631_S, Blocks.field_209391_ad).put(Blocks.field_196619_M, Blocks.field_203206_T).put(Blocks.field_196634_T, Blocks.field_209392_ae).put(Blocks.field_196620_N, Blocks.field_203207_U).put(Blocks.field_196629_R, Blocks.field_209390_ac).put(Blocks.field_196618_L, Blocks.field_203205_S).put(Blocks.field_235368_mh_, Blocks.field_235369_mi_).put(Blocks.field_235370_mj_, Blocks.field_235371_mk_).put(Blocks.field_235377_mq_, Blocks.field_235378_mr_).put(Blocks.field_235379_ms_, Blocks.field_235380_mt_).build(); public AxeItem(IItemTier p_i48530_1_, float p_i48530_2_, float p_i48530_3_, Item.Properties p_i48530_4_) { @@ -9,7 +9,7 @@ } public float func_150893_a(ItemStack p_150893_1_, BlockState p_150893_2_) { -@@ -34,12 +34,12 @@ +@@ -34,12 +_,12 @@ World world = p_195939_1_.func_195991_k(); BlockPos blockpos = p_195939_1_.func_195995_a(); BlockState blockstate = world.func_180495_p(blockpos); @@ -24,14 +24,15 @@ if (playerentity != null) { p_195939_1_.func_195996_i().func_222118_a(1, playerentity, (p_220040_1_) -> { p_220040_1_.func_213334_d(p_195939_1_.func_221531_n()); -@@ -52,4 +52,10 @@ +@@ -51,5 +_,11 @@ + } else { return ActionResultType.PASS; } - } ++ } + + @javax.annotation.Nullable + public static BlockState getAxeStrippingState(BlockState originalState) { + Block block = field_203176_a.get(originalState.func_177230_c()); + return block != null ? block.func_176223_P().func_206870_a(RotatedPillarBlock.field_176298_M, originalState.func_177229_b(RotatedPillarBlock.field_176298_M)) : null; -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/BlockItem.java.patch b/patches/minecraft/net/minecraft/item/BlockItem.java.patch index 4adec0c17e..2348e787f2 100644 --- a/patches/minecraft/net/minecraft/item/BlockItem.java.patch +++ b/patches/minecraft/net/minecraft/item/BlockItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/BlockItem.java +++ b/net/minecraft/item/BlockItem.java -@@ -69,8 +69,8 @@ +@@ -69,8 +_,8 @@ } } @@ -11,7 +11,7 @@ if (playerentity == null || !playerentity.field_71075_bZ.field_75098_d) { itemstack.func_190918_g(1); } -@@ -81,10 +81,16 @@ +@@ -81,10 +_,16 @@ } } @@ -28,7 +28,7 @@ @Nullable public BlockItemUseContext func_219984_b(BlockItemUseContext p_219984_1_) { return p_219984_1_; -@@ -192,10 +198,18 @@ +@@ -192,10 +_,18 @@ } public Block func_179223_d() { @@ -41,9 +41,9 @@ public void func_195946_a(Map p_195946_1_, Item p_195946_2_) { p_195946_1_.put(this.func_179223_d(), p_195946_2_); - } ++ } + + public void removeFromBlockToItemMap(Map blockToItemMap, Item itemIn) { + blockToItemMap.remove(this.func_179223_d()); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/BoneMealItem.java.patch b/patches/minecraft/net/minecraft/item/BoneMealItem.java.patch index 17183b1057..23b72c81a3 100644 --- a/patches/minecraft/net/minecraft/item/BoneMealItem.java.patch +++ b/patches/minecraft/net/minecraft/item/BoneMealItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/BoneMealItem.java +++ b/net/minecraft/item/BoneMealItem.java -@@ -30,7 +30,7 @@ +@@ -30,7 +_,7 @@ World world = p_195939_1_.func_195991_k(); BlockPos blockpos = p_195939_1_.func_195995_a(); BlockPos blockpos1 = blockpos.func_177972_a(p_195939_1_.func_196000_l()); @@ -9,7 +9,7 @@ if (!world.field_72995_K) { world.func_217379_c(2005, blockpos, 0); } -@@ -51,8 +51,17 @@ +@@ -51,8 +_,17 @@ } } @@ -27,7 +27,7 @@ if (blockstate.func_177230_c() instanceof IGrowable) { IGrowable igrowable = (IGrowable)blockstate.func_177230_c(); if (igrowable.func_176473_a(p_195966_1_, p_195966_2_, blockstate, p_195966_1_.field_72995_K)) { -@@ -128,7 +137,7 @@ +@@ -128,7 +_,7 @@ } BlockState blockstate = p_195965_0_.func_180495_p(p_195965_1_); diff --git a/patches/minecraft/net/minecraft/item/BowItem.java.patch b/patches/minecraft/net/minecraft/item/BowItem.java.patch index 1d5f831dca..086c9c57ac 100644 --- a/patches/minecraft/net/minecraft/item/BowItem.java.patch +++ b/patches/minecraft/net/minecraft/item/BowItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/BowItem.java +++ b/net/minecraft/item/BowItem.java -@@ -24,18 +24,23 @@ +@@ -24,18 +_,23 @@ PlayerEntity playerentity = (PlayerEntity)p_77615_3_; boolean flag = playerentity.field_71075_bZ.field_75098_d || EnchantmentHelper.func_77506_a(Enchantments.field_185312_x, p_77615_1_) > 0; ItemStack itemstack = playerentity.func_213356_f(p_77615_1_); @@ -26,7 +26,7 @@ abstractarrowentity.func_234612_a_(playerentity, playerentity.field_70125_A, playerentity.field_70177_z, 0.0F, f * 3.0F, 1.0F); if (f == 1.0F) { abstractarrowentity.func_70243_d(true); -@@ -100,6 +105,10 @@ +@@ -100,6 +_,10 @@ public ActionResult func_77659_a(World p_77659_1_, PlayerEntity p_77659_2_, Hand p_77659_3_) { ItemStack itemstack = p_77659_2_.func_184586_b(p_77659_3_); boolean flag = !p_77659_2_.func_213356_f(itemstack).func_190926_b(); @@ -37,14 +37,14 @@ if (!p_77659_2_.field_71075_bZ.field_75098_d && !flag) { return ActionResult.func_226251_d_(itemstack); } else { -@@ -112,6 +121,10 @@ - return field_220007_a; - } +@@ -110,6 +_,10 @@ -+ public AbstractArrowEntity customArrow(AbstractArrowEntity arrow) { -+ return arrow; + public Predicate func_220004_b() { + return field_220007_a; + } + - public int func_230305_d_() { - return 15; ++ public AbstractArrowEntity customArrow(AbstractArrowEntity arrow) { ++ return arrow; } + + public int func_230305_d_() { diff --git a/patches/minecraft/net/minecraft/item/BucketItem.java.patch b/patches/minecraft/net/minecraft/item/BucketItem.java.patch index 663bf3bf8c..b352028d79 100644 --- a/patches/minecraft/net/minecraft/item/BucketItem.java.patch +++ b/patches/minecraft/net/minecraft/item/BucketItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/BucketItem.java +++ b/net/minecraft/item/BucketItem.java -@@ -32,14 +32,28 @@ +@@ -32,14 +_,28 @@ public class BucketItem extends Item { private final Fluid field_77876_a; @@ -10,8 +10,8 @@ super(p_i49025_2_); this.field_77876_a = p_i49025_1_; + this.fluidSupplier = p_i49025_1_.delegate; - } - ++ } ++ + /** + * @param supplier A fluid supplier such as {@link net.minecraftforge.fml.RegistryObject} + */ @@ -19,8 +19,8 @@ + super(builder); + this.field_77876_a = null; + this.fluidSupplier = supplier; -+ } -+ + } + public ActionResult func_77659_a(World p_77659_1_, PlayerEntity p_77659_2_, Hand p_77659_3_) { ItemStack itemstack = p_77659_2_.func_184586_b(p_77659_3_); RayTraceResult raytraceresult = func_219968_a(p_77659_1_, p_77659_2_, this.field_77876_a == Fluids.field_204541_a ? RayTraceContext.FluidMode.SOURCE_ONLY : RayTraceContext.FluidMode.NONE); @@ -29,7 +29,7 @@ if (raytraceresult.func_216346_c() == RayTraceResult.Type.MISS) { return ActionResult.func_226250_c_(itemstack); } else if (raytraceresult.func_216346_c() != RayTraceResult.Type.BLOCK) { -@@ -56,7 +70,10 @@ +@@ -56,7 +_,10 @@ Fluid fluid = ((IBucketPickupHandler)blockstate1.func_177230_c()).func_204508_a(p_77659_1_, blockpos, blockstate1); if (fluid != Fluids.field_204541_a) { p_77659_2_.func_71029_a(Stats.field_75929_E.func_199076_b(this)); @@ -41,7 +41,7 @@ ItemStack itemstack1 = DrinkHelper.func_242398_a(itemstack, p_77659_2_, new ItemStack(fluid.func_204524_b())); if (!p_77659_1_.field_72995_K) { CriteriaTriggers.field_204813_j.func_204817_a((ServerPlayerEntity)p_77659_2_, new ItemStack(fluid.func_204524_b())); -@@ -69,7 +86,7 @@ +@@ -69,7 +_,7 @@ return ActionResult.func_226251_d_(itemstack); } else { BlockState blockstate = p_77659_1_.func_180495_p(blockpos); @@ -50,7 +50,7 @@ if (this.func_180616_a(p_77659_2_, p_77659_1_, blockpos2, blockraytraceresult)) { this.func_203792_a(p_77659_1_, itemstack, blockpos2); if (p_77659_2_ instanceof ServerPlayerEntity) { -@@ -117,7 +134,7 @@ +@@ -117,7 +_,7 @@ } return true; @@ -59,7 +59,7 @@ ((ILiquidContainer)block).func_204509_a(p_180616_2_, p_180616_3_, blockstate, ((FlowingFluid)this.field_77876_a).func_207204_a(false)); this.func_203791_b(p_180616_1_, p_180616_2_, p_180616_3_); return true; -@@ -137,7 +154,24 @@ +@@ -137,7 +_,24 @@ } protected void func_203791_b(@Nullable PlayerEntity p_203791_1_, IWorld p_203791_2_, BlockPos p_203791_3_) { @@ -67,7 +67,7 @@ + SoundEvent soundevent = this.field_77876_a.getAttributes().getEmptySound(); + if(soundevent == null) soundevent = this.field_77876_a.func_207185_a(FluidTags.field_206960_b) ? SoundEvents.field_187627_L : SoundEvents.field_187624_K; p_203791_2_.func_184133_a(p_203791_1_, p_203791_3_, soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); - } ++ } + + @Override + public net.minecraftforge.common.capabilities.ICapabilityProvider initCapabilities(ItemStack stack, @Nullable net.minecraft.nbt.CompoundNBT nbt) { @@ -83,5 +83,5 @@ + private boolean canBlockContainFluid(World worldIn, BlockPos posIn, BlockState blockstate) + { + return blockstate.func_177230_c() instanceof ILiquidContainer && ((ILiquidContainer)blockstate.func_177230_c()).func_204510_a(worldIn, posIn, blockstate, this.field_77876_a); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/DyeColor.java.patch b/patches/minecraft/net/minecraft/item/DyeColor.java.patch index 5fde513115..0d66c222ed 100644 --- a/patches/minecraft/net/minecraft/item/DyeColor.java.patch +++ b/patches/minecraft/net/minecraft/item/DyeColor.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/DyeColor.java +++ b/net/minecraft/item/DyeColor.java -@@ -41,6 +41,7 @@ +@@ -41,6 +_,7 @@ private final int field_196066_w; private final float[] field_193352_x; private final int field_196067_y; @@ -8,7 +8,7 @@ private final int field_218390_z; private DyeColor(int p_i50049_3_, String p_i50049_4_, int p_i50049_5_, MaterialColor p_i50049_6_, int p_i50049_7_, int p_i50049_8_) { -@@ -53,6 +54,7 @@ +@@ -53,6 +_,7 @@ int j = (p_i50049_5_ & '\uff00') >> 8; int k = (p_i50049_5_ & 255) >> 0; this.field_196066_w = k << 16 | j << 8 | i << 0; @@ -16,10 +16,11 @@ this.field_193352_x = new float[]{(float)i / 255.0F, (float)j / 255.0F, (float)k / 255.0F}; this.field_196067_y = p_i50049_7_; } -@@ -111,4 +113,25 @@ +@@ -110,5 +_,26 @@ + public String func_176610_l() { return this.field_176785_v; - } ++ } + + public int getColorValue() { + return field_193351_w; @@ -40,5 +41,5 @@ + } + + return null; -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/DyeableHorseArmorItem.java.patch b/patches/minecraft/net/minecraft/item/DyeableHorseArmorItem.java.patch index 52fe87e3fb..7b90311f89 100644 --- a/patches/minecraft/net/minecraft/item/DyeableHorseArmorItem.java.patch +++ b/patches/minecraft/net/minecraft/item/DyeableHorseArmorItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/DyeableHorseArmorItem.java +++ b/net/minecraft/item/DyeableHorseArmorItem.java -@@ -4,4 +4,7 @@ +@@ -4,4 +_,7 @@ public DyeableHorseArmorItem(int p_i50047_1_, String p_i50047_2_, Item.Properties p_i50047_3_) { super(p_i50047_1_, p_i50047_2_, p_i50047_3_); } diff --git a/patches/minecraft/net/minecraft/item/ElytraItem.java.patch b/patches/minecraft/net/minecraft/item/ElytraItem.java.patch index 244a4075fc..0962ccf458 100644 --- a/patches/minecraft/net/minecraft/item/ElytraItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ElytraItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ElytraItem.java +++ b/net/minecraft/item/ElytraItem.java -@@ -35,4 +35,17 @@ +@@ -35,4 +_,17 @@ return ActionResult.func_226251_d_(itemstack); } } diff --git a/patches/minecraft/net/minecraft/item/FilledMapItem.java.patch b/patches/minecraft/net/minecraft/item/FilledMapItem.java.patch index 6d002b9509..9356ddf469 100644 --- a/patches/minecraft/net/minecraft/item/FilledMapItem.java.patch +++ b/patches/minecraft/net/minecraft/item/FilledMapItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/FilledMapItem.java +++ b/net/minecraft/item/FilledMapItem.java -@@ -52,6 +52,16 @@ +@@ -52,6 +_,16 @@ @Nullable public static MapData func_195950_a(ItemStack p_195950_0_, World p_195950_1_) { diff --git a/patches/minecraft/net/minecraft/item/FishBucketItem.java.patch b/patches/minecraft/net/minecraft/item/FishBucketItem.java.patch index 4e8ee76e5e..7f8aaaa63a 100644 --- a/patches/minecraft/net/minecraft/item/FishBucketItem.java.patch +++ b/patches/minecraft/net/minecraft/item/FishBucketItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/FishBucketItem.java +++ b/net/minecraft/item/FishBucketItem.java -@@ -27,11 +27,19 @@ +@@ -27,9 +_,17 @@ public class FishBucketItem extends BucketItem { private final EntityType field_203794_a; @@ -9,24 +9,23 @@ super(p_i49022_2_, p_i49022_3_); this.field_203794_a = p_i49022_1_; + this.fishTypeSupplier = () -> p_i49022_1_; - } - ++ } ++ + public FishBucketItem(java.util.function.Supplier> fishTypeIn, java.util.function.Supplier p_i49022_2_, Item.Properties builder) { + super(p_i49022_2_, builder); + this.field_203794_a = null; + this.fishTypeSupplier = fishTypeIn; -+ } -+ + } + public void func_203792_a(World p_203792_1_, ItemStack p_203792_2_, BlockPos p_203792_3_) { - if (p_203792_1_ instanceof ServerWorld) { - this.func_205357_b((ServerWorld)p_203792_1_, p_203792_2_, p_203792_3_); -@@ -80,4 +88,9 @@ +@@ -79,5 +_,10 @@ + } } - } ++ } + + private final java.util.function.Supplier> fishTypeSupplier; + protected EntityType getFishType() { + return fishTypeSupplier.get(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/Food.java.patch b/patches/minecraft/net/minecraft/item/Food.java.patch index 98562b88eb..85ae4920cb 100644 --- a/patches/minecraft/net/minecraft/item/Food.java.patch +++ b/patches/minecraft/net/minecraft/item/Food.java.patch @@ -1,12 +1,13 @@ --- a/net/minecraft/item/Food.java +++ b/net/minecraft/item/Food.java -@@ -11,15 +11,26 @@ +@@ -11,15 +_,26 @@ private final boolean field_221472_c; private final boolean field_221473_d; private final boolean field_221474_e; - private final List> field_221475_f; +- + private final List, Float>> field_221475_f; - ++ + private Food(Food.Builder builder) { + this.field_221470_a = builder.field_221458_a; + this.field_221471_b = builder.field_221459_b; @@ -29,7 +30,7 @@ } public int func_221466_a() { -@@ -43,7 +54,7 @@ +@@ -43,7 +_,7 @@ } public List> func_221464_f() { @@ -38,7 +39,7 @@ } public static class Builder { -@@ -52,7 +63,7 @@ +@@ -52,7 +_,7 @@ private boolean field_221460_c; private boolean field_221461_d; private boolean field_221462_e; @@ -47,7 +48,7 @@ public Food.Builder func_221456_a(int p_221456_1_) { this.field_221458_a = p_221456_1_; -@@ -79,13 +90,20 @@ +@@ -79,13 +_,20 @@ return this; } diff --git a/patches/minecraft/net/minecraft/item/HoeItem.java.patch b/patches/minecraft/net/minecraft/item/HoeItem.java.patch index 255d8c4368..8a5b881a49 100644 --- a/patches/minecraft/net/minecraft/item/HoeItem.java.patch +++ b/patches/minecraft/net/minecraft/item/HoeItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/HoeItem.java +++ b/net/minecraft/item/HoeItem.java -@@ -21,14 +21,16 @@ +@@ -21,14 +_,16 @@ protected static final Map field_195973_b = Maps.newHashMap(ImmutableMap.of(Blocks.field_196658_i, Blocks.field_150458_ak.func_176223_P(), Blocks.field_185774_da, Blocks.field_150458_ak.func_176223_P(), Blocks.field_150346_d, Blocks.field_150458_ak.func_176223_P(), Blocks.field_196660_k, Blocks.field_150346_d.func_176223_P())); public HoeItem(IItemTier p_i231595_1_, int p_i231595_2_, float p_i231595_3_, Item.Properties p_i231595_4_) { @@ -20,13 +20,14 @@ if (blockstate != null) { PlayerEntity playerentity = p_195939_1_.func_195999_j(); world.func_184133_a(playerentity, blockpos, SoundEvents.field_187693_cj, SoundCategory.BLOCKS, 1.0F, 1.0F); -@@ -47,4 +49,9 @@ +@@ -46,5 +_,10 @@ + } return ActionResultType.PASS; - } ++ } + + @javax.annotation.Nullable + public static BlockState getHoeTillingState(BlockState originalState) { + return field_195973_b.get(originalState.func_177230_c()); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/HorseArmorItem.java.patch b/patches/minecraft/net/minecraft/item/HorseArmorItem.java.patch index 49f5261530..92db15755d 100644 --- a/patches/minecraft/net/minecraft/item/HorseArmorItem.java.patch +++ b/patches/minecraft/net/minecraft/item/HorseArmorItem.java.patch @@ -1,11 +1,11 @@ --- a/net/minecraft/item/HorseArmorItem.java +++ b/net/minecraft/item/HorseArmorItem.java -@@ -6,17 +6,21 @@ +@@ -6,17 +_,21 @@ public class HorseArmorItem extends Item { private final int field_219978_a; - private final String field_219979_b; -+ private final ResourceLocation texture; ++ private final ResourceLocation field_219979_b; public HorseArmorItem(int p_i50042_1_, String p_i50042_2_, Item.Properties p_i50042_3_) { + this(p_i50042_1_, new ResourceLocation("textures/entity/horse/armor/horse_armor_" + p_i50042_2_ + ".png"), p_i50042_3_); @@ -15,13 +15,13 @@ super(p_i50042_3_); this.field_219978_a = p_i50042_1_; - this.field_219979_b = "textures/entity/horse/armor/horse_armor_" + p_i50042_2_ + ".png"; -+ this.texture = texture; ++ this.field_219979_b = texture; } @OnlyIn(Dist.CLIENT) public ResourceLocation func_219976_d() { - return new ResourceLocation(this.field_219979_b); -+ return texture; ++ return field_219979_b; } public int func_219977_e() { diff --git a/patches/minecraft/net/minecraft/item/Item.java.patch b/patches/minecraft/net/minecraft/item/Item.java.patch index 46db5beb91..c8313ddb88 100644 --- a/patches/minecraft/net/minecraft/item/Item.java.patch +++ b/patches/minecraft/net/minecraft/item/Item.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/Item.java +++ b/net/minecraft/item/Item.java -@@ -40,8 +40,8 @@ +@@ -40,8 +_,8 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -11,7 +11,7 @@ protected static final UUID field_111210_e = UUID.fromString("CB3F55D3-645C-4F38-A497-9C13A33DB5CF"); protected static final UUID field_185050_h = UUID.fromString("FA233E1C-4180-4865-B01B-BCCE9785ACA3"); protected static final Random field_77697_d = new Random(); -@@ -77,6 +77,10 @@ +@@ -77,6 +_,10 @@ this.field_77777_bU = p_i48487_1_.field_200920_a; this.field_219974_q = p_i48487_1_.field_221541_f; this.field_234684_d_ = p_i48487_1_.field_234688_g_; @@ -22,7 +22,7 @@ } public void func_219972_a(World p_219972_1_, LivingEntity p_219972_2_, ItemStack p_219972_3_, int p_219972_4_) { -@@ -120,10 +124,12 @@ +@@ -120,10 +_,12 @@ return this.func_219971_r() ? p_77654_3_.func_213357_a(p_77654_2_, p_77654_1_) : p_77654_1_; } @@ -35,7 +35,7 @@ public final int func_77612_l() { return this.field_77699_b; } -@@ -178,10 +184,12 @@ +@@ -178,10 +_,12 @@ } @Nullable @@ -48,7 +48,7 @@ public boolean func_77634_r() { return this.field_77700_c != null; } -@@ -241,7 +249,7 @@ +@@ -241,7 +_,7 @@ } public boolean func_77616_k(ItemStack p_77616_1_) { @@ -57,7 +57,7 @@ } protected static BlockRayTraceResult func_219968_a(World p_219968_0_, PlayerEntity p_219968_1_, RayTraceContext.FluidMode p_219968_2_) { -@@ -254,8 +262,8 @@ +@@ -254,8 +_,8 @@ float f5 = MathHelper.func_76126_a(-f * ((float)Math.PI / 180F)); float f6 = f3 * f4; float f7 = f2 * f4; @@ -68,7 +68,7 @@ return p_219968_0_.func_217299_a(new RayTraceContext(vector3d, vector3d1, RayTraceContext.BlockMode.OUTLINE, p_219968_2_, p_219968_1_)); } -@@ -271,6 +279,7 @@ +@@ -271,6 +_,7 @@ } protected boolean func_194125_a(ItemGroup p_194125_1_) { @@ -76,7 +76,7 @@ ItemGroup itemgroup = this.func_77640_w(); return itemgroup != null && (p_194125_1_ == ItemGroup.field_78027_g || p_194125_1_ == itemgroup); } -@@ -284,10 +293,44 @@ +@@ -284,10 +_,44 @@ return false; } @@ -121,7 +121,7 @@ public boolean func_219970_i(ItemStack p_219970_1_) { return p_219970_1_.func_77973_b() == Items.field_222114_py; } -@@ -333,6 +376,9 @@ +@@ -333,6 +_,9 @@ private Rarity field_208104_e = Rarity.COMMON; private Food field_221541_f; private boolean field_234688_g_; @@ -131,10 +131,12 @@ public Item.Properties func_221540_a(Food p_221540_1_) { this.field_221541_f = p_221540_1_; -@@ -377,5 +423,20 @@ +@@ -375,6 +_,21 @@ + + public Item.Properties func_234689_a_() { this.field_234688_g_ = true; - return this; - } ++ return this; ++ } + + public Item.Properties setNoRepair() { + canRepair = false; @@ -148,7 +150,6 @@ + + public Item.Properties setISTER(java.util.function.Supplier> ister) { + this.ister = ister; -+ return this; -+ } + return this; + } } - } diff --git a/patches/minecraft/net/minecraft/item/ItemGroup.java.patch b/patches/minecraft/net/minecraft/item/ItemGroup.java.patch index d8e93d0210..f0ca3d2fdd 100644 --- a/patches/minecraft/net/minecraft/item/ItemGroup.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemGroup.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ItemGroup.java +++ b/net/minecraft/item/ItemGroup.java -@@ -101,18 +101,23 @@ +@@ -101,18 +_,23 @@ private final String field_78034_o; private final ITextComponent field_242391_q; private String field_199784_q; @@ -26,7 +26,7 @@ } @OnlyIn(Dist.CLIENT) -@@ -141,16 +146,29 @@ +@@ -141,16 +_,29 @@ @OnlyIn(Dist.CLIENT) public abstract ItemStack func_78016_d(); @@ -56,7 +56,7 @@ public ItemGroup func_199783_b(String p_199783_1_) { this.field_199784_q = p_199783_1_; return this; -@@ -178,11 +196,13 @@ +@@ -178,11 +_,13 @@ @OnlyIn(Dist.CLIENT) public int func_78020_k() { @@ -70,10 +70,11 @@ return this.field_78033_n < 6; } -@@ -219,4 +239,59 @@ +@@ -218,5 +_,60 @@ + item.func_150895_a(this, p_78018_1_); } - } ++ } + + public int getTabPage() { + return field_78033_n < 12 ? 0 : ((field_78033_n - 12) / 10) + 1; @@ -128,5 +129,5 @@ + } + field_78032_a[index] = newGroup; + return index; -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/patches/minecraft/net/minecraft/item/ItemStack.java.patch index 06455070f6..ec5bcb843b 100644 --- a/patches/minecraft/net/minecraft/item/ItemStack.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ItemStack.java +++ b/net/minecraft/item/ItemStack.java -@@ -72,7 +72,7 @@ +@@ -72,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ public static final Codec field_234691_a_ = RecordCodecBuilder.create((p_234698_0_) -> { return p_234698_0_.group(Registry.field_212630_s.fieldOf("id").forGetter((p_234706_0_) -> { return p_234706_0_.field_151002_e; -@@ -82,6 +82,9 @@ +@@ -82,6 +_,9 @@ return Optional.ofNullable(p_234704_0_.field_77990_d); })).apply(p_234698_0_, ItemStack::new); }); @@ -19,7 +19,7 @@ private static final Logger field_199558_c = LogManager.getLogger(); public static final ItemStack field_190927_a = new ItemStack((Item)null); public static final DecimalFormat field_111284_a = Util.func_200696_a(new DecimalFormat("#.##"), (p_234699_0_) -> { -@@ -109,14 +112,19 @@ +@@ -109,14 +_,19 @@ p_i231596_3_.ifPresent(this::func_77982_d); } @@ -41,7 +41,7 @@ } private void func_190923_F() { -@@ -125,18 +133,23 @@ +@@ -125,18 +_,23 @@ } private ItemStack(CompoundNBT p_i47263_1_) { @@ -66,7 +66,7 @@ } public static ItemStack func_199557_a(CompoundNBT p_199557_0_) { -@@ -167,10 +180,19 @@ +@@ -167,10 +_,19 @@ } public Item func_77973_b() { @@ -87,7 +87,7 @@ PlayerEntity playerentity = p_196084_1_.func_195999_j(); BlockPos blockpos = p_196084_1_.func_195995_a(); CachedBlockInfo cachedblockinfo = new CachedBlockInfo(p_196084_1_.func_195991_k(), blockpos, false); -@@ -178,7 +200,7 @@ +@@ -178,7 +_,7 @@ return ActionResultType.PASS; } else { Item item = this.func_77973_b(); @@ -96,7 +96,7 @@ if (playerentity != null && actionresulttype.func_226246_a_()) { playerentity.func_71029_a(Stats.field_75929_E.func_199076_b(item)); } -@@ -206,12 +228,15 @@ +@@ -206,12 +_,15 @@ if (this.field_77990_d != null) { p_77955_1_.func_218657_a("tag", this.field_77990_d.func_74737_b()); } @@ -114,7 +114,7 @@ } public boolean func_77985_e() { -@@ -219,7 +244,7 @@ +@@ -219,7 +_,7 @@ } public boolean func_77984_f() { @@ -123,7 +123,7 @@ CompoundNBT compoundnbt = this.func_77978_p(); return compoundnbt == null || !compoundnbt.func_74767_n("Unbreakable"); } else { -@@ -228,19 +253,19 @@ +@@ -228,19 +_,19 @@ } public boolean func_77951_h() { @@ -147,7 +147,7 @@ } public boolean func_96631_a(int p_96631_1_, Random p_96631_2_, @Nullable ServerPlayerEntity p_96631_3_) { -@@ -276,6 +301,7 @@ +@@ -276,6 +_,7 @@ public void func_222118_a(int p_222118_1_, T p_222118_2_, Consumer p_222118_3_) { if (!p_222118_2_.field_70170_p.field_72995_K && (!(p_222118_2_ instanceof PlayerEntity) || !((PlayerEntity)p_222118_2_).field_71075_bZ.field_75098_d)) { if (this.func_77984_f()) { @@ -155,7 +155,7 @@ if (this.func_96631_a(p_222118_1_, p_222118_2_.func_70681_au(), p_222118_2_ instanceof ServerPlayerEntity ? (ServerPlayerEntity)p_222118_2_ : null)) { p_222118_3_.accept(p_222118_2_); Item item = this.func_77973_b(); -@@ -308,7 +334,7 @@ +@@ -308,7 +_,7 @@ } public boolean func_150998_b(BlockState p_150998_1_) { @@ -164,7 +164,7 @@ } public ActionResultType func_111282_a_(PlayerEntity p_111282_1_, LivingEntity p_111282_2_, Hand p_111282_3_) { -@@ -319,7 +345,7 @@ +@@ -319,7 +_,7 @@ if (this.func_190926_b()) { return field_190927_a; } else { @@ -173,7 +173,7 @@ itemstack.func_190915_d(this.func_190921_D()); if (this.field_77990_d != null) { itemstack.field_77990_d = this.field_77990_d.func_74737_b(); -@@ -336,7 +362,7 @@ +@@ -336,7 +_,7 @@ if (p_77970_0_.field_77990_d == null && p_77970_1_.field_77990_d != null) { return false; } else { @@ -182,7 +182,7 @@ } } else { return false; -@@ -359,7 +385,7 @@ +@@ -359,7 +_,7 @@ } else if (this.field_77990_d == null && p_77959_1_.field_77990_d != null) { return false; } else { @@ -191,7 +191,7 @@ } } -@@ -479,7 +505,7 @@ +@@ -479,7 +_,7 @@ public void func_77982_d(@Nullable CompoundNBT p_77982_1_) { this.field_77990_d = p_77982_1_; @@ -200,7 +200,7 @@ this.func_196085_b(this.func_77952_i()); } -@@ -673,6 +699,7 @@ +@@ -673,6 +_,7 @@ } } @@ -208,7 +208,7 @@ return list; } -@@ -817,9 +844,10 @@ +@@ -817,9 +_,10 @@ } } } else { @@ -220,10 +220,12 @@ return multimap; } -@@ -954,6 +982,24 @@ - return this.func_77973_b().func_219971_r(); - } +@@ -952,6 +_,24 @@ + public boolean func_222117_E() { + return this.func_77973_b().func_219971_r(); ++ } ++ + // FORGE START + public void deserializeNBT(CompoundNBT nbt) { + final ItemStack itemStack = ItemStack.func_199557_a(nbt); @@ -240,8 +242,6 @@ + this.gatherCapabilities(provider); + if (this.capNBT != null) deserializeCaps(this.capNBT); + } -+ } -+ - public SoundEvent func_226629_F_() { - return this.func_77973_b().func_225520_U__(); } + + public SoundEvent func_226629_F_() { diff --git a/patches/minecraft/net/minecraft/item/Items.java.patch b/patches/minecraft/net/minecraft/item/Items.java.patch index c2fcd96b31..ae9b605329 100644 --- a/patches/minecraft/net/minecraft/item/Items.java.patch +++ b/patches/minecraft/net/minecraft/item/Items.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/Items.java +++ b/net/minecraft/item/Items.java -@@ -12,6 +12,7 @@ +@@ -12,6 +_,7 @@ import net.minecraft.util.SoundEvents; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/item/MerchantOffer.java.patch b/patches/minecraft/net/minecraft/item/MerchantOffer.java.patch index b933f31a4a..f65fdb132c 100644 --- a/patches/minecraft/net/minecraft/item/MerchantOffer.java.patch +++ b/patches/minecraft/net/minecraft/item/MerchantOffer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/MerchantOffer.java +++ b/net/minecraft/item/MerchantOffer.java -@@ -74,7 +74,7 @@ +@@ -74,7 +_,7 @@ int i = this.field_222223_a.func_190916_E(); ItemStack itemstack = this.field_222223_a.func_77946_l(); int j = Math.max(0, MathHelper.func_76141_d((float)(i * this.field_222230_h) * this.field_222231_i)); @@ -9,7 +9,7 @@ return itemstack; } -@@ -178,7 +178,7 @@ +@@ -178,7 +_,7 @@ return true; } else { ItemStack itemstack = p_222201_1_.func_77946_l(); diff --git a/patches/minecraft/net/minecraft/item/MilkBucketItem.java.patch b/patches/minecraft/net/minecraft/item/MilkBucketItem.java.patch index 6316a4da39..b6248d2897 100644 --- a/patches/minecraft/net/minecraft/item/MilkBucketItem.java.patch +++ b/patches/minecraft/net/minecraft/item/MilkBucketItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/MilkBucketItem.java +++ b/net/minecraft/item/MilkBucketItem.java -@@ -16,6 +16,8 @@ +@@ -16,6 +_,8 @@ } public ItemStack func_77654_b(ItemStack p_77654_1_, World p_77654_2_, LivingEntity p_77654_3_) { @@ -9,7 +9,7 @@ if (p_77654_3_ instanceof ServerPlayerEntity) { ServerPlayerEntity serverplayerentity = (ServerPlayerEntity)p_77654_3_; CriteriaTriggers.field_193138_y.func_193148_a(serverplayerentity, p_77654_1_); -@@ -26,10 +28,6 @@ +@@ -26,10 +_,6 @@ p_77654_1_.func_190918_g(1); } @@ -20,13 +20,14 @@ return p_77654_1_.func_190926_b() ? new ItemStack(Items.field_151133_ar) : p_77654_1_; } -@@ -44,4 +42,9 @@ +@@ -43,5 +_,10 @@ + public ActionResult func_77659_a(World p_77659_1_, PlayerEntity p_77659_2_, Hand p_77659_3_) { return DrinkHelper.func_234707_a_(p_77659_1_, p_77659_2_, p_77659_3_); - } ++ } + + @Override + public net.minecraftforge.common.capabilities.ICapabilityProvider initCapabilities(ItemStack stack, @javax.annotation.Nullable net.minecraft.nbt.CompoundNBT nbt) { + return new net.minecraftforge.fluids.capability.wrappers.FluidBucketWrapper(stack); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/MinecartItem.java.patch b/patches/minecraft/net/minecraft/item/MinecartItem.java.patch index 3a0f3ef8be..06a4f97435 100644 --- a/patches/minecraft/net/minecraft/item/MinecartItem.java.patch +++ b/patches/minecraft/net/minecraft/item/MinecartItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/MinecartItem.java +++ b/net/minecraft/item/MinecartItem.java -@@ -26,7 +26,7 @@ +@@ -26,7 +_,7 @@ double d2 = p_82487_1_.func_82616_c() + (double)direction.func_82599_e() * 1.125D; BlockPos blockpos = p_82487_1_.func_180699_d().func_177972_a(direction); BlockState blockstate = world.func_180495_p(blockpos); @@ -9,7 +9,7 @@ double d3; if (blockstate.func_235714_a_(BlockTags.field_203437_y)) { if (railshape.func_208092_c()) { -@@ -79,7 +79,7 @@ +@@ -79,7 +_,7 @@ } else { ItemStack itemstack = p_195939_1_.func_195996_i(); if (!world.field_72995_K) { diff --git a/patches/minecraft/net/minecraft/item/MusicDiscItem.java.patch b/patches/minecraft/net/minecraft/item/MusicDiscItem.java.patch index 6ad83191bf..cb1f977324 100644 --- a/patches/minecraft/net/minecraft/item/MusicDiscItem.java.patch +++ b/patches/minecraft/net/minecraft/item/MusicDiscItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/MusicDiscItem.java +++ b/net/minecraft/item/MusicDiscItem.java -@@ -22,17 +22,40 @@ +@@ -22,15 +_,38 @@ import net.minecraftforge.api.distmarker.OnlyIn; public class MusicDiscItem extends Item { @@ -18,8 +18,8 @@ this.field_185076_b = p_i48475_2_; field_150928_b.put(this.field_185076_b, this); + this.soundSupplier = this.field_185076_b.delegate; - } - ++ } ++ + /** + * For mod use, allows to create a music disc without having to create a new + * SoundEvent before their registry event is fired. @@ -36,12 +36,10 @@ + this.field_195977_c = comparatorValue; + this.field_185076_b = null; + this.soundSupplier = soundSupplier; -+ } -+ + } + public ActionResultType func_195939_a(ItemUseContext p_195939_1_) { - World world = p_195939_1_.func_195991_k(); - BlockPos blockpos = p_195939_1_.func_195995_a(); -@@ -77,6 +100,6 @@ +@@ -77,6 +_,6 @@ @OnlyIn(Dist.CLIENT) public SoundEvent func_185075_h() { diff --git a/patches/minecraft/net/minecraft/item/PickaxeItem.java.patch b/patches/minecraft/net/minecraft/item/PickaxeItem.java.patch index a7b5841b40..e47c4aacad 100644 --- a/patches/minecraft/net/minecraft/item/PickaxeItem.java.patch +++ b/patches/minecraft/net/minecraft/item/PickaxeItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/PickaxeItem.java +++ b/net/minecraft/item/PickaxeItem.java -@@ -11,25 +11,16 @@ +@@ -11,25 +_,16 @@ private static final Set field_150915_c = ImmutableSet.of(Blocks.field_150408_cc, Blocks.field_150365_q, Blocks.field_150347_e, Blocks.field_150319_E, Blocks.field_150484_ah, Blocks.field_150482_ag, Blocks.field_196552_aC, Blocks.field_150340_R, Blocks.field_150352_o, Blocks.field_235334_I_, Blocks.field_150432_aD, Blocks.field_150339_S, Blocks.field_150366_p, Blocks.field_150368_y, Blocks.field_150369_x, Blocks.field_150341_Y, Blocks.field_150424_aL, Blocks.field_150403_cj, Blocks.field_205164_gk, Blocks.field_150448_aq, Blocks.field_150450_ax, Blocks.field_150322_A, Blocks.field_196583_aj, Blocks.field_196585_ak, Blocks.field_196798_hA, Blocks.field_196799_hB, Blocks.field_180395_cM, Blocks.field_150348_b, Blocks.field_196650_c, Blocks.field_196652_d, Blocks.field_196654_e, Blocks.field_196655_f, Blocks.field_196656_g, Blocks.field_196657_h, Blocks.field_150333_U, Blocks.field_222401_hJ, Blocks.field_196640_bx, Blocks.field_196643_by, Blocks.field_196646_bz, Blocks.field_196571_bA, Blocks.field_196573_bB, Blocks.field_196575_bC, Blocks.field_196576_bD, Blocks.field_196578_bE, Blocks.field_185771_cX, Blocks.field_196581_bI, Blocks.field_196582_bJ, Blocks.field_196580_bH, Blocks.field_196579_bG, Blocks.field_150430_aB, Blocks.field_150456_au, Blocks.field_222446_lj, Blocks.field_222447_lk, Blocks.field_222448_ll, Blocks.field_222449_lm, Blocks.field_222450_ln, Blocks.field_222451_lo, Blocks.field_222452_lp, Blocks.field_222453_lq, Blocks.field_222454_lr, Blocks.field_222455_ls, Blocks.field_222456_lt, Blocks.field_222457_lu, Blocks.field_222458_lv, Blocks.field_204409_il, Blocks.field_190975_dA, Blocks.field_190988_dw, Blocks.field_190989_dx, Blocks.field_190986_du, Blocks.field_190984_ds, Blocks.field_190990_dy, Blocks.field_190980_do, Blocks.field_196875_ie, Blocks.field_190982_dq, Blocks.field_190979_dn, Blocks.field_190978_dm, Blocks.field_190983_dr, Blocks.field_190987_dv, Blocks.field_190991_dz, Blocks.field_190977_dl, Blocks.field_190981_dp, Blocks.field_150331_J, Blocks.field_150320_F, Blocks.field_150332_K); public PickaxeItem(IItemTier p_i48478_1_, int p_i48478_2_, float p_i48478_3_, Item.Properties p_i48478_4_) { diff --git a/patches/minecraft/net/minecraft/item/Rarity.java.patch b/patches/minecraft/net/minecraft/item/Rarity.java.patch index 333800c241..9565b68918 100644 --- a/patches/minecraft/net/minecraft/item/Rarity.java.patch +++ b/patches/minecraft/net/minecraft/item/Rarity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/Rarity.java +++ b/net/minecraft/item/Rarity.java -@@ -2,7 +2,7 @@ +@@ -2,7 +_,7 @@ import net.minecraft.util.text.TextFormatting; @@ -9,12 +9,13 @@ COMMON(TextFormatting.WHITE), UNCOMMON(TextFormatting.YELLOW), RARE(TextFormatting.AQUA), -@@ -13,4 +13,8 @@ +@@ -12,5 +_,9 @@ + private Rarity(TextFormatting p_i48837_3_) { this.field_77937_e = p_i48837_3_; - } ++ } + + public static Rarity create(String name, TextFormatting p_i48837_3_) { + throw new IllegalStateException("Enum not extended"); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/ShearsItem.java.patch b/patches/minecraft/net/minecraft/item/ShearsItem.java.patch index 3f3e8d2de9..cb69250577 100644 --- a/patches/minecraft/net/minecraft/item/ShearsItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ShearsItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ShearsItem.java +++ b/net/minecraft/item/ShearsItem.java -@@ -34,4 +34,25 @@ +@@ -34,4 +_,25 @@ return 15.0F; } } diff --git a/patches/minecraft/net/minecraft/item/ShovelItem.java.patch b/patches/minecraft/net/minecraft/item/ShovelItem.java.patch index 6f4d4934d3..c43c54fdbb 100644 --- a/patches/minecraft/net/minecraft/item/ShovelItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ShovelItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ShovelItem.java +++ b/net/minecraft/item/ShovelItem.java -@@ -22,7 +22,7 @@ +@@ -22,7 +_,7 @@ protected static final Map field_195955_e = Maps.newHashMap(ImmutableMap.of(Blocks.field_196658_i, Blocks.field_185774_da.func_176223_P())); public ShovelItem(IItemTier p_i48469_1_, float p_i48469_2_, float p_i48469_3_, Item.Properties p_i48469_4_) { @@ -9,7 +9,7 @@ } public boolean func_150897_b(BlockState p_150897_1_) { -@@ -37,9 +37,9 @@ +@@ -37,9 +_,9 @@ return ActionResultType.PASS; } else { PlayerEntity playerentity = p_195939_1_.func_195999_j(); @@ -21,13 +21,14 @@ world.func_184133_a(playerentity, blockpos, SoundEvents.field_187771_eN, SoundCategory.BLOCKS, 1.0F, 1.0F); blockstate2 = blockstate1; } else if (blockstate.func_177230_c() instanceof CampfireBlock && blockstate.func_177229_b(CampfireBlock.field_220101_b)) { -@@ -67,4 +67,9 @@ +@@ -66,5 +_,10 @@ + return ActionResultType.PASS; } } - } ++ } + + @javax.annotation.Nullable + public static BlockState getShovelPathingState(BlockState originalState) { + return field_195955_e.get(originalState.func_177230_c()); -+ } + } } diff --git a/patches/minecraft/net/minecraft/item/ToolItem.java.patch b/patches/minecraft/net/minecraft/item/ToolItem.java.patch index c8f1ea4405..3551b3acf9 100644 --- a/patches/minecraft/net/minecraft/item/ToolItem.java.patch +++ b/patches/minecraft/net/minecraft/item/ToolItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/ToolItem.java +++ b/net/minecraft/item/ToolItem.java -@@ -33,6 +33,7 @@ +@@ -33,6 +_,7 @@ } public float func_150893_a(ItemStack p_150893_1_, BlockState p_150893_2_) { diff --git a/patches/minecraft/net/minecraft/item/WallOrFloorItem.java.patch b/patches/minecraft/net/minecraft/item/WallOrFloorItem.java.patch index 392861e30d..49cfa859e6 100644 --- a/patches/minecraft/net/minecraft/item/WallOrFloorItem.java.patch +++ b/patches/minecraft/net/minecraft/item/WallOrFloorItem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/WallOrFloorItem.java +++ b/net/minecraft/item/WallOrFloorItem.java -@@ -41,4 +41,9 @@ +@@ -41,4 +_,9 @@ super.func_195946_a(p_195946_1_, p_195946_2_); p_195946_1_.put(this.field_195947_b, p_195946_2_); } diff --git a/patches/minecraft/net/minecraft/item/crafting/BannerDuplicateRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/BannerDuplicateRecipe.java.patch index a0bcbfbf68..1b6284a603 100644 --- a/patches/minecraft/net/minecraft/item/crafting/BannerDuplicateRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/BannerDuplicateRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/BannerDuplicateRecipe.java +++ b/net/minecraft/item/crafting/BannerDuplicateRecipe.java -@@ -77,8 +77,8 @@ +@@ -77,8 +_,8 @@ for(int i = 0; i < nonnulllist.size(); ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); if (!itemstack.func_190926_b()) { diff --git a/patches/minecraft/net/minecraft/item/crafting/BookCloningRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/BookCloningRecipe.java.patch index 8952a808eb..f1d3741cc4 100644 --- a/patches/minecraft/net/minecraft/item/crafting/BookCloningRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/BookCloningRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/BookCloningRecipe.java +++ b/net/minecraft/item/crafting/BookCloningRecipe.java -@@ -79,8 +79,8 @@ +@@ -79,8 +_,8 @@ for(int i = 0; i < nonnulllist.size(); ++i) { ItemStack itemstack = p_179532_1_.func_70301_a(i); diff --git a/patches/minecraft/net/minecraft/item/crafting/CookingRecipeSerializer.java.patch b/patches/minecraft/net/minecraft/item/crafting/CookingRecipeSerializer.java.patch index ef460cffe9..d629985363 100644 --- a/patches/minecraft/net/minecraft/item/crafting/CookingRecipeSerializer.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/CookingRecipeSerializer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/CookingRecipeSerializer.java +++ b/net/minecraft/item/crafting/CookingRecipeSerializer.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; @@ -9,7 +9,7 @@ private final int field_222178_t; private final CookingRecipeSerializer.IFactory field_222179_u; -@@ -21,11 +21,17 @@ +@@ -21,11 +_,17 @@ String s = JSONUtils.func_151219_a(p_199425_2_, "group", ""); JsonElement jsonelement = (JsonElement)(JSONUtils.func_151202_d(p_199425_2_, "ingredient") ? JSONUtils.func_151214_t(p_199425_2_, "ingredient") : JSONUtils.func_152754_s(p_199425_2_, "ingredient")); Ingredient ingredient = Ingredient.func_199802_a(jsonelement); diff --git a/patches/minecraft/net/minecraft/item/crafting/IRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/IRecipe.java.patch index 9bf817be76..0b7a9feeaa 100644 --- a/patches/minecraft/net/minecraft/item/crafting/IRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/IRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/IRecipe.java +++ b/net/minecraft/item/crafting/IRecipe.java -@@ -21,9 +21,9 @@ +@@ -21,9 +_,9 @@ NonNullList nonnulllist = NonNullList.func_191197_a(p_179532_1_.func_70302_i_(), ItemStack.field_190927_a); for(int i = 0; i < nonnulllist.size(); ++i) { diff --git a/patches/minecraft/net/minecraft/item/crafting/IRecipePlacer.java.patch b/patches/minecraft/net/minecraft/item/crafting/IRecipePlacer.java.patch index 1a0f0d3450..ef27dea0a2 100644 --- a/patches/minecraft/net/minecraft/item/crafting/IRecipePlacer.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/IRecipePlacer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/IRecipePlacer.java +++ b/net/minecraft/item/crafting/IRecipePlacer.java -@@ -7,10 +7,10 @@ +@@ -7,10 +_,10 @@ default void func_201501_a(int p_201501_1_, int p_201501_2_, int p_201501_3_, IRecipe p_201501_4_, Iterator p_201501_5_, int p_201501_6_) { int i = p_201501_1_; int j = p_201501_2_; diff --git a/patches/minecraft/net/minecraft/item/crafting/IRecipeSerializer.java.patch b/patches/minecraft/net/minecraft/item/crafting/IRecipeSerializer.java.patch index 4e483fc0a8..75c16b6924 100644 --- a/patches/minecraft/net/minecraft/item/crafting/IRecipeSerializer.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/IRecipeSerializer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/IRecipeSerializer.java +++ b/net/minecraft/item/crafting/IRecipeSerializer.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; @@ -9,7 +9,7 @@ IRecipeSerializer field_222157_a = func_222156_a("crafting_shaped", new ShapedRecipe.Serializer()); IRecipeSerializer field_222158_b = func_222156_a("crafting_shapeless", new ShapelessRecipe.Serializer()); SpecialRecipeSerializer field_222159_c = func_222156_a("crafting_special_armordye", new SpecialRecipeSerializer<>(ArmorDyeRecipe::new)); -@@ -30,6 +30,7 @@ +@@ -30,6 +_,7 @@ T func_199425_a_(ResourceLocation p_199425_1_, JsonObject p_199425_2_); diff --git a/patches/minecraft/net/minecraft/item/crafting/Ingredient.java.patch b/patches/minecraft/net/minecraft/item/crafting/Ingredient.java.patch index 1001c91d6c..1cbd1f824a 100644 --- a/patches/minecraft/net/minecraft/item/crafting/Ingredient.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/Ingredient.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/Ingredient.java +++ b/net/minecraft/item/crafting/Ingredient.java -@@ -28,15 +28,24 @@ +@@ -28,15 +_,24 @@ import net.minecraft.util.registry.Registry; public class Ingredient implements Predicate { @@ -25,7 +25,7 @@ } public ItemStack[] func_193365_a() { -@@ -91,6 +100,10 @@ +@@ -91,6 +_,10 @@ public final void func_199564_a(PacketBuffer p_199564_1_) { this.func_199806_d(); @@ -36,7 +36,7 @@ p_199564_1_.func_150787_b(this.field_193371_b.length); for(int i = 0; i < this.field_193371_b.length; ++i) { -@@ -117,6 +130,25 @@ +@@ -117,6 +_,25 @@ return this.field_199807_b.length == 0 && (this.field_193371_b == null || this.field_193371_b.length == 0) && (this.field_194140_c == null || this.field_194140_c.isEmpty()); } @@ -62,7 +62,7 @@ public static Ingredient func_209357_a(Stream p_209357_0_) { Ingredient ingredient = new Ingredient(p_209357_0_); return ingredient.field_199807_b.length == 0 ? field_193370_a : ingredient; -@@ -144,6 +176,9 @@ +@@ -144,6 +_,9 @@ public static Ingredient func_199566_b(PacketBuffer p_199566_0_) { int i = p_199566_0_.func_150792_a(); @@ -72,7 +72,7 @@ return func_209357_a(Stream.generate(() -> { return new Ingredient.SingleItemList(p_199566_0_.func_150791_c()); }).limit((long)i)); -@@ -151,6 +186,8 @@ +@@ -151,6 +_,8 @@ public static Ingredient func_199802_a(@Nullable JsonElement p_199802_0_) { if (p_199802_0_ != null && !p_199802_0_.isJsonNull()) { @@ -81,7 +81,7 @@ if (p_199802_0_.isJsonObject()) { return func_209357_a(Stream.of(func_199803_a(p_199802_0_.getAsJsonObject()))); } else if (p_199802_0_.isJsonArray()) { -@@ -192,6 +229,12 @@ +@@ -192,6 +_,12 @@ } } @@ -94,7 +94,7 @@ public interface IItemList { Collection func_199799_a(); -@@ -230,6 +273,9 @@ +@@ -230,6 +_,9 @@ list.add(new ItemStack(item)); } diff --git a/patches/minecraft/net/minecraft/item/crafting/RecipeManager.java.patch b/patches/minecraft/net/minecraft/item/crafting/RecipeManager.java.patch index 5325729d7f..43bf8a2d52 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RecipeManager.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RecipeManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/RecipeManager.java +++ b/net/minecraft/item/crafting/RecipeManager.java -@@ -51,9 +51,18 @@ +@@ -51,9 +_,18 @@ for(Entry entry : p_212853_1_.entrySet()) { ResourceLocation resourcelocation = entry.getKey(); diff --git a/patches/minecraft/net/minecraft/item/crafting/RepairItemRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/RepairItemRecipe.java.patch index bdffaa92e6..d99a724046 100644 --- a/patches/minecraft/net/minecraft/item/crafting/RepairItemRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/RepairItemRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/RepairItemRecipe.java +++ b/net/minecraft/item/crafting/RepairItemRecipe.java -@@ -27,7 +27,7 @@ +@@ -27,7 +_,7 @@ list.add(itemstack); if (list.size() > 1) { ItemStack itemstack1 = list.get(0); @@ -9,7 +9,7 @@ return false; } } -@@ -46,7 +46,7 @@ +@@ -46,7 +_,7 @@ list.add(itemstack); if (list.size() > 1) { ItemStack itemstack1 = list.get(0); @@ -18,7 +18,7 @@ return ItemStack.field_190927_a; } } -@@ -56,12 +56,12 @@ +@@ -56,12 +_,12 @@ if (list.size() == 2) { ItemStack itemstack3 = list.get(0); ItemStack itemstack4 = list.get(1); diff --git a/patches/minecraft/net/minecraft/item/crafting/ShapedRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/ShapedRecipe.java.patch index 0a41812557..46aef2bf4e 100644 --- a/patches/minecraft/net/minecraft/item/crafting/ShapedRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/ShapedRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/ShapedRecipe.java +++ b/net/minecraft/item/crafting/ShapedRecipe.java -@@ -21,7 +21,20 @@ +@@ -21,7 +_,20 @@ import net.minecraft.util.registry.Registry; import net.minecraft.world.World; @@ -22,7 +22,7 @@ private final int field_77576_b; private final int field_77577_c; private final NonNullList field_77574_d; -@@ -109,10 +122,20 @@ +@@ -109,10 +_,20 @@ return this.field_77576_b; } @@ -43,7 +43,7 @@ private static NonNullList func_192402_a(String[] p_192402_0_, Map p_192402_1_, int p_192402_2_, int p_192402_3_) { NonNullList nonnulllist = NonNullList.func_191197_a(p_192402_2_ * p_192402_3_, Ingredient.field_193370_a); Set set = Sets.newHashSet(p_192402_1_.keySet()); -@@ -192,15 +215,15 @@ +@@ -192,15 +_,15 @@ private static String[] func_192407_a(JsonArray p_192407_0_) { String[] astring = new String[p_192407_0_.size()]; @@ -63,7 +63,7 @@ } if (i > 0 && astring[0].length() != s.length()) { -@@ -242,11 +265,12 @@ +@@ -242,11 +_,12 @@ throw new JsonParseException("Disallowed data tag found"); } else { int i = JSONUtils.func_151208_a(p_199798_0_, "count", 1); diff --git a/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipe.java.patch index f781cb2194..82815f5b69 100644 --- a/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/ShapelessRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/ShapelessRecipe.java +++ b/net/minecraft/item/crafting/ShapelessRecipe.java -@@ -17,12 +17,14 @@ +@@ -17,12 +_,14 @@ private final String field_194138_c; private final ItemStack field_77580_a; private final NonNullList field_77579_b; @@ -15,7 +15,7 @@ } public ResourceLocation func_199560_c() { -@@ -47,17 +49,20 @@ +@@ -47,17 +_,20 @@ public boolean func_77569_a(CraftingInventory p_77569_1_, World p_77569_2_) { RecipeItemHelper recipeitemhelper = new RecipeItemHelper(); @@ -37,7 +37,7 @@ } public ItemStack func_77572_b(CraftingInventory p_77572_1_) { -@@ -68,14 +73,15 @@ +@@ -68,14 +_,15 @@ return p_194133_1_ * p_194133_2_ >= this.field_77579_b.size(); } diff --git a/patches/minecraft/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java.patch index b8e099fa4d..773afbfaf9 100644 --- a/patches/minecraft/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java +++ b/net/minecraft/item/crafting/ShulkerBoxColoringRecipe.java -@@ -25,7 +25,7 @@ +@@ -25,7 +_,7 @@ if (Block.func_149634_a(itemstack.func_77973_b()) instanceof ShulkerBoxBlock) { ++i; } else { @@ -9,7 +9,7 @@ return false; } -@@ -43,7 +43,7 @@ +@@ -43,7 +_,7 @@ public ItemStack func_77572_b(CraftingInventory p_77572_1_) { ItemStack itemstack = ItemStack.field_190927_a; @@ -18,7 +18,7 @@ for(int i = 0; i < p_77572_1_.func_70302_i_(); ++i) { ItemStack itemstack1 = p_77572_1_.func_70301_a(i); -@@ -51,13 +51,14 @@ +@@ -51,13 +_,14 @@ Item item = itemstack1.func_77973_b(); if (Block.func_149634_a(item) instanceof ShulkerBoxBlock) { itemstack = itemstack1; diff --git a/patches/minecraft/net/minecraft/item/crafting/SingleItemRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/SingleItemRecipe.java.patch index 43387b5760..2f630e9743 100644 --- a/patches/minecraft/net/minecraft/item/crafting/SingleItemRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/SingleItemRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/SingleItemRecipe.java +++ b/net/minecraft/item/crafting/SingleItemRecipe.java -@@ -60,7 +60,7 @@ +@@ -60,7 +_,7 @@ return this.field_222132_b.func_77946_l(); } diff --git a/patches/minecraft/net/minecraft/item/crafting/SmithingRecipe.java.patch b/patches/minecraft/net/minecraft/item/crafting/SmithingRecipe.java.patch index 60b2d9096c..ab35ff6c53 100644 --- a/patches/minecraft/net/minecraft/item/crafting/SmithingRecipe.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/SmithingRecipe.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/SmithingRecipe.java +++ b/net/minecraft/item/crafting/SmithingRecipe.java -@@ -65,7 +65,7 @@ +@@ -65,7 +_,7 @@ return IRecipeType.field_234827_g_; } diff --git a/patches/minecraft/net/minecraft/item/crafting/SpecialRecipeSerializer.java.patch b/patches/minecraft/net/minecraft/item/crafting/SpecialRecipeSerializer.java.patch index 195ee9902c..7d34609488 100644 --- a/patches/minecraft/net/minecraft/item/crafting/SpecialRecipeSerializer.java.patch +++ b/patches/minecraft/net/minecraft/item/crafting/SpecialRecipeSerializer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/item/crafting/SpecialRecipeSerializer.java +++ b/net/minecraft/item/crafting/SpecialRecipeSerializer.java -@@ -5,7 +5,7 @@ +@@ -5,7 +_,7 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; diff --git a/patches/minecraft/net/minecraft/loot/LootContext.java.patch b/patches/minecraft/net/minecraft/loot/LootContext.java.patch index e6b95b38e8..47ef3e7133 100644 --- a/patches/minecraft/net/minecraft/loot/LootContext.java.patch +++ b/patches/minecraft/net/minecraft/loot/LootContext.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/LootContext.java +++ b/net/minecraft/loot/LootContext.java -@@ -94,17 +94,47 @@ +@@ -94,17 +_,47 @@ return this.field_186499_b; } @@ -48,7 +48,7 @@ public LootContext.Builder func_216023_a(Random p_216023_1_) { this.field_216027_d = p_216023_1_; return this; -@@ -177,7 +207,7 @@ +@@ -177,7 +_,7 @@ public LootContext func_216022_a(LootParameterSet p_216022_1_) { Set> set = Sets.difference(this.field_216025_b.keySet(), p_216022_1_.func_216276_b()); @@ -57,7 +57,7 @@ throw new IllegalArgumentException("Parameters not allowed in this parameter set: " + set); } else { Set> set1 = Sets.difference(p_216022_1_.func_216277_a(), this.field_216025_b.keySet()); -@@ -190,7 +220,7 @@ +@@ -190,7 +_,7 @@ } MinecraftServer minecraftserver = this.field_186474_a.func_73046_m(); diff --git a/patches/minecraft/net/minecraft/loot/LootParameterSets.java.patch b/patches/minecraft/net/minecraft/loot/LootParameterSets.java.patch index 3f7862a678..36996187a3 100644 --- a/patches/minecraft/net/minecraft/loot/LootParameterSets.java.patch +++ b/patches/minecraft/net/minecraft/loot/LootParameterSets.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/LootParameterSets.java +++ b/net/minecraft/loot/LootParameterSets.java -@@ -12,6 +12,7 @@ +@@ -12,6 +_,7 @@ }); public static final LootParameterSet field_216261_b = func_216253_a("chest", (p_216259_0_) -> { p_216259_0_.func_216269_a(LootParameters.field_237457_g_).func_216271_b(LootParameters.field_216281_a); @@ -8,7 +8,7 @@ }); public static final LootParameterSet field_227557_c_ = func_216253_a("command", (p_216250_0_) -> { p_216250_0_.func_216269_a(LootParameters.field_237457_g_).func_216271_b(LootParameters.field_216281_a); -@@ -21,6 +22,7 @@ +@@ -21,6 +_,7 @@ }); public static final LootParameterSet field_216262_c = func_216253_a("fishing", (p_216258_0_) -> { p_216258_0_.func_216269_a(LootParameters.field_237457_g_).func_216269_a(LootParameters.field_216289_i).func_216271_b(LootParameters.field_216281_a); diff --git a/patches/minecraft/net/minecraft/loot/LootPool.java.patch b/patches/minecraft/net/minecraft/loot/LootPool.java.patch index 816d14abd7..1fb3fcc087 100644 --- a/patches/minecraft/net/minecraft/loot/LootPool.java.patch +++ b/patches/minecraft/net/minecraft/loot/LootPool.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/LootPool.java +++ b/net/minecraft/loot/LootPool.java -@@ -25,17 +25,19 @@ +@@ -25,17 +_,19 @@ import org.apache.commons.lang3.mutable.MutableInt; public class LootPool { @@ -25,7 +25,7 @@ this.field_216101_c = LootConditionManager.func_216305_a(p_i51268_2_); this.field_216102_d = p_i51268_3_; this.field_216103_e = LootFunctionManager.func_216241_a(p_i51268_3_); -@@ -92,19 +94,33 @@ +@@ -92,19 +_,33 @@ } public void func_227505_a_(ValidationTracker p_227505_1_) { @@ -63,7 +63,7 @@ public static LootPool.Builder func_216096_a() { return new LootPool.Builder(); -@@ -116,6 +132,7 @@ +@@ -116,6 +_,7 @@ private final List field_216049_c = Lists.newArrayList(); private IRandomRange field_216050_d = new RandomValueRange(1.0F); private RandomValueRange field_216051_e = new RandomValueRange(0.0F, 0.0F); @@ -71,7 +71,7 @@ public LootPool.Builder func_216046_a(IRandomRange p_216046_1_) { this.field_216050_d = p_216046_1_; -@@ -141,11 +158,21 @@ +@@ -141,11 +_,21 @@ return this; } @@ -94,7 +94,7 @@ } } } -@@ -158,18 +185,20 @@ +@@ -158,18 +_,20 @@ ILootFunction[] ailootfunction = JSONUtils.func_188177_a(jsonobject, "functions", new ILootFunction[0], p_deserialize_3_, ILootFunction[].class); IRandomRange irandomrange = RandomRanges.func_216130_a(jsonobject.get("rolls"), p_deserialize_3_); RandomValueRange randomvaluerange = JSONUtils.func_188177_a(jsonobject, "bonus_rolls", new RandomValueRange(0.0F, 0.0F), p_deserialize_3_, RandomValueRange.class); diff --git a/patches/minecraft/net/minecraft/loot/LootTable.java.patch b/patches/minecraft/net/minecraft/loot/LootTable.java.patch index 1b770f8141..2262dc77e9 100644 --- a/patches/minecraft/net/minecraft/loot/LootTable.java.patch +++ b/patches/minecraft/net/minecraft/loot/LootTable.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/LootTable.java +++ b/net/minecraft/loot/LootTable.java -@@ -31,13 +31,13 @@ +@@ -31,13 +_,13 @@ public static final LootTable field_186464_a = new LootTable(LootParameterSets.field_216260_a, new LootPool[0], new ILootFunction[0]); public static final LootParameterSet field_216126_b = LootParameterSets.field_216266_g; private final LootParameterSet field_216127_d; @@ -16,7 +16,7 @@ this.field_216128_f = p_i51265_3_; this.field_216129_g = LootFunctionManager.func_216241_a(p_i51265_3_); } -@@ -75,6 +75,7 @@ +@@ -75,6 +_,7 @@ } @@ -24,7 +24,7 @@ public void func_216120_b(LootContext p_216120_1_, Consumer p_216120_2_) { this.func_216114_a(p_216120_1_, func_216124_a(p_216120_2_)); } -@@ -82,6 +83,7 @@ +@@ -82,6 +_,7 @@ public List func_216113_a(LootContext p_216113_1_) { List list = Lists.newArrayList(); this.func_216120_b(p_216113_1_, list::add); @@ -32,7 +32,7 @@ return list; } -@@ -90,8 +92,8 @@ +@@ -90,8 +_,8 @@ } public void func_227506_a_(ValidationTracker p_227506_1_) { @@ -43,7 +43,7 @@ } for(int j = 0; j < this.field_216128_f.length; ++j) { -@@ -173,6 +175,48 @@ +@@ -173,6 +_,48 @@ return new LootTable.Builder(); } @@ -92,7 +92,7 @@ public static class Builder implements ILootFunctionConsumer { private final List field_216041_a = Lists.newArrayList(); private final List field_216042_b = Lists.newArrayList(); -@@ -227,7 +271,7 @@ +@@ -227,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/loot/LootTableManager.java.patch b/patches/minecraft/net/minecraft/loot/LootTableManager.java.patch index 3d4c099940..15689465fb 100644 --- a/patches/minecraft/net/minecraft/loot/LootTableManager.java.patch +++ b/patches/minecraft/net/minecraft/loot/LootTableManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/LootTableManager.java +++ b/net/minecraft/loot/LootTableManager.java -@@ -36,8 +36,8 @@ +@@ -36,8 +_,8 @@ } p_212853_1_.forEach((p_237403_1_, p_237403_2_) -> { diff --git a/patches/minecraft/net/minecraft/loot/conditions/RandomChanceWithLooting.java.patch b/patches/minecraft/net/minecraft/loot/conditions/RandomChanceWithLooting.java.patch index 616e48f196..dff0cfbca0 100644 --- a/patches/minecraft/net/minecraft/loot/conditions/RandomChanceWithLooting.java.patch +++ b/patches/minecraft/net/minecraft/loot/conditions/RandomChanceWithLooting.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/conditions/RandomChanceWithLooting.java +++ b/net/minecraft/loot/conditions/RandomChanceWithLooting.java -@@ -33,12 +33,7 @@ +@@ -33,12 +_,7 @@ } public boolean test(LootContext p_test_1_) { diff --git a/patches/minecraft/net/minecraft/loot/functions/LootingEnchantBonus.java.patch b/patches/minecraft/net/minecraft/loot/functions/LootingEnchantBonus.java.patch index 22a377ae16..1b0f418924 100644 --- a/patches/minecraft/net/minecraft/loot/functions/LootingEnchantBonus.java.patch +++ b/patches/minecraft/net/minecraft/loot/functions/LootingEnchantBonus.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/functions/LootingEnchantBonus.java +++ b/net/minecraft/loot/functions/LootingEnchantBonus.java -@@ -43,7 +43,7 @@ +@@ -43,7 +_,7 @@ public ItemStack func_215859_a(ItemStack p_215859_1_, LootContext p_215859_2_) { Entity entity = p_215859_2_.func_216031_c(LootParameters.field_216284_d); if (entity instanceof LivingEntity) { diff --git a/patches/minecraft/net/minecraft/loot/functions/Smelt.java.patch b/patches/minecraft/net/minecraft/loot/functions/Smelt.java.patch index df09160504..7c1414693a 100644 --- a/patches/minecraft/net/minecraft/loot/functions/Smelt.java.patch +++ b/patches/minecraft/net/minecraft/loot/functions/Smelt.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/loot/functions/Smelt.java +++ b/net/minecraft/loot/functions/Smelt.java -@@ -34,7 +34,7 @@ +@@ -34,7 +_,7 @@ ItemStack itemstack = optional.get().func_77571_b(); if (!itemstack.func_190926_b()) { ItemStack itemstack1 = itemstack.func_77946_l(); diff --git a/patches/minecraft/net/minecraft/nbt/CompoundNBT.java.patch b/patches/minecraft/net/minecraft/nbt/CompoundNBT.java.patch index acbf25abe5..5bb1e9b6d7 100644 --- a/patches/minecraft/net/minecraft/nbt/CompoundNBT.java.patch +++ b/patches/minecraft/net/minecraft/nbt/CompoundNBT.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/nbt/CompoundNBT.java +++ b/net/minecraft/nbt/CompoundNBT.java -@@ -49,6 +49,7 @@ +@@ -49,6 +_,7 @@ while((b0 = CompoundNBT.func_152447_a(p_225649_1_, p_225649_3_)) != 0) { String s = CompoundNBT.func_152448_b(p_225649_1_, p_225649_3_); p_225649_3_.func_152450_a((long)(224 + 16 * s.length())); @@ -8,7 +8,7 @@ INBT inbt = CompoundNBT.func_229680_b_(NBTTypes.func_229710_a_(b0), s, p_225649_1_, p_225649_2_ + 1, p_225649_3_); if (map.put(s, inbt) != null) { p_225649_3_.func_152450_a(288L); -@@ -104,6 +105,7 @@ +@@ -104,6 +_,7 @@ @Nullable public INBT func_218657_a(String p_218657_1_, INBT p_218657_2_) { @@ -16,7 +16,7 @@ return this.field_74784_a.put(p_218657_1_, p_218657_2_); } -@@ -408,11 +410,12 @@ +@@ -408,11 +_,12 @@ } private static byte func_152447_a(DataInput p_152447_0_, NBTSizeTracker p_152447_1_) throws IOException { diff --git a/patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch b/patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch index 9af0d33347..b89a4c1ba8 100644 --- a/patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch +++ b/patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/nbt/CompressedStreamTools.java +++ b/net/minecraft/nbt/CompressedStreamTools.java -@@ -106,10 +106,12 @@ +@@ -106,10 +_,12 @@ private static INBT func_152455_a(DataInput p_152455_0_, int p_152455_1_, NBTSizeTracker p_152455_2_) throws IOException { byte b0 = p_152455_0_.readByte(); diff --git a/patches/minecraft/net/minecraft/nbt/NBTSizeTracker.java.patch b/patches/minecraft/net/minecraft/nbt/NBTSizeTracker.java.patch index 8bde6e8484..a7527f2b42 100644 --- a/patches/minecraft/net/minecraft/nbt/NBTSizeTracker.java.patch +++ b/patches/minecraft/net/minecraft/nbt/NBTSizeTracker.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/nbt/NBTSizeTracker.java +++ b/net/minecraft/nbt/NBTSizeTracker.java -@@ -18,4 +18,34 @@ +@@ -18,4 +_,34 @@ throw new RuntimeException("Tried to read NBT tag that was too big; tried to allocate: " + this.field_152453_c + "bytes where max allowed: " + this.field_152452_b); } } diff --git a/patches/minecraft/net/minecraft/nbt/StringNBT.java.patch b/patches/minecraft/net/minecraft/nbt/StringNBT.java.patch index 1a2c869e87..86ea890670 100644 --- a/patches/minecraft/net/minecraft/nbt/StringNBT.java.patch +++ b/patches/minecraft/net/minecraft/nbt/StringNBT.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/nbt/StringNBT.java +++ b/net/minecraft/nbt/StringNBT.java -@@ -12,7 +12,7 @@ +@@ -12,7 +_,7 @@ public StringNBT func_225649_b_(DataInput p_225649_1_, int p_225649_2_, NBTSizeTracker p_225649_3_) throws IOException { p_225649_3_.func_152450_a(288L); String s = p_225649_1_.readUTF(); diff --git a/patches/minecraft/net/minecraft/network/NettyPacketEncoder.java.patch b/patches/minecraft/net/minecraft/network/NettyPacketEncoder.java.patch index b46d648865..ef2a515e1d 100644 --- a/patches/minecraft/net/minecraft/network/NettyPacketEncoder.java.patch +++ b/patches/minecraft/net/minecraft/network/NettyPacketEncoder.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/NettyPacketEncoder.java +++ b/net/minecraft/network/NettyPacketEncoder.java -@@ -37,7 +37,7 @@ +@@ -37,7 +_,7 @@ try { p_encode_2_.func_148840_b(packetbuffer); } catch (Throwable throwable) { diff --git a/patches/minecraft/net/minecraft/network/NetworkManager.java.patch b/patches/minecraft/net/minecraft/network/NetworkManager.java.patch index 4a35a2654d..a14b4fe349 100644 --- a/patches/minecraft/net/minecraft/network/NetworkManager.java.patch +++ b/patches/minecraft/net/minecraft/network/NetworkManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/NetworkManager.java +++ b/net/minecraft/network/NetworkManager.java -@@ -74,6 +74,7 @@ +@@ -74,6 +_,7 @@ private float field_211397_t; private int field_211398_u; private boolean field_211399_v; @@ -8,7 +8,7 @@ public NetworkManager(PacketDirection p_i46004_1_) { this.field_179294_g = p_i46004_1_; -@@ -83,6 +84,7 @@ +@@ -83,6 +_,7 @@ super.channelActive(p_channelActive_1_); this.field_150746_k = p_channelActive_1_.channel(); this.field_150743_l = this.field_150746_k.remoteAddress(); @@ -16,7 +16,7 @@ try { this.func_150723_a(ProtocolType.HANDSHAKING); -@@ -171,7 +173,7 @@ +@@ -171,7 +_,7 @@ ++this.field_211395_r; if (protocoltype1 != protocoltype) { field_150735_g.debug("Disabled auto read"); @@ -25,7 +25,7 @@ } if (this.field_150746_k.eventLoop().inEventLoop()) { -@@ -259,7 +261,9 @@ +@@ -259,7 +_,9 @@ @OnlyIn(Dist.CLIENT) public static NetworkManager func_181124_a(InetAddress p_181124_0_, int p_181124_1_, boolean p_181124_2_) { @@ -35,7 +35,7 @@ Class oclass; LazyValue lazyvalue; if (Epoll.isAvailable() && p_181124_2_) { -@@ -286,6 +290,7 @@ +@@ -286,6 +_,7 @@ @OnlyIn(Dist.CLIENT) public static NetworkManager func_150722_a(SocketAddress p_150722_0_) { final NetworkManager networkmanager = new NetworkManager(PacketDirection.CLIENTBOUND); @@ -43,18 +43,18 @@ (new Bootstrap()).group(field_179296_e.func_179281_c()).handler(new ChannelInitializer() { protected void initChannel(Channel p_initChannel_1_) throws Exception { p_initChannel_1_.pipeline().addLast("packet_handler", networkmanager); -@@ -376,6 +381,14 @@ +@@ -374,6 +_,14 @@ + @OnlyIn(Dist.CLIENT) + public float func_211390_n() { return this.field_211397_t; - } - ++ } ++ + public Channel channel() { + return field_150746_k; + } + + public PacketDirection getDirection() { + return this.field_179294_g; -+ } -+ + } + static class QueuedPacket { - private final IPacket field_150774_a; - @Nullable diff --git a/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch b/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch index 08c72919ce..e3ea0b6ddd 100644 --- a/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch +++ b/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/NetworkSystem.java +++ b/net/minecraft/network/NetworkSystem.java -@@ -41,11 +41,12 @@ +@@ -41,11 +_,12 @@ public class NetworkSystem { private static final Logger field_151275_b = LogManager.getLogger(); @@ -15,7 +15,7 @@ }); private final MinecraftServer field_151273_d; public volatile boolean field_151277_a; -@@ -58,6 +59,7 @@ +@@ -58,6 +_,7 @@ } public void func_151265_a(@Nullable InetAddress p_151265_1_, int p_151265_2_) throws IOException { @@ -23,7 +23,7 @@ synchronized(this.field_151274_e) { Class oclass; LazyValue lazyvalue; -@@ -78,7 +80,7 @@ +@@ -78,7 +_,7 @@ } catch (ChannelException channelexception) { } diff --git a/patches/minecraft/net/minecraft/network/PacketBuffer.java.patch b/patches/minecraft/net/minecraft/network/PacketBuffer.java.patch index 7818611868..23bf0010a2 100644 --- a/patches/minecraft/net/minecraft/network/PacketBuffer.java.patch +++ b/patches/minecraft/net/minecraft/network/PacketBuffer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/PacketBuffer.java +++ b/net/minecraft/network/PacketBuffer.java -@@ -39,7 +39,7 @@ +@@ -39,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ private final ByteBuf field_150794_a; public PacketBuffer(ByteBuf p_i45154_1_) { -@@ -292,6 +292,15 @@ +@@ -292,6 +_,15 @@ } public PacketBuffer func_150788_a(ItemStack p_150788_1_) { @@ -25,7 +25,7 @@ if (p_150788_1_.func_190926_b()) { this.writeBoolean(false); } else { -@@ -300,8 +309,8 @@ +@@ -300,8 +_,8 @@ this.func_150787_b(Item.func_150891_b(item)); this.writeByte(p_150788_1_.func_190916_E()); CompoundNBT compoundnbt = null; @@ -36,7 +36,7 @@ } this.func_150786_a(compoundnbt); -@@ -317,7 +326,7 @@ +@@ -317,7 +_,7 @@ int i = this.func_150792_a(); int j = this.readByte(); ItemStack itemstack = new ItemStack(Item.func_150899_d(i), j); diff --git a/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch b/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch index d1c68139d9..6778b73fe3 100644 --- a/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch +++ b/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch @@ -1,11 +1,11 @@ --- a/net/minecraft/network/ServerStatusResponse.java +++ b/net/minecraft/network/ServerStatusResponse.java -@@ -19,13 +19,24 @@ +@@ -19,6 +_,16 @@ private ServerStatusResponse.Players field_151324_b; private ServerStatusResponse.Version field_151325_c; private String field_151323_d; + private transient net.minecraftforge.fml.network.FMLStatusPing forgeData; - ++ + public net.minecraftforge.fml.network.FMLStatusPing getForgeData() { + return this.forgeData; + } @@ -14,10 +14,10 @@ + this.forgeData = data; + invalidateJson(); + } -+ + public ITextComponent func_151317_a() { return this.field_151326_a; - } +@@ -26,6 +_,7 @@ public void func_151315_a(ITextComponent p_151315_1_) { this.field_151326_a = p_151315_1_; @@ -25,7 +25,7 @@ } public ServerStatusResponse.Players func_151318_b() { -@@ -34,6 +45,7 @@ +@@ -34,6 +_,7 @@ public void func_151319_a(ServerStatusResponse.Players p_151319_1_) { this.field_151324_b = p_151319_1_; @@ -33,7 +33,7 @@ } public ServerStatusResponse.Version func_151322_c() { -@@ -42,16 +54,51 @@ +@@ -42,16 +_,51 @@ public void func_151321_a(ServerStatusResponse.Version p_151321_1_) { this.field_151325_c = p_151321_1_; @@ -85,7 +85,7 @@ public static class Players { private final int field_151336_a; private final int field_151334_b; -@@ -143,6 +190,10 @@ +@@ -143,6 +_,10 @@ serverstatusresponse.func_151320_a(JSONUtils.func_151200_h(jsonobject, "favicon")); } @@ -96,14 +96,14 @@ return serverstatusresponse; } -@@ -164,6 +215,10 @@ - jsonobject.addProperty("favicon", p_serialize_1_.func_151316_d()); - } +@@ -162,6 +_,10 @@ -+ if(p_serialize_1_.getForgeData() != null){ -+ jsonobject.add("forgeData", net.minecraftforge.fml.network.FMLStatusPing.Serializer.serialize(p_serialize_1_.getForgeData(), p_serialize_3_)); + if (p_serialize_1_.func_151316_d() != null) { + jsonobject.addProperty("favicon", p_serialize_1_.func_151316_d()); + } + ++ if(p_serialize_1_.getForgeData() != null){ ++ jsonobject.add("forgeData", net.minecraftforge.fml.network.FMLStatusPing.Serializer.serialize(p_serialize_1_.getForgeData(), p_serialize_3_)); + } + return jsonobject; - } - } diff --git a/patches/minecraft/net/minecraft/network/datasync/DataSerializers.java.patch b/patches/minecraft/net/minecraft/network/datasync/DataSerializers.java.patch index abae472263..6f8392de37 100644 --- a/patches/minecraft/net/minecraft/network/datasync/DataSerializers.java.patch +++ b/patches/minecraft/net/minecraft/network/datasync/DataSerializers.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/datasync/DataSerializers.java +++ b/net/minecraft/network/datasync/DataSerializers.java -@@ -301,16 +301,16 @@ +@@ -301,16 +_,16 @@ }; public static void func_187189_a(IDataSerializer p_187189_0_) { diff --git a/patches/minecraft/net/minecraft/network/datasync/EntityDataManager.java.patch b/patches/minecraft/net/minecraft/network/datasync/EntityDataManager.java.patch index 22b2dcd786..eb788a40e9 100644 --- a/patches/minecraft/net/minecraft/network/datasync/EntityDataManager.java.patch +++ b/patches/minecraft/net/minecraft/network/datasync/EntityDataManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/datasync/EntityDataManager.java +++ b/net/minecraft/network/datasync/EntityDataManager.java -@@ -36,11 +36,13 @@ +@@ -36,11 +_,13 @@ } public static DataParameter func_187226_a(Class p_187226_0_, IDataSerializer p_187226_1_) { diff --git a/patches/minecraft/net/minecraft/network/handshake/ServerHandshakeNetHandler.java.patch b/patches/minecraft/net/minecraft/network/handshake/ServerHandshakeNetHandler.java.patch index 60095e0330..39c1058b2f 100644 --- a/patches/minecraft/net/minecraft/network/handshake/ServerHandshakeNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/network/handshake/ServerHandshakeNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/handshake/ServerHandshakeNetHandler.java +++ b/net/minecraft/network/handshake/ServerHandshakeNetHandler.java -@@ -23,6 +23,7 @@ +@@ -23,6 +_,7 @@ } public void func_147383_a(CHandshakePacket p_147383_1_) { diff --git a/patches/minecraft/net/minecraft/network/handshake/client/CHandshakePacket.java.patch b/patches/minecraft/net/minecraft/network/handshake/client/CHandshakePacket.java.patch index c0bd3b03d9..a6ce7e7117 100644 --- a/patches/minecraft/net/minecraft/network/handshake/client/CHandshakePacket.java.patch +++ b/patches/minecraft/net/minecraft/network/handshake/client/CHandshakePacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/handshake/client/CHandshakePacket.java +++ b/net/minecraft/network/handshake/client/CHandshakePacket.java -@@ -14,6 +14,7 @@ +@@ -14,6 +_,7 @@ private String field_149598_b; private int field_149599_c; private ProtocolType field_149597_d; @@ -8,7 +8,7 @@ public CHandshakePacket() { } -@@ -31,11 +32,13 @@ +@@ -31,11 +_,13 @@ this.field_149598_b = p_148837_1_.func_150789_c(255); this.field_149599_c = p_148837_1_.readUnsignedShort(); this.field_149597_d = ProtocolType.func_150760_a(p_148837_1_.func_150792_a()); @@ -23,12 +23,13 @@ p_148840_1_.writeShort(this.field_149599_c); p_148840_1_.func_150787_b(this.field_149597_d.func_150759_c()); } -@@ -51,4 +54,8 @@ +@@ -50,5 +_,9 @@ + public int func_149595_d() { return this.field_149600_a; - } ++ } + + public String getFMLVersion() { + return this.fmlVersion; -+ } + } } diff --git a/patches/minecraft/net/minecraft/network/login/ServerLoginNetHandler.java.patch b/patches/minecraft/net/minecraft/network/login/ServerLoginNetHandler.java.patch index 9b29cd7f9c..ddf3535398 100644 --- a/patches/minecraft/net/minecraft/network/login/ServerLoginNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/network/login/ServerLoginNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/login/ServerLoginNetHandler.java +++ b/net/minecraft/network/login/ServerLoginNetHandler.java -@@ -55,7 +55,13 @@ +@@ -55,7 +_,13 @@ } public void func_73660_a() { @@ -15,7 +15,7 @@ this.func_147326_c(); } else if (this.field_147328_g == ServerLoginNetHandler.State.DELAY_ACCEPT) { ServerPlayerEntity serverplayerentity = this.field_147327_f.func_184103_al().func_177451_a(this.field_147337_i.getId()); -@@ -130,7 +136,7 @@ +@@ -130,7 +_,7 @@ this.field_147328_g = ServerLoginNetHandler.State.KEY; this.field_147333_a.func_179290_a(new SEncryptionRequestPacket("", this.field_147327_f.func_71250_E().getPublic().getEncoded(), this.field_147330_e)); } else { @@ -24,7 +24,7 @@ } } -@@ -155,7 +161,7 @@ +@@ -155,7 +_,7 @@ throw new IllegalStateException("Protocol error", cryptexception); } @@ -33,7 +33,7 @@ public void run() { GameProfile gameprofile = ServerLoginNetHandler.this.field_147337_i; -@@ -163,11 +169,11 @@ +@@ -163,11 +_,11 @@ ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.field_147327_f.func_147130_as().hasJoinedServer(new GameProfile((UUID)null, gameprofile.getName()), s, this.func_191235_a()); if (ServerLoginNetHandler.this.field_147337_i != null) { ServerLoginNetHandler.field_147332_c.info("UUID of player {} is {}", ServerLoginNetHandler.this.field_147337_i.getName(), ServerLoginNetHandler.this.field_147337_i.getId()); @@ -47,7 +47,7 @@ } else { ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.unverified_username")); ServerLoginNetHandler.field_147332_c.error("Username '{}' tried to join with an invalid session", (Object)gameprofile.getName()); -@@ -176,7 +182,7 @@ +@@ -176,7 +_,7 @@ if (ServerLoginNetHandler.this.field_147327_f.func_71264_H()) { ServerLoginNetHandler.field_147332_c.warn("Authentication servers are down but will let them in anyway!"); ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.func_152506_a(gameprofile); @@ -56,7 +56,7 @@ } else { ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.authservers_down")); ServerLoginNetHandler.field_147332_c.error("Couldn't verify username because servers are unavailable"); -@@ -196,6 +202,7 @@ +@@ -196,6 +_,7 @@ } public void func_209526_a(CCustomPayloadLoginPacket p_209526_1_) { diff --git a/patches/minecraft/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java.patch b/patches/minecraft/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java.patch index 74a47fd28a..a0ce1534dd 100644 --- a/patches/minecraft/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java +++ b/net/minecraft/network/login/client/CCustomPayloadLoginPacket.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java.patch b/patches/minecraft/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java.patch index f83916c0c8..69f48902ac 100644 --- a/patches/minecraft/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java +++ b/net/minecraft/network/login/server/SCustomPayloadLoginPacket.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/network/play/ServerPlayNetHandler.java.patch b/patches/minecraft/net/minecraft/network/play/ServerPlayNetHandler.java.patch index 751155df94..756a30299f 100644 --- a/patches/minecraft/net/minecraft/network/play/ServerPlayNetHandler.java.patch +++ b/patches/minecraft/net/minecraft/network/play/ServerPlayNetHandler.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/play/ServerPlayNetHandler.java +++ b/net/minecraft/network/play/ServerPlayNetHandler.java -@@ -391,9 +391,11 @@ +@@ -391,9 +_,11 @@ } entity.func_70080_a(d3, d4, d5, f, f1); @@ -12,7 +12,7 @@ this.field_147371_a.func_179290_a(new SMoveVehiclePacket(entity)); return; } -@@ -410,7 +412,7 @@ +@@ -410,7 +_,7 @@ } private boolean func_241162_a_(Entity p_241162_1_) { @@ -21,7 +21,7 @@ } public void func_184339_a(CConfirmTeleportPacket p_184339_1_) { -@@ -950,7 +952,9 @@ +@@ -950,7 +_,9 @@ Direction direction = blockraytraceresult.func_216354_b(); this.field_147369_b.func_143004_u(); if (blockpos.func_177956_o() < this.field_147367_d.func_71207_Z()) { @@ -32,7 +32,7 @@ ActionResultType actionresulttype = this.field_147369_b.field_71134_c.func_219441_a(this.field_147369_b, serverworld, itemstack, hand, blockraytraceresult); if (direction == Direction.UP && !actionresulttype.func_226246_a_() && blockpos.func_177956_o() >= this.field_147367_d.func_71207_Z() - 1 && func_241166_a_(this.field_147369_b, itemstack)) { ITextComponent itextcomponent = (new TranslationTextComponent("build.tooHigh", this.field_147367_d.func_71207_Z())).func_240699_a_(TextFormatting.RED); -@@ -1097,7 +1101,9 @@ +@@ -1097,7 +_,9 @@ if (p_244548_1_.startsWith("/")) { this.func_147361_d(p_244548_1_); } else { @@ -43,7 +43,7 @@ this.field_147367_d.func_184103_al().func_232641_a_(itextcomponent, ChatType.CHAT, this.field_147369_b.func_110124_au()); } -@@ -1187,6 +1193,7 @@ +@@ -1187,6 +_,7 @@ if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.INTERACT) { optional = Optional.of(this.field_147369_b.func_190775_a(entity, hand)); } else if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.INTERACT_AT) { @@ -51,7 +51,7 @@ optional = Optional.of(entity.func_184199_a(this.field_147369_b, p_147340_1_.func_179712_b(), hand)); } else if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.ATTACK) { if (entity instanceof ItemEntity || entity instanceof ExperienceOrbEntity || entity instanceof AbstractArrowEntity || entity == this.field_147369_b) { -@@ -1402,6 +1409,8 @@ +@@ -1402,6 +_,8 @@ } public void func_147349_a(CCustomPayloadPacket p_147349_1_) { diff --git a/patches/minecraft/net/minecraft/network/play/client/CClickWindowPacket.java.patch b/patches/minecraft/net/minecraft/network/play/client/CClickWindowPacket.java.patch index 14348bc645..8c87e6baa6 100644 --- a/patches/minecraft/net/minecraft/network/play/client/CClickWindowPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/play/client/CClickWindowPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/play/client/CClickWindowPacket.java +++ b/net/minecraft/network/play/client/CClickWindowPacket.java -@@ -49,7 +49,7 @@ +@@ -49,7 +_,7 @@ p_148840_1_.writeByte(this.field_149553_c); p_148840_1_.writeShort(this.field_149550_d); p_148840_1_.func_179249_a(this.field_149549_f); diff --git a/patches/minecraft/net/minecraft/network/play/client/CClientSettingsPacket.java.patch b/patches/minecraft/net/minecraft/network/play/client/CClientSettingsPacket.java.patch index 2a2ad07b6b..837f3006de 100644 --- a/patches/minecraft/net/minecraft/network/play/client/CClientSettingsPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/play/client/CClientSettingsPacket.java.patch @@ -1,11 +1,11 @@ --- a/net/minecraft/network/play/client/CClientSettingsPacket.java +++ b/net/minecraft/network/play/client/CClientSettingsPacket.java -@@ -67,4 +67,8 @@ +@@ -67,4 +_,8 @@ public HandSide func_186991_f() { return this.field_186992_f; } + -+ public String getLanguage() { ++ public String func_149524_c() { + return this.field_149530_a; + } } diff --git a/patches/minecraft/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java.patch b/patches/minecraft/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java.patch index 7a88742026..50d64ae8f2 100644 --- a/patches/minecraft/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java +++ b/net/minecraft/network/play/client/CCreativeInventoryActionPacket.java -@@ -32,7 +32,7 @@ +@@ -32,7 +_,7 @@ public void func_148840_b(PacketBuffer p_148840_1_) throws IOException { p_148840_1_.writeShort(this.field_149629_a); diff --git a/patches/minecraft/net/minecraft/network/play/client/CCustomPayloadPacket.java.patch b/patches/minecraft/net/minecraft/network/play/client/CCustomPayloadPacket.java.patch index aa6f287f6f..d4720f1ee5 100644 --- a/patches/minecraft/net/minecraft/network/play/client/CCustomPayloadPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/play/client/CCustomPayloadPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/play/client/CCustomPayloadPacket.java +++ b/net/minecraft/network/play/client/CCustomPayloadPacket.java -@@ -9,7 +9,7 @@ +@@ -9,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -9,7 +9,7 @@ public static final ResourceLocation field_210344_a = new ResourceLocation("brand"); private ResourceLocation field_149562_a; private PacketBuffer field_149561_c; -@@ -35,7 +35,7 @@ +@@ -35,7 +_,7 @@ public void func_148840_b(PacketBuffer p_148840_1_) throws IOException { p_148840_1_.func_192572_a(this.field_149562_a); diff --git a/patches/minecraft/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java.patch b/patches/minecraft/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java.patch index dfe6a4754c..0e298d41e7 100644 --- a/patches/minecraft/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java +++ b/net/minecraft/network/play/server/SCustomPayloadPlayPacket.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/network/rcon/ClientThread.java.patch b/patches/minecraft/net/minecraft/network/rcon/ClientThread.java.patch index a87aebde87..3be730acec 100644 --- a/patches/minecraft/net/minecraft/network/rcon/ClientThread.java.patch +++ b/patches/minecraft/net/minecraft/network/rcon/ClientThread.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/rcon/ClientThread.java +++ b/net/minecraft/network/rcon/ClientThread.java -@@ -116,13 +116,14 @@ +@@ -116,13 +_,14 @@ } private void func_72655_a(int p_72655_1_, String p_72655_2_) throws IOException { diff --git a/patches/minecraft/net/minecraft/network/rcon/RConConsoleSource.java.patch b/patches/minecraft/net/minecraft/network/rcon/RConConsoleSource.java.patch index 003063a6dd..352b5c8983 100644 --- a/patches/minecraft/net/minecraft/network/rcon/RConConsoleSource.java.patch +++ b/patches/minecraft/net/minecraft/network/rcon/RConConsoleSource.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/rcon/RConConsoleSource.java +++ b/net/minecraft/network/rcon/RConConsoleSource.java -@@ -34,7 +34,7 @@ +@@ -34,7 +_,7 @@ } public void func_145747_a(ITextComponent p_145747_1_, UUID p_145747_2_) { diff --git a/patches/minecraft/net/minecraft/network/status/server/SServerInfoPacket.java.patch b/patches/minecraft/net/minecraft/network/status/server/SServerInfoPacket.java.patch index 3eeb50c60c..ff5a7239dc 100644 --- a/patches/minecraft/net/minecraft/network/status/server/SServerInfoPacket.java.patch +++ b/patches/minecraft/net/minecraft/network/status/server/SServerInfoPacket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/network/status/server/SServerInfoPacket.java +++ b/net/minecraft/network/status/server/SServerInfoPacket.java -@@ -30,7 +30,7 @@ +@@ -30,7 +_,7 @@ } public void func_148840_b(PacketBuffer p_148840_1_) throws IOException { diff --git a/patches/minecraft/net/minecraft/particles/BlockParticleData.java.patch b/patches/minecraft/net/minecraft/particles/BlockParticleData.java.patch index d97bc3b09c..8e9fd2f03b 100644 --- a/patches/minecraft/net/minecraft/particles/BlockParticleData.java.patch +++ b/patches/minecraft/net/minecraft/particles/BlockParticleData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/particles/BlockParticleData.java +++ b/net/minecraft/particles/BlockParticleData.java -@@ -54,4 +54,15 @@ +@@ -54,4 +_,15 @@ public BlockState func_197584_c() { return this.field_197587_c; } diff --git a/patches/minecraft/net/minecraft/particles/ItemParticleData.java.patch b/patches/minecraft/net/minecraft/particles/ItemParticleData.java.patch index d1092f07c4..0bf23847db 100644 --- a/patches/minecraft/net/minecraft/particles/ItemParticleData.java.patch +++ b/patches/minecraft/net/minecraft/particles/ItemParticleData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/particles/ItemParticleData.java +++ b/net/minecraft/particles/ItemParticleData.java -@@ -37,7 +37,7 @@ +@@ -37,7 +_,7 @@ public ItemParticleData(ParticleType p_i47952_1_, ItemStack p_i47952_2_) { this.field_197558_b = p_i47952_1_; diff --git a/patches/minecraft/net/minecraft/particles/ParticleType.java.patch b/patches/minecraft/net/minecraft/particles/ParticleType.java.patch index a21e811777..c01c114c0b 100644 --- a/patches/minecraft/net/minecraft/particles/ParticleType.java.patch +++ b/patches/minecraft/net/minecraft/particles/ParticleType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/particles/ParticleType.java +++ b/net/minecraft/particles/ParticleType.java -@@ -4,7 +4,7 @@ +@@ -4,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/particles/ParticleTypes.java.patch b/patches/minecraft/net/minecraft/particles/ParticleTypes.java.patch index 0747c59fd2..00b961d798 100644 --- a/patches/minecraft/net/minecraft/particles/ParticleTypes.java.patch +++ b/patches/minecraft/net/minecraft/particles/ParticleTypes.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/particles/ParticleTypes.java +++ b/net/minecraft/particles/ParticleTypes.java -@@ -4,6 +4,7 @@ +@@ -4,6 +_,7 @@ import java.util.function.Function; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/pathfinding/ClimberPathNavigator.java.patch b/patches/minecraft/net/minecraft/pathfinding/ClimberPathNavigator.java.patch index 64a012a6b1..92fd1a7913 100644 --- a/patches/minecraft/net/minecraft/pathfinding/ClimberPathNavigator.java.patch +++ b/patches/minecraft/net/minecraft/pathfinding/ClimberPathNavigator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/pathfinding/ClimberPathNavigator.java +++ b/net/minecraft/pathfinding/ClimberPathNavigator.java -@@ -38,7 +38,8 @@ +@@ -38,7 +_,8 @@ super.func_75501_e(); } else { if (this.field_179696_f != null) { diff --git a/patches/minecraft/net/minecraft/pathfinding/PathNavigator.java.patch b/patches/minecraft/net/minecraft/pathfinding/PathNavigator.java.patch index 0af034f522..9550408308 100644 --- a/patches/minecraft/net/minecraft/pathfinding/PathNavigator.java.patch +++ b/patches/minecraft/net/minecraft/pathfinding/PathNavigator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/pathfinding/PathNavigator.java +++ b/net/minecraft/pathfinding/PathNavigator.java -@@ -208,9 +208,9 @@ +@@ -208,9 +_,9 @@ Vector3d vector3d = this.func_75502_i(); this.field_188561_o = this.field_75515_a.func_213311_cf() > 0.75F ? this.field_75515_a.func_213311_cf() / 2.0F : 0.75F - this.field_75515_a.func_213311_cf() / 2.0F; Vector3i vector3i = this.field_75514_c.func_242948_g(); diff --git a/patches/minecraft/net/minecraft/pathfinding/PathNodeType.java.patch b/patches/minecraft/net/minecraft/pathfinding/PathNodeType.java.patch index 92dfc30d6c..06623f6f15 100644 --- a/patches/minecraft/net/minecraft/pathfinding/PathNodeType.java.patch +++ b/patches/minecraft/net/minecraft/pathfinding/PathNodeType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/pathfinding/PathNodeType.java +++ b/net/minecraft/pathfinding/PathNodeType.java -@@ -35,4 +35,13 @@ +@@ -35,4 +_,13 @@ public float func_186289_a() { return this.field_186307_r; } diff --git a/patches/minecraft/net/minecraft/pathfinding/WalkNodeProcessor.java.patch b/patches/minecraft/net/minecraft/pathfinding/WalkNodeProcessor.java.patch index 5e5217a1b5..44e2e6143f 100644 --- a/patches/minecraft/net/minecraft/pathfinding/WalkNodeProcessor.java.patch +++ b/patches/minecraft/net/minecraft/pathfinding/WalkNodeProcessor.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/pathfinding/WalkNodeProcessor.java +++ b/net/minecraft/pathfinding/WalkNodeProcessor.java -@@ -463,9 +463,11 @@ +@@ -463,9 +_,11 @@ protected static PathNodeType func_237238_b_(IBlockReader p_237238_0_, BlockPos p_237238_1_) { BlockState blockstate = p_237238_0_.func_180495_p(p_237238_1_); diff --git a/patches/minecraft/net/minecraft/potion/Effect.java.patch b/patches/minecraft/net/minecraft/potion/Effect.java.patch index 8d1721897a..0f12fa0b6a 100644 --- a/patches/minecraft/net/minecraft/potion/Effect.java.patch +++ b/patches/minecraft/net/minecraft/potion/Effect.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/potion/Effect.java +++ b/net/minecraft/potion/Effect.java -@@ -18,7 +18,7 @@ +@@ -18,7 +_,7 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TranslationTextComponent; diff --git a/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch b/patches/minecraft/net/minecraft/potion/EffectInstance.java.patch index 285222c85e..6b96959a7c 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 -@@ -9,7 +9,7 @@ +@@ -9,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ private static final Logger field_180155_a = LogManager.getLogger(); private final Effect field_188420_b; private int field_76460_b; -@@ -64,6 +64,7 @@ +@@ -64,6 +_,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; @@ -17,7 +17,7 @@ } public boolean func_199308_a(EffectInstance p_199308_1_) { -@@ -112,7 +113,7 @@ +@@ -112,7 +_,7 @@ } public Effect func_188419_a() { @@ -26,7 +26,7 @@ } public int func_76459_b() { -@@ -230,11 +231,12 @@ +@@ -230,11 +_,12 @@ this.field_230115_j_.func_82719_a(compoundnbt); p_230119_1_.func_218657_a("HiddenEffect", compoundnbt); } @@ -40,7 +40,7 @@ Effect effect = Effect.func_188412_a(i); return effect == null ? null : func_230116_a_(effect, p_82722_0_); } -@@ -258,7 +260,7 @@ +@@ -258,7 +_,7 @@ effectinstance = func_230116_a_(p_230116_0_, p_230116_1_.func_74775_l("HiddenEffect")); } @@ -49,13 +49,13 @@ } @OnlyIn(Dist.CLIENT) -@@ -273,6 +275,32 @@ +@@ -273,6 +_,32 @@ public int compareTo(EffectInstance p_compareTo_1_) { int i = 32147; - return (this.func_76459_b() <= 32147 || p_compareTo_1_.func_76459_b() <= 32147) && (!this.func_82720_e() || !p_compareTo_1_.func_82720_e()) ? ComparisonChain.start().compare(this.func_82720_e(), p_compareTo_1_.func_82720_e()).compare(this.func_76459_b(), p_compareTo_1_.func_76459_b()).compare(this.func_188419_a().func_76401_j(), p_compareTo_1_.func_188419_a().func_76401_j()).result() : ComparisonChain.start().compare(this.func_82720_e(), p_compareTo_1_.func_82720_e()).compare(this.func_188419_a().func_76401_j(), p_compareTo_1_.func_188419_a().func_76401_j()).result(); + return (this.func_76459_b() <= 32147 || p_compareTo_1_.func_76459_b() <= 32147) && (!this.func_82720_e() || !p_compareTo_1_.func_82720_e()) ? ComparisonChain.start().compare(this.func_82720_e(), p_compareTo_1_.func_82720_e()).compare(this.func_76459_b(), p_compareTo_1_.func_76459_b()).compare(this.func_188419_a().getGuiSortColor(this), p_compareTo_1_.func_188419_a().getGuiSortColor(this)).result() : ComparisonChain.start().compare(this.func_82720_e(), p_compareTo_1_.func_82720_e()).compare(this.func_188419_a().getGuiSortColor(this), p_compareTo_1_.func_188419_a().getGuiSortColor(this)).result(); - } ++ } + + //======================= FORGE START =========================== + private java.util.List curativeItems; @@ -81,5 +81,5 @@ + } + + return effect; -+ } + } } diff --git a/patches/minecraft/net/minecraft/potion/Effects.java.patch b/patches/minecraft/net/minecraft/potion/Effects.java.patch index 7975ade0da..1018313b8e 100644 --- a/patches/minecraft/net/minecraft/potion/Effects.java.patch +++ b/patches/minecraft/net/minecraft/potion/Effects.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/potion/Effects.java +++ b/net/minecraft/potion/Effects.java -@@ -8,6 +8,7 @@ +@@ -8,6 +_,7 @@ import net.minecraft.world.Difficulty; import net.minecraft.world.server.ServerWorld; diff --git a/patches/minecraft/net/minecraft/potion/Potion.java.patch b/patches/minecraft/net/minecraft/potion/Potion.java.patch index 5d6d26f8c1..aacc9bb081 100644 --- a/patches/minecraft/net/minecraft/potion/Potion.java.patch +++ b/patches/minecraft/net/minecraft/potion/Potion.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/potion/Potion.java +++ b/net/minecraft/potion/Potion.java -@@ -6,7 +6,8 @@ +@@ -6,7 +_,8 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; @@ -10,18 +10,18 @@ private final String field_185179_d; private final ImmutableList field_185180_e; -@@ -23,6 +24,14 @@ +@@ -21,6 +_,14 @@ + public Potion(@Nullable String p_i46740_1_, EffectInstance... p_i46740_2_) { + this.field_185179_d = p_i46740_1_; this.field_185180_e = ImmutableList.copyOf(p_i46740_2_); - } - ++ } ++ + public java.util.Set getTags() { + return reverseTags.getTagNames(); + } + + public boolean isIn(net.minecraft.tags.ITag tag) { + return tag.func_230235_a_(this); -+ } -+ - public String func_185174_b(String p_185174_1_) { - return p_185174_1_ + (this.field_185179_d == null ? Registry.field_212621_j.func_177774_c(this).func_110623_a() : this.field_185179_d); } + + public String func_185174_b(String p_185174_1_) { diff --git a/patches/minecraft/net/minecraft/potion/PotionBrewing.java.patch b/patches/minecraft/net/minecraft/potion/PotionBrewing.java.patch index 2bc631b7f4..ffac31921a 100644 --- a/patches/minecraft/net/minecraft/potion/PotionBrewing.java.patch +++ b/patches/minecraft/net/minecraft/potion/PotionBrewing.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/potion/PotionBrewing.java +++ b/net/minecraft/potion/PotionBrewing.java -@@ -56,7 +56,7 @@ +@@ -56,7 +_,7 @@ int i = 0; for(int j = field_185213_a.size(); i < j; ++i) { @@ -9,7 +9,7 @@ return true; } } -@@ -78,7 +78,7 @@ +@@ -78,7 +_,7 @@ for(int j = field_185214_b.size(); i < j; ++i) { PotionBrewing.MixPredicate mixpredicate = field_185214_b.get(i); @@ -18,7 +18,7 @@ return true; } } -@@ -92,7 +92,7 @@ +@@ -92,7 +_,7 @@ for(int j = field_185213_a.size(); i < j; ++i) { PotionBrewing.MixPredicate mixpredicate = field_185213_a.get(i); @@ -27,7 +27,7 @@ return true; } } -@@ -108,8 +108,8 @@ +@@ -108,8 +_,8 @@ for(int j = field_185214_b.size(); i < j; ++i) { PotionBrewing.MixPredicate mixpredicate = field_185214_b.get(i); @@ -38,7 +38,7 @@ } } -@@ -117,8 +117,8 @@ +@@ -117,8 +_,8 @@ for(int k = field_185213_a.size(); i < k; ++i) { PotionBrewing.MixPredicate mixpredicate1 = field_185213_a.get(i); @@ -49,7 +49,7 @@ } } } -@@ -211,15 +211,15 @@ +@@ -211,15 +_,15 @@ field_185213_a.add(new PotionBrewing.MixPredicate<>(p_193357_0_, Ingredient.func_199804_a(p_193357_1_), p_193357_2_)); } diff --git a/patches/minecraft/net/minecraft/resources/DataPackRegistries.java.patch b/patches/minecraft/net/minecraft/resources/DataPackRegistries.java.patch index 786414aefb..1f22d61d0b 100644 --- a/patches/minecraft/net/minecraft/resources/DataPackRegistries.java.patch +++ b/patches/minecraft/net/minecraft/resources/DataPackRegistries.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/DataPackRegistries.java +++ b/net/minecraft/resources/DataPackRegistries.java -@@ -32,6 +32,7 @@ +@@ -32,6 +_,7 @@ this.field_240952_b_.func_219534_a(this.field_240957_g_); this.field_240952_b_.func_219534_a(this.field_240959_i_); this.field_240952_b_.func_219534_a(this.field_240958_h_); @@ -8,7 +8,7 @@ } public FunctionReloader func_240960_a_() { -@@ -81,6 +82,7 @@ +@@ -81,6 +_,7 @@ public void func_240971_i_() { this.field_240955_e_.func_242231_a().func_242212_e(); diff --git a/patches/minecraft/net/minecraft/resources/IResourceManagerReloadListener.java.patch b/patches/minecraft/net/minecraft/resources/IResourceManagerReloadListener.java.patch index 1bdd80b926..03bde233d9 100644 --- a/patches/minecraft/net/minecraft/resources/IResourceManagerReloadListener.java.patch +++ b/patches/minecraft/net/minecraft/resources/IResourceManagerReloadListener.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/IResourceManagerReloadListener.java +++ b/net/minecraft/resources/IResourceManagerReloadListener.java -@@ -5,6 +5,11 @@ +@@ -5,6 +_,11 @@ import net.minecraft.profiler.IProfiler; import net.minecraft.util.Unit; @@ -12,7 +12,7 @@ public interface IResourceManagerReloadListener extends IFutureReloadListener { default CompletableFuture func_215226_a(IFutureReloadListener.IStage p_215226_1_, IResourceManager p_215226_2_, IProfiler p_215226_3_, IProfiler p_215226_4_, Executor p_215226_5_, Executor p_215226_6_) { return p_215226_1_.func_216872_a(Unit.INSTANCE).thenRunAsync(() -> { -@@ -17,4 +22,9 @@ +@@ -17,4 +_,9 @@ } void func_195410_a(IResourceManager p_195410_1_); diff --git a/patches/minecraft/net/minecraft/resources/IResourcePack.java.patch b/patches/minecraft/net/minecraft/resources/IResourcePack.java.patch index b3ce21bfba..072185ad1b 100644 --- a/patches/minecraft/net/minecraft/resources/IResourcePack.java.patch +++ b/patches/minecraft/net/minecraft/resources/IResourcePack.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/IResourcePack.java +++ b/net/minecraft/resources/IResourcePack.java -@@ -11,7 +11,7 @@ +@@ -11,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/resources/ResourcePackInfo.java.patch b/patches/minecraft/net/minecraft/resources/ResourcePackInfo.java.patch index 47d886a680..9797579a1a 100644 --- a/patches/minecraft/net/minecraft/resources/ResourcePackInfo.java.patch +++ b/patches/minecraft/net/minecraft/resources/ResourcePackInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/ResourcePackInfo.java +++ b/net/minecraft/resources/ResourcePackInfo.java -@@ -30,6 +30,7 @@ +@@ -30,6 +_,7 @@ private final ResourcePackInfo.Priority field_195805_g; private final boolean field_195806_h; private final boolean field_195807_i; @@ -8,7 +8,7 @@ private final IPackNameDecorator field_232611_k_; @Nullable -@@ -53,7 +54,12 @@ +@@ -53,7 +_,12 @@ return null; } @@ -21,7 +21,7 @@ this.field_195800_b = p_i231422_1_; this.field_195801_c = p_i231422_3_; this.field_195802_d = p_i231422_4_; -@@ -63,12 +69,18 @@ +@@ -63,10 +_,16 @@ this.field_195805_g = p_i231422_7_; this.field_195807_i = p_i231422_8_; this.field_232611_k_ = p_i231422_9_; @@ -32,16 +32,14 @@ public ResourcePackInfo(String p_i231421_1_, boolean p_i231421_2_, Supplier p_i231421_3_, IResourcePack p_i231421_4_, PackMetadataSection p_i231421_5_, ResourcePackInfo.Priority p_i231421_6_, IPackNameDecorator p_i231421_7_) { - this(p_i231421_1_, p_i231421_2_, p_i231421_3_, new StringTextComponent(p_i231421_4_.func_195762_a()), p_i231421_5_.func_198963_a(), PackCompatibility.func_198969_a(p_i231421_5_.func_198962_b()), p_i231421_6_, false, p_i231421_7_); + this(p_i231421_1_, p_i231421_2_, p_i231421_3_, p_i231421_4_, p_i231421_5_, p_i231421_6_, p_i231421_7_, false); - } - -+ public ResourcePackInfo(String p_i231421_1_, boolean p_i231421_2_, Supplier p_i231421_3_, IResourcePack p_i231421_4_, PackMetadataSection p_i231421_5_, ResourcePackInfo.Priority p_i231421_6_, IPackNameDecorator p_i231421_7_, boolean hidden) { -+ this(p_i231421_1_, p_i231421_2_, p_i231421_3_, new StringTextComponent(p_i231421_4_.func_195762_a()), p_i231421_5_.func_198963_a(), PackCompatibility.func_198969_a(p_i231421_5_.func_198962_b()), p_i231421_6_, false, p_i231421_7_, hidden); + } + ++ public ResourcePackInfo(String p_i231421_1_, boolean p_i231421_2_, Supplier p_i231421_3_, IResourcePack p_i231421_4_, PackMetadataSection p_i231421_5_, ResourcePackInfo.Priority p_i231421_6_, IPackNameDecorator p_i231421_7_, boolean hidden) { ++ this(p_i231421_1_, p_i231421_2_, p_i231421_3_, new StringTextComponent(p_i231421_4_.func_195762_a()), p_i231421_5_.func_198963_a(), PackCompatibility.func_198969_a(p_i231421_5_.func_198962_b()), p_i231421_6_, false, p_i231421_7_, hidden); + } + @OnlyIn(Dist.CLIENT) - public ITextComponent func_195789_b() { - return this.field_195802_d; -@@ -113,6 +125,8 @@ +@@ -113,6 +_,8 @@ public IPackNameDecorator func_232614_i_() { return this.field_232611_k_; } diff --git a/patches/minecraft/net/minecraft/resources/ResourcePackList.java.patch b/patches/minecraft/net/minecraft/resources/ResourcePackList.java.patch index 2e3cff3a3b..62aeb95f87 100644 --- a/patches/minecraft/net/minecraft/resources/ResourcePackList.java.patch +++ b/patches/minecraft/net/minecraft/resources/ResourcePackList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/ResourcePackList.java +++ b/net/minecraft/resources/ResourcePackList.java -@@ -22,7 +22,7 @@ +@@ -22,7 +_,7 @@ public ResourcePackList(ResourcePackInfo.IFactory p_i231423_1_, IPackFinder... p_i231423_2_) { this.field_198990_d = p_i231423_1_; @@ -9,14 +9,14 @@ } public ResourcePackList(IPackFinder... p_i241886_1_) { -@@ -89,6 +89,10 @@ +@@ -87,6 +_,10 @@ + @Nullable + public ResourcePackInfo func_198981_a(String p_198981_1_) { return this.field_198988_b.get(p_198981_1_); - } - -+ public void addPackFinder(IPackFinder packFinder) { -+ this.field_198987_a.add(packFinder); + } + - public void close() { - this.field_198988_b.values().forEach(ResourcePackInfo::close); ++ public void addPackFinder(IPackFinder packFinder) { ++ this.field_198987_a.add(packFinder); } + + public void close() { diff --git a/patches/minecraft/net/minecraft/resources/VanillaPack.java.patch b/patches/minecraft/net/minecraft/resources/VanillaPack.java.patch index f2d69301f2..6294faa21e 100644 --- a/patches/minecraft/net/minecraft/resources/VanillaPack.java.patch +++ b/patches/minecraft/net/minecraft/resources/VanillaPack.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/resources/VanillaPack.java +++ b/net/minecraft/resources/VanillaPack.java -@@ -171,7 +171,7 @@ +@@ -171,7 +_,7 @@ try { URL url = VanillaPack.class.getResource(s); @@ -9,7 +9,7 @@ } catch (IOException ioexception) { return VanillaPack.class.getResourceAsStream(s); } -@@ -187,7 +187,7 @@ +@@ -187,7 +_,7 @@ @Nullable protected InputStream func_200010_a(String p_200010_1_) { @@ -18,10 +18,11 @@ } public boolean func_195764_b(ResourcePackType p_195764_1_, ResourceLocation p_195764_2_) { -@@ -226,4 +226,18 @@ +@@ -225,5 +_,19 @@ + } public void close() { - } ++ } + + //Vanilla used to just grab from the classpath, this breaks dev environments, and Forge runtime + //as forge ships vanilla assets in an 'extra' jar with no classes. @@ -35,5 +36,5 @@ + } catch (IOException e) { + return VanillaPack.class.getResourceAsStream(resource); + } -+ } + } } diff --git a/patches/minecraft/net/minecraft/server/Main.java.patch b/patches/minecraft/net/minecraft/server/Main.java.patch index baa7eff20f..259bbce804 100644 --- a/patches/minecraft/net/minecraft/server/Main.java.patch +++ b/patches/minecraft/net/minecraft/server/Main.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/Main.java +++ b/net/minecraft/server/Main.java -@@ -71,6 +71,8 @@ +@@ -71,6 +_,8 @@ OptionSpec optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1); OptionSpec optionspec12 = optionparser.accepts("serverId").withRequiredArg(); OptionSpec optionspec13 = optionparser.nonOptions(); @@ -9,18 +9,18 @@ try { OptionSet optionset = optionparser.parse(p_main_0_); -@@ -78,33 +80,38 @@ +@@ -78,33 +_,38 @@ optionparser.printHelpOn(System.err); return; } + Path path1 = Paths.get("eula.txt"); + ServerEula servereula = new ServerEula(path1); - ++ + if (!servereula.func_154346_a()) { + field_240759_a_.info("You need to agree to the EULA in order to run the server. Go to eula.txt for more info."); + return; + } -+ + CrashReport.func_230188_h_(); Bootstrap.func_151354_b(); Bootstrap.func_218821_c(); @@ -55,7 +55,7 @@ SaveFormat saveformat = SaveFormat.func_237269_a_(file1.toPath()); SaveFormat.LevelSave saveformat$levelsave = saveformat.func_237274_c_(s); MinecraftServer.func_240777_a_(saveformat$levelsave); -@@ -142,6 +149,8 @@ +@@ -142,6 +_,8 @@ dimensiongeneratorsettings = optionset.has(optionspec3) ? serverproperties.field_241082_U_.func_236230_k_() : serverproperties.field_241082_U_; } @@ -64,7 +64,7 @@ iserverconfiguration = new ServerWorldInfo(worldsettings, dimensiongeneratorsettings, Lifecycle.stable()); } -@@ -169,6 +178,7 @@ +@@ -169,6 +_,7 @@ Thread thread = new Thread("Server Shutdown Thread") { public void run() { dedicatedserver.func_71263_m(true); diff --git a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch index b8b173f574..473bc5a15e 100644 --- a/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch +++ b/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -228,7 +228,7 @@ +@@ -228,7 +_,7 @@ public static S func_240784_a_(Function p_240784_0_) { AtomicReference atomicreference = new AtomicReference<>(); @@ -9,7 +9,7 @@ atomicreference.get().func_240802_v_(); }, "Server thread"); thread.setUncaughtExceptionHandler((p_240779_0_, p_240779_1_) -> { -@@ -376,6 +376,7 @@ +@@ -376,6 +_,7 @@ worldborder.func_177737_a(new IBorderListener.Impl(serverworld1.func_175723_af())); this.field_71305_c.put(registrykey1, serverworld1); } @@ -17,7 +17,7 @@ } } -@@ -387,6 +388,7 @@ +@@ -387,6 +_,7 @@ } else if (p_240786_3_) { p_240786_1_.func_176143_a(BlockPos.field_177992_a.func_177984_a(), 0.0F); } else { @@ -25,7 +25,7 @@ BiomeProvider biomeprovider = chunkgenerator.func_202090_b(); Random random = new Random(p_240786_0_.func_72905_C()); BlockPos blockpos = biomeprovider.func_225531_a_(0, p_240786_0_.func_181545_F(), 0, 256, (p_244265_0_) -> { -@@ -452,6 +454,7 @@ +@@ -452,6 +_,7 @@ } private void func_213186_a(IChunkStatusListener p_213186_1_) { @@ -33,7 +33,7 @@ ServerWorld serverworld = this.func_241755_D_(); field_147145_h.info("Preparing start region for dimension {}", (Object)serverworld.func_234923_W_().func_240901_a_()); BlockPos blockpos = serverworld.func_241135_u_(); -@@ -479,6 +482,7 @@ +@@ -479,6 +_,7 @@ ChunkPos chunkpos = new ChunkPos(i); serverworld1.func_72863_F().func_217206_a(chunkpos, true); } @@ -41,7 +41,7 @@ } } -@@ -566,6 +570,7 @@ +@@ -566,6 +_,7 @@ for(ServerWorld serverworld1 : this.func_212370_w()) { if (serverworld1 != null) { try { @@ -49,7 +49,7 @@ serverworld1.close(); } catch (IOException ioexception1) { field_147145_h.error("Exception closing the level", (Throwable)ioexception1); -@@ -614,6 +619,7 @@ +@@ -614,6 +_,7 @@ protected void func_240802_v_() { 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())); -@@ -643,7 +649,10 @@ +@@ -643,7 +_,10 @@ this.func_240795_b_(longtickdetector); this.field_71296_Q = true; } @@ -68,7 +68,7 @@ this.func_71228_a((CrashReport)null); } } catch (Throwable throwable1) { -@@ -662,6 +671,7 @@ +@@ -662,6 +_,7 @@ field_147145_h.error("We were unable to save this crash report to disk."); } @@ -76,7 +76,7 @@ this.func_71228_a(crashreport); } finally { try { -@@ -670,6 +680,7 @@ +@@ -670,6 +_,7 @@ } catch (Throwable throwable) { field_147145_h.error("Exception stopping the server", throwable); } finally { @@ -84,7 +84,7 @@ this.func_71240_o(); } -@@ -771,6 +782,7 @@ +@@ -771,6 +_,7 @@ protected void func_71217_p(BooleanSupplier p_71217_1_) { long i = Util.func_211178_c(); @@ -92,7 +92,7 @@ ++this.field_71315_w; this.func_71190_q(p_71217_1_); if (i - this.field_147142_T >= 5000000000L) { -@@ -785,6 +797,7 @@ +@@ -785,6 +_,7 @@ Collections.shuffle(Arrays.asList(agameprofile)); this.field_147147_p.func_151318_b().func_151330_a(agameprofile); @@ -100,7 +100,7 @@ } if (this.field_71315_w % 6000 == 0) { -@@ -812,6 +825,7 @@ +@@ -812,6 +_,7 @@ long i1 = Util.func_211178_c(); this.field_213215_ap.func_181747_a(i1 - i); this.field_71304_b.func_76319_b(); @@ -108,7 +108,7 @@ } protected void func_71190_q(BooleanSupplier p_71190_1_) { -@@ -819,7 +833,8 @@ +@@ -819,7 +_,8 @@ this.func_193030_aL().func_73660_a(); this.field_71304_b.func_219895_b("levels"); @@ -118,7 +118,7 @@ this.field_71304_b.func_194340_a(() -> { return serverworld + " " + serverworld.func_234923_W_().func_240901_a_(); }); -@@ -830,6 +845,7 @@ +@@ -830,6 +_,7 @@ } this.field_71304_b.func_76320_a("tick"); @@ -126,7 +126,7 @@ try { serverworld.func_72835_b(p_71190_1_); -@@ -838,9 +854,11 @@ +@@ -838,9 +_,11 @@ serverworld.func_72914_a(crashreport); throw new ReportedException(crashreport); } @@ -138,7 +138,7 @@ } this.field_71304_b.func_219895_b("connection"); -@@ -915,7 +933,7 @@ +@@ -915,7 +_,7 @@ } public String getServerModName() { @@ -147,7 +147,7 @@ } public CrashReport func_71230_b(CrashReport p_71230_1_) { -@@ -928,6 +946,7 @@ +@@ -928,6 +_,7 @@ p_71230_1_.func_85056_g().func_189529_a("Data Packs", () -> { StringBuilder stringbuilder = new StringBuilder(); @@ -155,7 +155,7 @@ for(ResourcePackInfo resourcepackinfo : this.field_195577_ad.func_198980_d()) { if (stringbuilder.length() > 0) { stringbuilder.append(", "); -@@ -1280,6 +1299,7 @@ +@@ -1280,6 +_,7 @@ this.func_184103_al().func_193244_w(); this.field_200258_al.func_240946_a_(this.field_195576_ac.func_240960_a_()); this.field_240765_ak_.func_195410_a(this.field_195576_ac.func_240970_h_()); @@ -163,7 +163,7 @@ }, this); if (this.func_213162_bc()) { this.func_213161_c(completablefuture::isDone); -@@ -1289,10 +1309,13 @@ +@@ -1289,10 +_,13 @@ } public static DatapackCodec func_240772_a_(ResourcePackList p_240772_0_, DatapackCodec p_240772_1_, boolean p_240772_2_) { @@ -179,7 +179,7 @@ } else { Set set = Sets.newLinkedHashSet(); -@@ -1442,6 +1465,31 @@ +@@ -1442,6 +_,31 @@ public abstract boolean func_213199_b(GameProfile p_213199_1_); @@ -211,14 +211,14 @@ public void func_223711_a(Path p_223711_1_) throws IOException { Path path = p_223711_1_.resolve("levels"); -@@ -1570,6 +1618,10 @@ - return this.field_240768_i_; - } +@@ -1568,6 +_,10 @@ -+ public DataPackRegistries getDataPackRegistries() { -+ return field_195576_ac; + public IServerConfiguration func_240793_aU_() { + return this.field_240768_i_; + } + - public DynamicRegistries func_244267_aX() { - return this.field_240767_f_; ++ public DataPackRegistries getDataPackRegistries() { ++ return field_195576_ac; } + + public DynamicRegistries func_244267_aX() { diff --git a/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch index d5e8e0a894..c4e7018c71 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 -@@ -81,6 +81,7 @@ +@@ -81,6 +_,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 s1; -@@ -162,11 +163,13 @@ +@@ -162,11 +_,13 @@ SkullTileEntity.func_184293_a(this.func_152358_ax()); SkullTileEntity.func_184294_a(this.func_147130_as()); PlayerProfileCache.func_187320_a(this.func_71266_T()); @@ -22,7 +22,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); } -@@ -190,11 +193,12 @@ +@@ -190,11 +_,12 @@ } Items.field_190931_a.func_150895_a(ItemGroup.field_78027_g, NonNullList.func_191196_a()); @@ -36,15 +36,15 @@ } } -@@ -515,6 +519,11 @@ - return false; - } +@@ -513,6 +_,11 @@ + public boolean func_213199_b(GameProfile p_213199_1_) { + return false; ++ } ++ + @Override //Forge: Enable formated text for colors in console. + public void func_145747_a(net.minecraft.util.text.ITextComponent message, java.util.UUID p_145747_2_) { + field_155771_h.info(message.getString()); -+ } -+ - public int func_230512_b_(int p_230512_1_) { - return this.func_213221_d_().field_241081_R_ * p_230512_1_ / 100; } + + public int func_230512_b_(int p_230512_1_) { diff --git a/patches/minecraft/net/minecraft/server/dedicated/PropertyManager.java.patch b/patches/minecraft/net/minecraft/server/dedicated/PropertyManager.java.patch index 323ad6609d..b177a94161 100644 --- a/patches/minecraft/net/minecraft/server/dedicated/PropertyManager.java.patch +++ b/patches/minecraft/net/minecraft/server/dedicated/PropertyManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/dedicated/PropertyManager.java +++ b/net/minecraft/server/dedicated/PropertyManager.java -@@ -39,7 +39,7 @@ +@@ -39,7 +_,7 @@ public void func_218970_c(Path p_218970_1_) { try (OutputStream outputstream = Files.newOutputStream(p_218970_1_)) { diff --git a/patches/minecraft/net/minecraft/server/dedicated/ServerHangWatchdog.java.patch b/patches/minecraft/net/minecraft/server/dedicated/ServerHangWatchdog.java.patch index c51ee4e0c2..38cc8b0876 100644 --- a/patches/minecraft/net/minecraft/server/dedicated/ServerHangWatchdog.java.patch +++ b/patches/minecraft/net/minecraft/server/dedicated/ServerHangWatchdog.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/dedicated/ServerHangWatchdog.java +++ b/net/minecraft/server/dedicated/ServerHangWatchdog.java -@@ -40,7 +40,7 @@ +@@ -40,7 +_,7 @@ ThreadMXBean threadmxbean = ManagementFactory.getThreadMXBean(); ThreadInfo[] athreadinfo = threadmxbean.dumpAllThreads(true, true); StringBuilder stringbuilder = new StringBuilder(); diff --git a/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch b/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch index 7f110b023c..af93e0adc8 100644 --- a/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch +++ b/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/gui/MinecraftServerGui.java +++ b/net/minecraft/server/gui/MinecraftServerGui.java -@@ -137,8 +137,10 @@ +@@ -137,8 +_,10 @@ return jpanel; } @@ -11,7 +11,7 @@ } public void func_219050_b() { -@@ -153,6 +155,9 @@ +@@ -153,6 +_,9 @@ } public void func_164247_a(JTextArea p_164247_1_, JScrollPane p_164247_2_, String p_164247_3_) { diff --git a/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch index 9f0e404e11..d968148116 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 -@@ -56,9 +56,10 @@ +@@ -56,9 +_,10 @@ this.func_71188_g(true); this.func_71245_h(true); this.func_244801_P(); @@ -12,7 +12,7 @@ } public void func_71217_p(BooleanSupplier p_71217_1_) { -@@ -172,6 +173,7 @@ +@@ -172,6 +_,7 @@ } public void func_71263_m(boolean p_71263_1_) { diff --git a/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch index 1ec0d6956e..97378cb3cd 100644 --- a/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch +++ b/patches/minecraft/net/minecraft/server/management/PlayerInteractionManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/management/PlayerInteractionManager.java +++ b/net/minecraft/server/management/PlayerInteractionManager.java -@@ -87,7 +87,7 @@ +@@ -87,7 +_,7 @@ ++this.field_73100_i; if (this.field_73097_j) { BlockState blockstate = this.field_73092_a.func_180495_p(this.field_180241_i); @@ -9,7 +9,7 @@ this.field_73097_j = false; } else { float f = this.func_229859_a_(blockstate, this.field_180241_i, this.field_73093_n); -@@ -98,7 +98,7 @@ +@@ -98,7 +_,7 @@ } } else if (this.field_73088_d) { BlockState blockstate1 = this.field_73092_a.func_180495_p(this.field_180240_f); @@ -18,7 +18,7 @@ this.field_73092_a.func_175715_c(this.field_73090_b.func_145782_y(), this.field_180240_f, -1); this.field_73094_o = -1; this.field_73088_d = false; -@@ -126,7 +126,15 @@ +@@ -126,7 +_,15 @@ double d1 = this.field_73090_b.func_226278_cu_() - ((double)p_225416_1_.func_177956_o() + 0.5D) + 1.5D; double d2 = this.field_73090_b.func_226281_cx_() - ((double)p_225416_1_.func_177952_p() + 0.5D); double d3 = d0 * d0 + d1 * d1 + d2 * d2; @@ -35,7 +35,7 @@ this.field_73090_b.field_71135_a.func_147359_a(new SPlayerDiggingPacket(p_225416_1_, this.field_73092_a.func_180495_p(p_225416_1_), p_225416_2_, false, "too far")); } else if (p_225416_1_.func_177956_o() >= p_225416_4_) { this.field_73090_b.field_71135_a.func_147359_a(new SPlayerDiggingPacket(p_225416_1_, this.field_73092_a.func_180495_p(p_225416_1_), p_225416_2_, false, "too high")); -@@ -150,12 +158,13 @@ +@@ -150,12 +_,13 @@ this.field_73089_e = this.field_73100_i; float f = 1.0F; BlockState blockstate = this.field_73092_a.func_180495_p(p_225416_1_); @@ -51,7 +51,7 @@ this.func_229860_a_(p_225416_1_, p_225416_2_, "insta mine"); } else { if (this.field_73088_d) { -@@ -218,7 +227,8 @@ +@@ -218,7 +_,8 @@ public boolean func_180237_b(BlockPos p_180237_1_) { BlockState blockstate = this.field_73092_a.func_180495_p(p_180237_1_); @@ -61,7 +61,7 @@ return false; } else { TileEntity tileentity = this.field_73092_a.func_175625_s(p_180237_1_); -@@ -226,38 +236,52 @@ +@@ -226,30 +_,42 @@ if ((block instanceof CommandBlockBlock || block instanceof StructureBlock || block instanceof JigsawBlock) && !this.field_73090_b.func_195070_dx()) { this.field_73092_a.func_184138_a(p_180237_1_, blockstate, blockstate, 3); return false; @@ -83,7 +83,7 @@ ItemStack itemstack = this.field_73090_b.func_184614_ca(); ItemStack itemstack1 = itemstack.func_77946_l(); - boolean flag1 = this.field_73090_b.func_234569_d_(blockstate); -+ boolean flag1 = blockstate.canHarvestBlock(this.field_73092_a, p_180237_1_, this.field_73090_b); // previously player.func_234569_d_(blockstate) ++ boolean flag1 = blockstate.canHarvestBlock(this.field_73092_a, p_180237_1_, this.field_73090_b); // previously player.hasCorrectToolForDrops(blockstate) itemstack.func_179548_a(this.field_73092_a, blockstate, p_180237_1_, this.field_73090_b); + if (itemstack.func_190926_b() && !itemstack1.func_190926_b()) + net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem(this.field_73090_b, itemstack1, Hand.MAIN_HAND); @@ -100,19 +100,18 @@ } } } - } - ++ } ++ + private boolean removeBlock(BlockPos p_180235_1_, boolean canHarvest) { + BlockState state = this.field_73092_a.func_180495_p(p_180235_1_); + boolean removed = state.removedByPlayer(this.field_73092_a, p_180235_1_, this.field_73090_b, canHarvest, this.field_73092_a.func_204610_c(p_180235_1_)); + if (removed) + state.func_177230_c().func_176206_d(this.field_73092_a, p_180235_1_, state); + return removed; -+ } -+ + } + public ActionResultType func_187250_a(ServerPlayerEntity p_187250_1_, World p_187250_2_, ItemStack p_187250_3_, Hand p_187250_4_) { - if (this.field_73091_c == GameType.SPECTATOR) { - return ActionResultType.PASS; +@@ -258,6 +_,8 @@ } else if (p_187250_1_.func_184811_cZ().func_185141_a(p_187250_3_.func_77973_b())) { return ActionResultType.PASS; } else { @@ -121,7 +120,7 @@ int i = p_187250_3_.func_190916_E(); int j = p_187250_3_.func_77952_i(); ActionResult actionresult = p_187250_3_.func_77957_a(p_187250_2_, p_187250_1_, p_187250_4_); -@@ -291,6 +315,8 @@ +@@ -291,6 +_,8 @@ public ActionResultType func_219441_a(ServerPlayerEntity p_219441_1_, World p_219441_2_, ItemStack p_219441_3_, Hand p_219441_4_, BlockRayTraceResult p_219441_5_) { BlockPos blockpos = p_219441_5_.func_216350_a(); BlockState blockstate = p_219441_2_.func_180495_p(blockpos); @@ -130,7 +129,7 @@ if (this.field_73091_c == GameType.SPECTATOR) { INamedContainerProvider inamedcontainerprovider = blockstate.func_215699_b(p_219441_2_, blockpos); if (inamedcontainerprovider != null) { -@@ -300,10 +326,15 @@ +@@ -300,10 +_,15 @@ return ActionResultType.PASS; } } else { @@ -148,7 +147,7 @@ ActionResultType actionresulttype = blockstate.func_227031_a_(p_219441_2_, p_219441_1_, p_219441_4_, p_219441_5_); if (actionresulttype.func_226246_a_()) { CriteriaTriggers.field_232607_M_.func_226695_a_(p_219441_1_, blockpos, itemstack); -@@ -311,8 +342,8 @@ +@@ -311,8 +_,8 @@ } } diff --git a/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch b/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch index f9644ede3c..6041eab8ad 100644 --- a/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch +++ b/patches/minecraft/net/minecraft/server/management/PlayerList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/management/PlayerList.java +++ b/net/minecraft/server/management/PlayerList.java -@@ -110,6 +110,7 @@ +@@ -110,6 +_,7 @@ private GameType field_72410_m; private boolean field_72407_n; private int field_72408_o; @@ -8,7 +8,7 @@ public PlayerList(MinecraftServer p_i231425_1_, DynamicRegistries.Impl p_i231425_2_, PlayerData p_i231425_3_, int p_i231425_4_) { this.field_72400_f = p_i231425_1_; -@@ -146,6 +147,7 @@ +@@ -146,6 +_,7 @@ IWorldInfo iworldinfo = serverworld1.func_72912_H(); this.func_72381_a(p_72355_2_, (ServerPlayerEntity)null, serverworld1); ServerPlayNetHandler serverplaynethandler = new ServerPlayNetHandler(this.field_72400_f, p_72355_1_, p_72355_2_); @@ -16,7 +16,7 @@ GameRules gamerules = serverworld1.func_82736_K(); boolean flag = gamerules.func_223586_b(GameRules.field_226683_z_); boolean flag1 = gamerules.func_223586_b(GameRules.field_223612_o); -@@ -156,6 +158,7 @@ +@@ -156,6 +_,7 @@ serverplaynethandler.func_147359_a(new SHeldItemChangePacket(p_72355_2_.field_71071_by.field_70461_c)); serverplaynethandler.func_147359_a(new SUpdateRecipesPacket(this.field_72400_f.func_199529_aN().func_199510_b())); serverplaynethandler.func_147359_a(new STagsListPacket(this.field_72400_f.func_244266_aF())); @@ -24,7 +24,7 @@ this.func_187243_f(p_72355_2_); p_72355_2_.func_147099_x().func_150877_d(); p_72355_2_.func_192037_E().func_192826_c(p_72355_2_); -@@ -170,7 +173,7 @@ +@@ -170,7 +_,7 @@ this.func_232641_a_(iformattabletextcomponent.func_240699_a_(TextFormatting.YELLOW), ChatType.SYSTEM, Util.field_240973_b_); serverplaynethandler.func_147364_a(p_72355_2_.func_226277_ct_(), p_72355_2_.func_226278_cu_(), p_72355_2_.func_226281_cx_(), p_72355_2_.field_70177_z, p_72355_2_.field_70125_A); @@ -33,7 +33,7 @@ this.field_177454_f.put(p_72355_2_.func_110124_au(), p_72355_2_); this.func_148540_a(new SPlayerListItemPacket(SPlayerListItemPacket.Action.ADD_PLAYER, p_72355_2_)); -@@ -225,6 +228,7 @@ +@@ -225,6 +_,7 @@ } p_72355_2_.func_71116_b(); @@ -41,7 +41,7 @@ } protected void func_96456_a(ServerScoreboard p_96456_1_, ServerPlayerEntity p_96456_2_) { -@@ -285,6 +289,7 @@ +@@ -285,6 +_,7 @@ compoundnbt1 = compoundnbt; p_72380_1_.func_70020_e(compoundnbt); field_148546_d.debug("loading single player"); @@ -49,7 +49,7 @@ } else { compoundnbt1 = this.field_72412_k.func_237336_b_(p_72380_1_); } -@@ -293,6 +298,7 @@ +@@ -293,6 +_,7 @@ } protected void func_72391_b(ServerPlayerEntity p_72391_1_) { @@ -57,7 +57,7 @@ this.field_72412_k.func_237335_a_(p_72391_1_); ServerStatisticsManager serverstatisticsmanager = this.field_148547_k.get(p_72391_1_.func_110124_au()); if (serverstatisticsmanager != null) { -@@ -307,6 +313,7 @@ +@@ -307,6 +_,7 @@ } public void func_72367_e(ServerPlayerEntity p_72367_1_) { @@ -65,7 +65,7 @@ ServerWorld serverworld = p_72367_1_.func_71121_q(); p_72367_1_.func_195066_a(Stats.field_75947_j); this.func_72391_b(p_72367_1_); -@@ -330,7 +337,7 @@ +@@ -330,7 +_,7 @@ p_72367_1_.func_213319_R(); serverworld.func_217434_e(p_72367_1_); p_72367_1_.func_192039_O().func_192745_a(); @@ -74,7 +74,7 @@ this.field_72400_f.func_201300_aS().func_201382_b(p_72367_1_); UUID uuid = p_72367_1_.func_110124_au(); ServerPlayerEntity serverplayerentity = this.field_177454_f.get(uuid); -@@ -400,8 +407,8 @@ +@@ -400,8 +_,8 @@ } public ServerPlayerEntity func_232644_a_(ServerPlayerEntity p_232644_1_, boolean p_232644_2_) { @@ -85,7 +85,7 @@ BlockPos blockpos = p_232644_1_.func_241140_K_(); float f = p_232644_1_.func_242109_L(); boolean flag = p_232644_1_.func_241142_M_(); -@@ -424,6 +431,7 @@ +@@ -424,6 +_,7 @@ ServerPlayerEntity serverplayerentity = new ServerPlayerEntity(this.field_72400_f, serverworld1, p_232644_1_.func_146103_bH(), playerinteractionmanager); serverplayerentity.field_71135_a = p_232644_1_.field_71135_a; serverplayerentity.func_193104_a(p_232644_1_, p_232644_2_); @@ -93,7 +93,7 @@ serverplayerentity.func_145769_d(p_232644_1_.func_145782_y()); serverplayerentity.func_184819_a(p_232644_1_.func_184591_cq()); -@@ -465,10 +473,11 @@ +@@ -465,10 +_,11 @@ this.func_72354_b(serverplayerentity, serverworld1); this.func_187243_f(serverplayerentity); serverworld1.func_217433_d(serverplayerentity); @@ -106,7 +106,7 @@ if (flag2) { serverplayerentity.field_71135_a.func_147359_a(new SPlaySoundEffectPacket(SoundEvents.field_232818_ms_, SoundCategory.BLOCKS, (double)blockpos.func_177958_n(), (double)blockpos.func_177956_o(), (double)blockpos.func_177952_p(), 1.0F, 1.0F)); } -@@ -769,6 +778,8 @@ +@@ -769,6 +_,8 @@ this.field_192055_p.put(uuid, playeradvancements); } @@ -115,7 +115,7 @@ playeradvancements.func_192739_a(p_192054_1_); return playeradvancements; } -@@ -786,7 +797,7 @@ +@@ -786,7 +_,7 @@ } public List func_181057_v() { @@ -124,7 +124,7 @@ } @Nullable -@@ -804,6 +815,7 @@ +@@ -804,6 +_,7 @@ } this.func_148540_a(new STagsListPacket(this.field_72400_f.func_244266_aF())); @@ -132,10 +132,11 @@ SUpdateRecipesPacket supdaterecipespacket = new SUpdateRecipesPacket(this.field_72400_f.func_199529_aN().func_199510_b()); for(ServerPlayerEntity serverplayerentity : this.field_72404_b) { -@@ -816,4 +828,12 @@ +@@ -815,5 +_,13 @@ + public boolean func_206257_x() { return this.field_72407_n; - } ++ } + + public boolean addPlayer(ServerPlayerEntity player) { + return field_72404_b.add(player); @@ -143,5 +144,5 @@ + + public boolean removePlayer(ServerPlayerEntity player) { + return this.field_72404_b.remove(player); -+ } + } } diff --git a/patches/minecraft/net/minecraft/stats/StatType.java.patch b/patches/minecraft/net/minecraft/stats/StatType.java.patch index 21da750c11..9b2a36533f 100644 --- a/patches/minecraft/net/minecraft/stats/StatType.java.patch +++ b/patches/minecraft/net/minecraft/stats/StatType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/stats/StatType.java +++ b/net/minecraft/stats/StatType.java -@@ -10,7 +10,7 @@ +@@ -10,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/tags/BlockTags.java.patch b/patches/minecraft/net/minecraft/tags/BlockTags.java.patch index 850367c33e..65bf7aed28 100644 --- a/patches/minecraft/net/minecraft/tags/BlockTags.java.patch +++ b/patches/minecraft/net/minecraft/tags/BlockTags.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/BlockTags.java +++ b/net/minecraft/tags/BlockTags.java -@@ -97,6 +97,14 @@ +@@ -97,6 +_,14 @@ return field_199899_c.func_232937_a_(p_199894_0_); } diff --git a/patches/minecraft/net/minecraft/tags/EntityTypeTags.java.patch b/patches/minecraft/net/minecraft/tags/EntityTypeTags.java.patch index 98d7515ca3..346273f3b9 100644 --- a/patches/minecraft/net/minecraft/tags/EntityTypeTags.java.patch +++ b/patches/minecraft/net/minecraft/tags/EntityTypeTags.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/EntityTypeTags.java +++ b/net/minecraft/tags/EntityTypeTags.java -@@ -16,6 +16,14 @@ +@@ -16,6 +_,14 @@ return field_219766_c.func_232937_a_(p_232896_0_); } diff --git a/patches/minecraft/net/minecraft/tags/FluidTags.java.patch b/patches/minecraft/net/minecraft/tags/FluidTags.java.patch index 1500eac214..2af7dc0666 100644 --- a/patches/minecraft/net/minecraft/tags/FluidTags.java.patch +++ b/patches/minecraft/net/minecraft/tags/FluidTags.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/FluidTags.java +++ b/net/minecraft/tags/FluidTags.java -@@ -13,7 +13,20 @@ +@@ -13,7 +_,20 @@ return field_206961_c.func_232937_a_(p_206956_0_); } @@ -14,10 +14,10 @@ + public static List> func_241280_c_() { return field_206961_c.func_241288_c_(); - } ++ } + + //Forge: Readd this stripped getter like the other tag classes + public static ITagCollection func_226157_a_() { + return field_206961_c.func_232939_b_(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/tags/ITag.java.patch b/patches/minecraft/net/minecraft/tags/ITag.java.patch index 41ea141998..df686e1e3c 100644 --- a/patches/minecraft/net/minecraft/tags/ITag.java.patch +++ b/patches/minecraft/net/minecraft/tags/ITag.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/ITag.java +++ b/net/minecraft/tags/ITag.java -@@ -46,6 +46,7 @@ +@@ -46,6 +_,7 @@ public static class Builder { private final List field_232953_a_ = Lists.newArrayList(); @@ -8,7 +8,7 @@ public static ITag.Builder func_200047_a() { return new ITag.Builder(); -@@ -68,6 +69,15 @@ +@@ -68,6 +_,15 @@ return this.func_232955_a_(new ITag.TagEntry(p_232964_1_), p_232964_2_); } @@ -24,7 +24,7 @@ public Optional> func_232959_a_(Function> p_232959_1_, Function p_232959_2_) { ImmutableSet.Builder builder = ImmutableSet.builder(); -@@ -103,6 +113,7 @@ +@@ -103,6 +_,7 @@ this.field_232953_a_.clear(); } @@ -32,7 +32,7 @@ list.forEach((p_232958_2_) -> { this.field_232953_a_.add(new ITag.Proxy(p_232958_2_, p_232956_2_)); }); -@@ -138,7 +149,7 @@ +@@ -138,7 +_,7 @@ itag$proxy.func_232968_a_().func_230237_a_(jsonarray); } @@ -41,7 +41,7 @@ jsonobject.add("values", jsonarray); return jsonobject; } -@@ -178,6 +189,7 @@ +@@ -178,6 +_,7 @@ public String toString() { return this.field_232969_a_.toString(); } @@ -49,7 +49,7 @@ } public static class OptionalItemEntry implements ITag.ITagEntry { -@@ -278,5 +290,7 @@ +@@ -278,5 +_,7 @@ public String toString() { return "#" + this.field_200163_a; } diff --git a/patches/minecraft/net/minecraft/tags/ITagCollectionSupplier.java.patch b/patches/minecraft/net/minecraft/tags/ITagCollectionSupplier.java.patch index 15b43221ae..1f4daf3b04 100644 --- a/patches/minecraft/net/minecraft/tags/ITagCollectionSupplier.java.patch +++ b/patches/minecraft/net/minecraft/tags/ITagCollectionSupplier.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/ITagCollectionSupplier.java +++ b/net/minecraft/tags/ITagCollectionSupplier.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraft.network.PacketBuffer; import net.minecraft.util.registry.Registry; @@ -9,7 +9,7 @@ ITagCollectionSupplier field_242208_a = func_242209_a(ITagCollection.func_242205_c(), ITagCollection.func_242205_c(), ITagCollection.func_242205_c(), ITagCollection.func_242205_c()); ITagCollection func_241835_a(); -@@ -22,6 +22,7 @@ +@@ -22,6 +_,7 @@ default void func_242212_e() { TagRegistryManager.func_242193_a(this); Blocks.func_235419_a_(); @@ -17,10 +17,13 @@ } default void func_242210_a(PacketBuffer p_242210_1_) { -@@ -58,4 +59,32 @@ - } - }; - } +@@ -55,6 +_,34 @@ + + public ITagCollection> func_241838_d() { + return p_242209_3_; ++ } ++ }; ++ } + + static ITagCollectionSupplier reinjectOptionalTags(ITagCollectionSupplier tagCollectionSupplier) { + ITagCollection blockTagCollection = BlockTags.field_199899_c.reinjectOptionalTags(tagCollectionSupplier.func_241835_a()); @@ -46,7 +49,6 @@ + @Override + public ITagCollection> func_241838_d() { + return entityTypeTagCollection; -+ } -+ }; -+ } - } + } + }; + } diff --git a/patches/minecraft/net/minecraft/tags/ItemTags.java.patch b/patches/minecraft/net/minecraft/tags/ItemTags.java.patch index 4aa8fbefc3..03c6569b46 100644 --- a/patches/minecraft/net/minecraft/tags/ItemTags.java.patch +++ b/patches/minecraft/net/minecraft/tags/ItemTags.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/ItemTags.java +++ b/net/minecraft/tags/ItemTags.java -@@ -65,6 +65,14 @@ +@@ -65,6 +_,14 @@ return field_199906_c.func_232937_a_(p_199901_0_); } diff --git a/patches/minecraft/net/minecraft/tags/NetworkTagManager.java.patch b/patches/minecraft/net/minecraft/tags/NetworkTagManager.java.patch index d6dc3cea41..b839e0f84c 100644 --- a/patches/minecraft/net/minecraft/tags/NetworkTagManager.java.patch +++ b/patches/minecraft/net/minecraft/tags/NetworkTagManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/NetworkTagManager.java +++ b/net/minecraft/tags/NetworkTagManager.java -@@ -20,6 +20,7 @@ +@@ -20,6 +_,7 @@ protected TagCollectionReader field_199720_b = new TagCollectionReader<>(Registry.field_212630_s::func_241873_b, "tags/items", "item"); protected TagCollectionReader field_205705_c = new TagCollectionReader<>(Registry.field_212619_h::func_241873_b, "tags/fluids", "fluid"); protected TagCollectionReader> field_215299_d = new TagCollectionReader<>(Registry.field_212629_r::func_241873_b, "tags/entity_types", "entity_type"); @@ -8,7 +8,7 @@ private ITagCollectionSupplier field_242230_e = ITagCollectionSupplier.field_242208_a; public ITagCollectionSupplier func_242231_a() { -@@ -31,11 +32,13 @@ +@@ -31,11 +_,13 @@ CompletableFuture> completablefuture1 = this.field_199720_b.func_242224_a(p_215226_2_, p_215226_5_); CompletableFuture> completablefuture2 = this.field_205705_c.func_242224_a(p_215226_2_, p_215226_5_); CompletableFuture> completablefuture3 = this.field_215299_d.func_242224_a(p_215226_2_, p_215226_5_); @@ -23,7 +23,7 @@ ITagCollectionSupplier itagcollectionsupplier = ITagCollectionSupplier.func_242209_a(itagcollection, itagcollection1, itagcollection2, itagcollection3); Multimap multimap = TagRegistryManager.func_242198_b(itagcollectionsupplier); if (!multimap.isEmpty()) { -@@ -43,6 +46,8 @@ +@@ -43,6 +_,8 @@ return p_232978_0_.getKey() + ":" + p_232978_0_.getValue(); }).sorted().collect(Collectors.joining(","))); } else { diff --git a/patches/minecraft/net/minecraft/tags/TagCollectionManager.java.patch b/patches/minecraft/net/minecraft/tags/TagCollectionManager.java.patch index 6867f87e9f..fd844b9017 100644 --- a/patches/minecraft/net/minecraft/tags/TagCollectionManager.java.patch +++ b/patches/minecraft/net/minecraft/tags/TagCollectionManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/TagCollectionManager.java +++ b/net/minecraft/tags/TagCollectionManager.java -@@ -3,13 +3,13 @@ +@@ -3,13 +_,13 @@ import java.util.stream.Collectors; public class TagCollectionManager { diff --git a/patches/minecraft/net/minecraft/tags/TagRegistry.java.patch b/patches/minecraft/net/minecraft/tags/TagRegistry.java.patch index 56308fa981..1deb6b493f 100644 --- a/patches/minecraft/net/minecraft/tags/TagRegistry.java.patch +++ b/patches/minecraft/net/minecraft/tags/TagRegistry.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/TagRegistry.java +++ b/net/minecraft/tags/TagRegistry.java -@@ -16,13 +16,51 @@ +@@ -16,13 +_,51 @@ private ITagCollection field_232930_b_ = ITagCollection.func_242205_c(); private final List> field_232931_c_ = Lists.newArrayList(); private final Function> field_242184_c; @@ -53,7 +53,7 @@ this.field_232931_c_.add(namedtag); return namedtag; } -@@ -46,6 +84,20 @@ +@@ -46,6 +_,20 @@ }); } @@ -74,7 +74,7 @@ public ITagCollection func_232939_b_() { return this.field_232930_b_; } -@@ -56,7 +108,7 @@ +@@ -56,7 +_,7 @@ public Set func_242189_b(ITagCollectionSupplier p_242189_1_) { ITagCollection itagcollection = this.field_242184_c.apply(p_242189_1_); @@ -83,10 +83,11 @@ ImmutableSet immutableset = ImmutableSet.copyOf(itagcollection.func_199908_a()); return Sets.difference(set, immutableset); } -@@ -93,5 +145,40 @@ +@@ -92,6 +_,41 @@ + public List func_230236_b_() { return this.func_232944_c_().func_230236_b_(); - } ++ } + + @Override + public String toString() { @@ -94,7 +95,7 @@ + } + @Override public boolean equals(Object o) { return (o == this) || (o instanceof ITag.INamedTag && java.util.Objects.equals(this.func_230234_a_(), ((ITag.INamedTag)o).func_230234_a_())); } + @Override public int hashCode() { return func_230234_a_().hashCode(); } - } ++ } + + private static class OptionalNamedTag extends NamedTag implements net.minecraftforge.common.Tags.IOptionalNamedTag { + @Nullable @@ -121,6 +122,6 @@ + @Override + public String toString() { + return "OptionalNamedTag[" + func_230234_a_().toString() + ']'; -+ } -+ } + } + } } diff --git a/patches/minecraft/net/minecraft/tags/TagRegistryManager.java.patch b/patches/minecraft/net/minecraft/tags/TagRegistryManager.java.patch index 0e234ed5c4..f2d5324968 100644 --- a/patches/minecraft/net/minecraft/tags/TagRegistryManager.java.patch +++ b/patches/minecraft/net/minecraft/tags/TagRegistryManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tags/TagRegistryManager.java +++ b/net/minecraft/tags/TagRegistryManager.java -@@ -51,4 +51,23 @@ +@@ -51,4 +_,23 @@ throw new IllegalStateException("Missing helper registrations"); } } diff --git a/patches/minecraft/net/minecraft/tileentity/AbstractFurnaceTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/AbstractFurnaceTileEntity.java.patch index a4cc568351..ca9a8ff1da 100644 --- a/patches/minecraft/net/minecraft/tileentity/AbstractFurnaceTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/AbstractFurnaceTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/AbstractFurnaceTileEntity.java +++ b/net/minecraft/tileentity/AbstractFurnaceTileEntity.java -@@ -91,6 +91,7 @@ +@@ -91,6 +_,7 @@ this.field_214014_c = p_i49964_2_; } @@ -8,7 +8,7 @@ public static Map func_214001_f() { Map map = Maps.newLinkedHashMap(); func_213996_a(map, Items.field_151129_at, 20000); -@@ -184,13 +185,13 @@ +@@ -184,13 +_,13 @@ return this.field_214018_j > 0; } @@ -26,7 +26,7 @@ this.field_214019_k = this.func_213997_a(this.field_214012_a.get(1)); CompoundNBT compoundnbt = p_230337_2_.func_74775_l("RecipesUsed"); -@@ -202,9 +203,9 @@ +@@ -202,9 +_,9 @@ public CompoundNBT func_189515_b(CompoundNBT p_189515_1_) { super.func_189515_b(p_189515_1_); @@ -39,7 +39,7 @@ ItemStackHelper.func_191282_a(p_189515_1_, this.field_214012_a); CompoundNBT compoundnbt = new CompoundNBT(); this.field_214022_n.forEach((p_235643_1_, p_235643_2_) -> { -@@ -230,12 +231,14 @@ +@@ -230,12 +_,14 @@ this.field_214019_k = this.field_214018_j; if (this.func_214006_r()) { flag1 = true; @@ -56,7 +56,7 @@ } } } -@@ -279,10 +282,10 @@ +@@ -279,10 +_,10 @@ return true; } else if (!itemstack1.func_77969_a(itemstack)) { return false; @@ -69,7 +69,7 @@ } } } else { -@@ -298,7 +301,7 @@ +@@ -298,7 +_,7 @@ if (itemstack2.func_190926_b()) { this.field_214012_a.set(2, itemstack1.func_77946_l()); } else if (itemstack2.func_77973_b() == itemstack1.func_77973_b()) { @@ -78,7 +78,7 @@ } if (!this.field_145850_b.field_72995_K) { -@@ -318,7 +321,7 @@ +@@ -318,7 +_,7 @@ return 0; } else { Item item = p_213997_1_.func_77973_b(); @@ -87,7 +87,7 @@ } } -@@ -327,7 +330,7 @@ +@@ -327,7 +_,7 @@ } public static boolean func_213991_b(ItemStack p_213991_0_) { @@ -96,10 +96,11 @@ } public int[] func_180463_a(Direction p_180463_1_) { -@@ -474,4 +477,27 @@ +@@ -473,5 +_,28 @@ + p_194018_1_.func_194112_a(itemstack); } - } ++ } + + net.minecraftforge.common.util.LazyOptional[] handlers = + net.minecraftforge.items.wrapper.SidedInvWrapper.create(this, Direction.UP, Direction.DOWN, Direction.NORTH); @@ -122,5 +123,5 @@ + super.invalidateCaps(); + for (int x = 0; x < handlers.length; x++) + handlers[x].invalidate(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/tileentity/BannerPattern.java.patch b/patches/minecraft/net/minecraft/tileentity/BannerPattern.java.patch index 3e25dbc7e2..59fa24fcaa 100644 --- a/patches/minecraft/net/minecraft/tileentity/BannerPattern.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/BannerPattern.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/BannerPattern.java +++ b/net/minecraft/tileentity/BannerPattern.java -@@ -12,7 +12,7 @@ +@@ -12,7 +_,7 @@ import net.minecraftforge.api.distmarker.OnlyIn; import org.apache.commons.lang3.tuple.Pair; @@ -9,18 +9,18 @@ BASE("base", "b", false), SQUARE_BOTTOM_LEFT("square_bottom_left", "bl"), SQUARE_BOTTOM_RIGHT("square_bottom_right", "br"), -@@ -102,6 +102,14 @@ - return null; - } +@@ -100,6 +_,14 @@ + } + return null; ++ } ++ + public static BannerPattern create(String enumName, String fileNameIn, String hashNameIn) { + throw new IllegalStateException("Enum not extended"); + } + + public static BannerPattern create(String enumName, String fileNameIn, String hashNameIn, boolean hasPatternItem) { + throw new IllegalStateException("Enum not extended"); -+ } -+ - public static class Builder { - private final List> field_222478_a = Lists.newArrayList(); + } + public static class Builder { diff --git a/patches/minecraft/net/minecraft/tileentity/BeaconTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/BeaconTileEntity.java.patch index 82c10c29f6..1dbcbf7cd3 100644 --- a/patches/minecraft/net/minecraft/tileentity/BeaconTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/BeaconTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/BeaconTileEntity.java +++ b/net/minecraft/tileentity/BeaconTileEntity.java -@@ -112,8 +112,8 @@ +@@ -112,8 +_,8 @@ for(int i1 = 0; i1 < 10 && blockpos.func_177956_o() <= l; ++i1) { BlockState blockstate = this.field_145850_b.func_180495_p(blockpos); Block block = blockstate.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/tileentity/BrewingStandTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/BrewingStandTileEntity.java.patch index f95d556727..a505e7015d 100644 --- a/patches/minecraft/net/minecraft/tileentity/BrewingStandTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/BrewingStandTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/BrewingStandTileEntity.java +++ b/net/minecraft/tileentity/BrewingStandTileEntity.java -@@ -146,6 +146,7 @@ +@@ -146,6 +_,7 @@ private boolean func_145934_k() { ItemStack itemstack = this.field_145945_j.get(3); @@ -8,7 +8,7 @@ if (itemstack.func_190926_b()) { return false; } else if (!PotionBrewing.func_185205_a(itemstack)) { -@@ -163,22 +164,22 @@ +@@ -163,22 +_,22 @@ } private void func_145940_l() { @@ -38,7 +38,7 @@ this.field_145945_j.set(3, itemstack); this.field_145850_b.func_217379_c(1035, blockpos, 0); -@@ -229,13 +230,13 @@ +@@ -229,13 +_,13 @@ public boolean func_94041_b(int p_94041_1_, ItemStack p_94041_2_) { if (p_94041_1_ == 3) { @@ -54,10 +54,11 @@ } } } -@@ -267,4 +268,27 @@ +@@ -266,5 +_,28 @@ + protected Container func_213906_a(int p_213906_1_, PlayerInventory p_213906_2_) { return new BrewingStandContainer(p_213906_1_, p_213906_2_, this, this.field_213954_a); - } ++ } + + net.minecraftforge.common.util.LazyOptional[] handlers = + net.minecraftforge.items.wrapper.SidedInvWrapper.create(this, Direction.UP, Direction.DOWN, Direction.NORTH); @@ -80,5 +81,5 @@ + super.invalidateCaps(); + for (int x = 0; x < handlers.length; x++) + handlers[x].invalidate(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/tileentity/ChestTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/ChestTileEntity.java.patch index 435acc22e2..686577087d 100644 --- a/patches/minecraft/net/minecraft/tileentity/ChestTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/ChestTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/ChestTileEntity.java +++ b/net/minecraft/tileentity/ChestTileEntity.java -@@ -38,6 +38,7 @@ +@@ -38,6 +_,7 @@ protected float field_145986_n; protected int field_145987_o; private int field_145983_q; @@ -8,7 +8,7 @@ protected ChestTileEntity(TileEntityType p_i48287_1_) { super(p_i48287_1_); -@@ -202,7 +203,7 @@ +@@ -202,7 +_,7 @@ public static int func_195481_a(IBlockReader p_195481_0_, BlockPos p_195481_1_) { BlockState blockstate = p_195481_0_.func_180495_p(p_195481_1_); @@ -17,10 +17,11 @@ TileEntity tileentity = p_195481_0_.func_175625_s(p_195481_1_); if (tileentity instanceof ChestTileEntity) { return ((ChestTileEntity)tileentity).field_145987_o; -@@ -221,4 +222,40 @@ +@@ -220,5 +_,41 @@ + protected Container func_213906_a(int p_213906_1_, PlayerInventory p_213906_2_) { return ChestContainer.func_216992_a(p_213906_1_, p_213906_2_, this); - } ++ } + + @Override + public void func_145836_u() { @@ -56,5 +57,5 @@ + super.invalidateCaps(); + if (chestHandler != null) + chestHandler.invalidate(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch index 9497a95123..d258070390 100644 --- a/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/ConduitTileEntity.java +++ b/net/minecraft/tileentity/ConduitTileEntity.java -@@ -130,10 +130,8 @@ +@@ -130,10 +_,8 @@ BlockPos blockpos1 = this.field_174879_c.func_177982_a(j1, k1, l1); BlockState blockstate = this.field_145850_b.func_180495_p(blockpos1); diff --git a/patches/minecraft/net/minecraft/tileentity/HopperTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/HopperTileEntity.java.patch index 1e8a4052a7..928c3ce512 100644 --- a/patches/minecraft/net/minecraft/tileentity/HopperTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/HopperTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/HopperTileEntity.java +++ b/net/minecraft/tileentity/HopperTileEntity.java -@@ -133,6 +133,7 @@ +@@ -133,6 +_,7 @@ } private boolean func_145883_k() { @@ -8,7 +8,7 @@ IInventory iinventory = this.func_145895_l(); if (iinventory == null) { return false; -@@ -177,6 +178,8 @@ +@@ -177,6 +_,8 @@ } public static boolean func_145891_a(IHopper p_145891_0_) { @@ -17,7 +17,7 @@ IInventory iinventory = func_145884_b(p_145891_0_); if (iinventory != null) { Direction direction = Direction.DOWN; -@@ -325,7 +328,7 @@ +@@ -325,7 +_,7 @@ Block block = blockstate.func_177230_c(); if (block instanceof ISidedInventoryProvider) { iinventory = ((ISidedInventoryProvider)block).func_219966_a(blockstate, p_145893_0_, blockpos); @@ -26,10 +26,11 @@ TileEntity tileentity = p_145893_0_.func_175625_s(blockpos); if (tileentity instanceof IInventory) { iinventory = (IInventory)tileentity; -@@ -404,4 +407,13 @@ +@@ -403,5 +_,14 @@ + protected Container func_213906_a(int p_213906_1_, PlayerInventory p_213906_2_) { return new HopperContainer(p_213906_1_, p_213906_2_, this); - } ++ } + + @Override + protected net.minecraftforge.items.IItemHandler createUnSidedHandler() { @@ -38,5 +39,5 @@ + + public long getLastUpdateTime() { + return this.field_190578_g; -+ } + } } diff --git a/patches/minecraft/net/minecraft/tileentity/LockableTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/LockableTileEntity.java.patch index 517ecbf06b..c77323ae19 100644 --- a/patches/minecraft/net/minecraft/tileentity/LockableTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/LockableTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/LockableTileEntity.java +++ b/net/minecraft/tileentity/LockableTileEntity.java -@@ -81,4 +81,21 @@ +@@ -81,4 +_,21 @@ } protected abstract Container func_213906_a(int p_213906_1_, PlayerInventory p_213906_2_); diff --git a/patches/minecraft/net/minecraft/tileentity/PistonTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/PistonTileEntity.java.patch index 2608bda637..76703fe7a8 100644 --- a/patches/minecraft/net/minecraft/tileentity/PistonTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/PistonTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/PistonTileEntity.java +++ b/net/minecraft/tileentity/PistonTileEntity.java -@@ -108,7 +108,7 @@ +@@ -108,7 +_,7 @@ List list = this.field_145850_b.func_72839_b((Entity)null, AabbHelper.func_227019_a_(axisalignedbb, direction, d0).func_111270_a(axisalignedbb)); if (!list.isEmpty()) { List list1 = voxelshape.func_197756_d(); diff --git a/patches/minecraft/net/minecraft/tileentity/ShulkerBoxTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/ShulkerBoxTileEntity.java.patch index 34b00e95e1..5b8b3d0657 100644 --- a/patches/minecraft/net/minecraft/tileentity/ShulkerBoxTileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/ShulkerBoxTileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/ShulkerBoxTileEntity.java +++ b/net/minecraft/tileentity/ShulkerBoxTileEntity.java -@@ -284,6 +284,11 @@ +@@ -284,6 +_,11 @@ return this.field_190599_i == ShulkerBoxTileEntity.AnimationStatus.CLOSED; } diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch index 4f8c9e3de7..1bb3e1a096 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/TileEntity.java +++ b/net/minecraft/tileentity/TileEntity.java -@@ -16,7 +16,7 @@ +@@ -16,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ private static final Logger field_145852_a = LogManager.getLogger(); private final TileEntityType field_200663_e; @Nullable -@@ -26,9 +26,12 @@ +@@ -26,9 +_,12 @@ @Nullable private BlockState field_195045_e; private boolean field_222816_g; @@ -22,7 +22,7 @@ } @Nullable -@@ -47,6 +50,8 @@ +@@ -47,6 +_,8 @@ public void func_230337_a_(BlockState p_230337_1_, CompoundNBT p_230337_2_) { this.field_174879_c = new BlockPos(p_230337_2_.func_74762_e("x"), p_230337_2_.func_74762_e("y"), p_230337_2_.func_74762_e("z")); @@ -31,7 +31,7 @@ } public CompoundNBT func_189515_b(CompoundNBT p_189515_1_) { -@@ -62,6 +67,8 @@ +@@ -62,6 +_,8 @@ p_189516_1_.func_74768_a("x", this.field_174879_c.func_177958_n()); p_189516_1_.func_74768_a("y", this.field_174879_c.func_177956_o()); p_189516_1_.func_74768_a("z", this.field_174879_c.func_177952_p()); @@ -40,7 +40,7 @@ return p_189516_1_; } } -@@ -94,7 +101,7 @@ +@@ -94,7 +_,7 @@ if (this.field_145850_b != null) { this.field_195045_e = this.field_145850_b.func_180495_p(this.field_174879_c); this.field_145850_b.func_175646_b(this.field_174879_c, this); @@ -49,33 +49,31 @@ this.field_145850_b.func_175666_e(this.field_174879_c, this.field_195045_e.func_177230_c()); } } -@@ -133,8 +140,15 @@ +@@ -133,6 +_,13 @@ public void func_145843_s() { this.field_145846_f = true; + this.invalidateCaps(); + requestModelDataUpdate(); - } - ++ } ++ + @Override + public void onChunkUnloaded() { + this.invalidateCaps(); -+ } -+ - public void func_145829_t() { - this.field_145846_f = false; - } -@@ -175,6 +189,13 @@ - return this.field_200663_e; } + public void func_145829_t() { +@@ -173,6 +_,13 @@ + + public TileEntityType func_200662_C() { + return this.field_200663_e; ++ } ++ + @Override + public CompoundNBT getTileData() { + if (this.customTileData == null) + this.customTileData = new CompoundNBT(); + return this.customTileData; -+ } -+ + } + public void func_222814_r() { - if (!this.field_222816_g) { - this.field_222816_g = true; diff --git a/patches/minecraft/net/minecraft/tileentity/TileEntityType.java.patch b/patches/minecraft/net/minecraft/tileentity/TileEntityType.java.patch index c78f4e2283..2c2d7f6ce2 100644 --- a/patches/minecraft/net/minecraft/tileentity/TileEntityType.java.patch +++ b/patches/minecraft/net/minecraft/tileentity/TileEntityType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/tileentity/TileEntityType.java +++ b/net/minecraft/tileentity/TileEntityType.java -@@ -16,7 +16,7 @@ +@@ -16,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ private static final Logger field_206866_A = LogManager.getLogger(); public static final TileEntityType field_200971_b = func_200966_a("furnace", TileEntityType.Builder.func_223042_a(FurnaceTileEntity::new, Blocks.field_150460_al)); public static final TileEntityType field_200972_c = func_200966_a("chest", TileEntityType.Builder.func_223042_a(ChestTileEntity::new, Blocks.field_150486_ae)); -@@ -54,6 +54,7 @@ +@@ -54,6 +_,7 @@ private final Supplier field_200995_z; private final Set field_223046_I; private final Type field_206867_C; @@ -17,18 +17,18 @@ @Nullable public static ResourceLocation func_200969_a(TileEntityType p_200969_0_) { -@@ -75,6 +76,14 @@ +@@ -73,6 +_,14 @@ + this.field_200995_z = p_i51497_1_; + this.field_223046_I = p_i51497_2_; this.field_206867_C = p_i51497_3_; - } - ++ } ++ + public java.util.Set getTags() { + return reverseTags.getTagNames(); + } + + public boolean isIn(net.minecraft.tags.ITag> tag) { + return tag.func_230235_a_(this); -+ } -+ + } + @Nullable - public T func_200968_a() { - return this.field_200995_z.get(); diff --git a/patches/minecraft/net/minecraft/util/RegistryKey.java.patch b/patches/minecraft/net/minecraft/util/RegistryKey.java.patch index 2138df2b97..7031e32b7c 100644 --- a/patches/minecraft/net/minecraft/util/RegistryKey.java.patch +++ b/patches/minecraft/net/minecraft/util/RegistryKey.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/RegistryKey.java +++ b/net/minecraft/util/RegistryKey.java -@@ -6,7 +6,7 @@ +@@ -6,7 +_,7 @@ import java.util.function.Function; import net.minecraft.util.registry.Registry; @@ -9,10 +9,11 @@ private static final Map> field_240898_a_ = Collections.synchronizedMap(Maps.newIdentityHashMap()); private final ResourceLocation field_240899_b_; private final ResourceLocation field_240900_c_; -@@ -48,4 +48,15 @@ +@@ -47,5 +_,16 @@ + return (p_240907_1_) -> { return func_240903_a_(p_240902_0_, p_240907_1_); }; - } ++ } + + public ResourceLocation getRegistryName() { + return this.field_240899_b_; @@ -23,5 +24,5 @@ + int ret = this.getRegistryName().compareTo(o.getRegistryName()); + if (ret == 0) ret = this.func_240901_a_().compareTo(o.func_240901_a_()); + return ret; -+ } + } } diff --git a/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch b/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch index bfa14141f9..28d4109f10 100644 --- a/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch +++ b/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/ResourceLocation.java +++ b/net/minecraft/util/ResourceLocation.java -@@ -112,6 +112,12 @@ +@@ -112,6 +_,12 @@ return i; } diff --git a/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch b/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch index d40adac205..98e7d10cf6 100644 --- a/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch +++ b/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/ScreenShotHelper.java +++ b/net/minecraft/util/ScreenShotHelper.java -@@ -50,13 +50,23 @@ +@@ -50,13 +_,23 @@ file2 = new File(file1, p_228051_1_); } diff --git a/patches/minecraft/net/minecraft/util/Session.java.patch b/patches/minecraft/net/minecraft/util/Session.java.patch index 7cce810a9a..b9750f9680 100644 --- a/patches/minecraft/net/minecraft/util/Session.java.patch +++ b/patches/minecraft/net/minecraft/util/Session.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/Session.java +++ b/net/minecraft/util/Session.java -@@ -18,8 +18,22 @@ +@@ -18,8 +_,22 @@ private final String field_148257_b; private final String field_148258_c; private final Session.Type field_152429_d; @@ -23,7 +23,7 @@ this.field_74286_b = p_i1098_1_; this.field_148257_b = p_i1098_2_; this.field_148258_c = p_i1098_3_; -@@ -45,12 +59,24 @@ +@@ -45,10 +_,22 @@ public GameProfile func_148256_e() { try { UUID uuid = UUIDTypeAdapter.fromString(this.func_148255_b()); @@ -34,8 +34,8 @@ } catch (IllegalArgumentException illegalargumentexception) { return new GameProfile((UUID)null, this.func_111285_a()); } - } - ++ } ++ + //For internal use only. Modders should never need to use this. + public void setProperties(com.mojang.authlib.properties.PropertyMap properties) { + if (this.properties == null) @@ -44,8 +44,6 @@ + + public boolean hasCachedProperties() { + return properties != null; -+ } -+ + } + @OnlyIn(Dist.CLIENT) - public static enum Type { - LEGACY("legacy"), diff --git a/patches/minecraft/net/minecraft/util/SharedConstants.java.patch b/patches/minecraft/net/minecraft/util/SharedConstants.java.patch index 9359753211..6d0af6230d 100644 --- a/patches/minecraft/net/minecraft/util/SharedConstants.java.patch +++ b/patches/minecraft/net/minecraft/util/SharedConstants.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/SharedConstants.java +++ b/net/minecraft/util/SharedConstants.java -@@ -44,6 +44,7 @@ +@@ -44,6 +_,7 @@ } static { diff --git a/patches/minecraft/net/minecraft/util/SoundEvent.java.patch b/patches/minecraft/net/minecraft/util/SoundEvent.java.patch index e43dc3148c..9329017a3c 100644 --- a/patches/minecraft/net/minecraft/util/SoundEvent.java.patch +++ b/patches/minecraft/net/minecraft/util/SoundEvent.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/SoundEvent.java +++ b/net/minecraft/util/SoundEvent.java -@@ -4,7 +4,7 @@ +@@ -4,7 +_,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/patches/minecraft/net/minecraft/util/SoundEvents.java.patch b/patches/minecraft/net/minecraft/util/SoundEvents.java.patch index 71dad5e552..3502002388 100644 --- a/patches/minecraft/net/minecraft/util/SoundEvents.java.patch +++ b/patches/minecraft/net/minecraft/util/SoundEvents.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/SoundEvents.java +++ b/net/minecraft/util/SoundEvents.java -@@ -2,6 +2,7 @@ +@@ -2,6 +_,7 @@ import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/util/Util.java.patch b/patches/minecraft/net/minecraft/util/Util.java.patch index f6950b808c..ed30fc929a 100644 --- a/patches/minecraft/net/minecraft/util/Util.java.patch +++ b/patches/minecraft/net/minecraft/util/Util.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/Util.java +++ b/net/minecraft/util/Util.java -@@ -200,7 +200,7 @@ +@@ -200,7 +_,7 @@ try { type = DataFixesManager.func_210901_a().getSchema(DataFixUtils.makeKey(SharedConstants.func_215069_a().getWorldVersion())).getChoiceType(p_240990_0_, p_240990_1_); } catch (IllegalArgumentException illegalargumentexception) { diff --git a/patches/minecraft/net/minecraft/util/datafix/codec/DatapackCodec.java.patch b/patches/minecraft/net/minecraft/util/datafix/codec/DatapackCodec.java.patch index d0f4c81537..d327ab3a34 100644 --- a/patches/minecraft/net/minecraft/util/datafix/codec/DatapackCodec.java.patch +++ b/patches/minecraft/net/minecraft/util/datafix/codec/DatapackCodec.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/datafix/codec/DatapackCodec.java +++ b/net/minecraft/util/datafix/codec/DatapackCodec.java -@@ -18,7 +18,7 @@ +@@ -18,7 +_,7 @@ private final List field_234883_d_; public DatapackCodec(List p_i231607_1_, List p_i231607_2_) { @@ -9,12 +9,13 @@ this.field_234883_d_ = ImmutableList.copyOf(p_i231607_2_); } -@@ -29,4 +29,8 @@ +@@ -28,5 +_,9 @@ + public List func_234887_b_() { return this.field_234883_d_; - } ++ } + + public void addModPacks(List modPacks) { + field_234882_c_.addAll(modPacks.stream().filter(p->!field_234882_c_.contains(p)).collect(java.util.stream.Collectors.toList())); -+ } + } } diff --git a/patches/minecraft/net/minecraft/util/math/RayTraceContext.java.patch b/patches/minecraft/net/minecraft/util/math/RayTraceContext.java.patch index 22ae097426..89b11e5f5c 100644 --- a/patches/minecraft/net/minecraft/util/math/RayTraceContext.java.patch +++ b/patches/minecraft/net/minecraft/util/math/RayTraceContext.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/RayTraceContext.java +++ b/net/minecraft/util/math/RayTraceContext.java -@@ -18,12 +18,12 @@ +@@ -18,12 +_,12 @@ private final RayTraceContext.FluidMode field_222257_d; private final ISelectionContext field_222258_e; diff --git a/patches/minecraft/net/minecraft/util/math/RayTraceResult.java.patch b/patches/minecraft/net/minecraft/util/math/RayTraceResult.java.patch index f0cfcbd278..c9240b0c14 100644 --- a/patches/minecraft/net/minecraft/util/math/RayTraceResult.java.patch +++ b/patches/minecraft/net/minecraft/util/math/RayTraceResult.java.patch @@ -1,15 +1,14 @@ --- a/net/minecraft/util/math/RayTraceResult.java +++ b/net/minecraft/util/math/RayTraceResult.java -@@ -5,7 +5,12 @@ +@@ -5,6 +_,11 @@ public abstract class RayTraceResult { protected final Vector3d field_72307_f; + /** Used to determine what sub-segment is hit */ + public int subHit = -1; - ++ + /** Used to add extra hit info */ + public Object hitInfo = null; -+ + protected RayTraceResult(Vector3d p_i51183_1_) { this.field_72307_f = p_i51183_1_; - } diff --git a/patches/minecraft/net/minecraft/util/math/shapes/EntitySelectionContext.java.patch b/patches/minecraft/net/minecraft/util/math/shapes/EntitySelectionContext.java.patch index f20b394db7..793c7503a5 100644 --- a/patches/minecraft/net/minecraft/util/math/shapes/EntitySelectionContext.java.patch +++ b/patches/minecraft/net/minecraft/util/math/shapes/EntitySelectionContext.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/shapes/EntitySelectionContext.java +++ b/net/minecraft/util/math/shapes/EntitySelectionContext.java -@@ -25,6 +25,11 @@ +@@ -25,6 +_,11 @@ private final Predicate field_237493_e_; protected EntitySelectionContext(boolean p_i232177_1_, double p_i232177_2_, Item p_i232177_4_, Predicate p_i232177_5_) { @@ -12,7 +12,7 @@ this.field_227579_b_ = p_i232177_1_; this.field_216381_c = p_i232177_2_; this.field_216382_d = p_i232177_4_; -@@ -33,7 +38,7 @@ +@@ -33,7 +_,7 @@ @Deprecated protected EntitySelectionContext(Entity p_i51182_1_) { @@ -21,15 +21,16 @@ return false; }); } -@@ -53,4 +58,11 @@ +@@ -52,5 +_,12 @@ + public boolean func_216378_a(VoxelShape p_216378_1_, BlockPos p_216378_2_, boolean p_216378_3_) { return this.field_216381_c > (double)p_216378_2_.func_177956_o() + p_216378_1_.func_197758_c(Direction.Axis.Y) - (double)1.0E-5F; - } ++ } + + private final @javax.annotation.Nullable Entity entity; + + @Override + public @javax.annotation.Nullable Entity getEntity() { + return entity; -+ } + } } diff --git a/patches/minecraft/net/minecraft/util/math/shapes/ISelectionContext.java.patch b/patches/minecraft/net/minecraft/util/math/shapes/ISelectionContext.java.patch index 1eb4e13cd7..c3da893a8f 100644 --- a/patches/minecraft/net/minecraft/util/math/shapes/ISelectionContext.java.patch +++ b/patches/minecraft/net/minecraft/util/math/shapes/ISelectionContext.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/shapes/ISelectionContext.java +++ b/net/minecraft/util/math/shapes/ISelectionContext.java -@@ -6,7 +6,7 @@ +@@ -6,7 +_,7 @@ import net.minecraft.item.Item; import net.minecraft.util.math.BlockPos; diff --git a/patches/minecraft/net/minecraft/util/math/vector/Matrix3f.java.patch b/patches/minecraft/net/minecraft/util/math/vector/Matrix3f.java.patch index 1bd87cb72d..794025eb0d 100644 --- a/patches/minecraft/net/minecraft/util/math/vector/Matrix3f.java.patch +++ b/patches/minecraft/net/minecraft/util/math/vector/Matrix3f.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/vector/Matrix3f.java +++ b/net/minecraft/util/math/vector/Matrix3f.java -@@ -444,4 +444,11 @@ +@@ -444,4 +_,11 @@ public Matrix3f func_226121_d_() { return new Matrix3f(this); } diff --git a/patches/minecraft/net/minecraft/util/math/vector/Matrix4f.java.patch b/patches/minecraft/net/minecraft/util/math/vector/Matrix4f.java.patch index 85378c9449..1d9e1c697a 100644 --- a/patches/minecraft/net/minecraft/util/math/vector/Matrix4f.java.patch +++ b/patches/minecraft/net/minecraft/util/math/vector/Matrix4f.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/vector/Matrix4f.java +++ b/net/minecraft/util/math/vector/Matrix4f.java -@@ -386,4 +386,78 @@ +@@ -386,4 +_,78 @@ matrix4f.field_226586_l_ = p_226599_2_; return matrix4f; } diff --git a/patches/minecraft/net/minecraft/util/math/vector/TransformationMatrix.java.patch b/patches/minecraft/net/minecraft/util/math/vector/TransformationMatrix.java.patch index 0bd0f40d02..68dc6a560e 100644 --- a/patches/minecraft/net/minecraft/util/math/vector/TransformationMatrix.java.patch +++ b/patches/minecraft/net/minecraft/util/math/vector/TransformationMatrix.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/vector/TransformationMatrix.java +++ b/net/minecraft/util/math/vector/TransformationMatrix.java -@@ -9,7 +9,7 @@ +@@ -9,7 +_,7 @@ import org.apache.commons.lang3.tuple.Triple; @OnlyIn(Dist.CLIENT) @@ -9,7 +9,24 @@ private final Matrix4f field_227976_a_; private boolean field_227977_b_; @Nullable -@@ -133,4 +133,32 @@ +@@ -50,14 +_,14 @@ + return field_227982_g_; + } + +- public TransformationMatrix func_227985_a_(TransformationMatrix p_227985_1_) { ++ public TransformationMatrix compose(TransformationMatrix p_227985_1_) { + Matrix4f matrix4f = this.func_227988_c_(); + matrix4f.func_226595_a_(p_227985_1_.func_227988_c_()); + return new TransformationMatrix(matrix4f); + } + + @Nullable +- public TransformationMatrix func_227987_b_() { ++ public TransformationMatrix inverse() { + if (this == field_227982_g_) { + return this; + } else { +@@ -133,4 +_,32 @@ public int hashCode() { return Objects.hash(this.field_227976_a_); } diff --git a/patches/minecraft/net/minecraft/util/math/vector/Vector3f.java.patch b/patches/minecraft/net/minecraft/util/math/vector/Vector3f.java.patch index 78e510f821..8978d47a1a 100644 --- a/patches/minecraft/net/minecraft/util/math/vector/Vector3f.java.patch +++ b/patches/minecraft/net/minecraft/util/math/vector/Vector3f.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/vector/Vector3f.java +++ b/net/minecraft/util/math/vector/Vector3f.java -@@ -196,4 +196,17 @@ +@@ -196,4 +_,17 @@ public String toString() { return "[" + this.field_229184_g_ + ", " + this.field_229185_h_ + ", " + this.field_229186_i_ + "]"; } diff --git a/patches/minecraft/net/minecraft/util/math/vector/Vector4f.java.patch b/patches/minecraft/net/minecraft/util/math/vector/Vector4f.java.patch index cf0fb48959..d2880d9846 100644 --- a/patches/minecraft/net/minecraft/util/math/vector/Vector4f.java.patch +++ b/patches/minecraft/net/minecraft/util/math/vector/Vector4f.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/math/vector/Vector4f.java +++ b/net/minecraft/util/math/vector/Vector4f.java -@@ -125,4 +125,16 @@ +@@ -125,4 +_,16 @@ public String toString() { return "[" + this.field_229368_a_ + ", " + this.field_229369_b_ + ", " + this.field_229370_c_ + ", " + this.field_229371_d_ + "]"; } diff --git a/patches/minecraft/net/minecraft/util/palette/PalettedContainer.java.patch b/patches/minecraft/net/minecraft/util/palette/PalettedContainer.java.patch index ddcb127c6f..089c89fc99 100644 --- a/patches/minecraft/net/minecraft/util/palette/PalettedContainer.java.patch +++ b/patches/minecraft/net/minecraft/util/palette/PalettedContainer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/palette/PalettedContainer.java +++ b/net/minecraft/util/palette/PalettedContainer.java -@@ -66,8 +66,11 @@ +@@ -66,8 +_,11 @@ } private void func_186012_b(int p_186012_1_) { @@ -14,7 +14,7 @@ if (this.field_186024_e <= 4) { this.field_186024_e = 4; this.field_186022_c = new ArrayPalette<>(this.field_205523_d, this.field_186024_e, this, this.field_205524_e); -@@ -76,6 +79,8 @@ +@@ -76,6 +_,8 @@ } else { this.field_186022_c = this.field_205521_b; this.field_186024_e = MathHelper.func_151241_e(this.field_205523_d.func_186804_a()); @@ -23,7 +23,7 @@ } this.field_186022_c.func_186041_a(this.field_205526_g); -@@ -138,12 +143,16 @@ +@@ -138,12 +_,16 @@ this.func_210459_b(); int i = p_186010_1_.readByte(); if (this.field_186024_e != i) { diff --git a/patches/minecraft/net/minecraft/util/registry/Bootstrap.java.patch b/patches/minecraft/net/minecraft/util/registry/Bootstrap.java.patch index 279d3f133a..85cfbec62c 100644 --- a/patches/minecraft/net/minecraft/util/registry/Bootstrap.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/Bootstrap.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/Bootstrap.java +++ b/net/minecraft/util/registry/Bootstrap.java -@@ -48,6 +48,8 @@ +@@ -48,6 +_,8 @@ IDispenseItemBehavior.func_218401_c(); ArgumentTypes.func_197483_a(); TagRegistryManager.func_242197_b(); @@ -9,7 +9,7 @@ func_179868_d(); } } -@@ -103,7 +105,6 @@ +@@ -103,7 +_,6 @@ Commands.func_242986_b(); } diff --git a/patches/minecraft/net/minecraft/util/registry/DynamicRegistries.java.patch b/patches/minecraft/net/minecraft/util/registry/DynamicRegistries.java.patch index b1fd240642..434ee0fc1e 100644 --- a/patches/minecraft/net/minecraft/util/registry/DynamicRegistries.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/DynamicRegistries.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/DynamicRegistries.java +++ b/net/minecraft/util/registry/DynamicRegistries.java -@@ -90,6 +90,8 @@ +@@ -90,6 +_,8 @@ RegistryKey> registrykey = p_243607_2_.func_243622_a(); boolean flag = !registrykey.equals(Registry.field_243549_ar) && !registrykey.equals(Registry.field_239698_ad_); Registry registry = field_243600_c.func_243612_b(registrykey); diff --git a/patches/minecraft/net/minecraft/util/registry/Registry.java.patch b/patches/minecraft/net/minecraft/util/registry/Registry.java.patch index 02f1ab35de..5bbd78a751 100644 --- a/patches/minecraft/net/minecraft/util/registry/Registry.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/Registry.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/Registry.java +++ b/net/minecraft/util/registry/Registry.java -@@ -94,6 +94,10 @@ +@@ -94,6 +_,10 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -11,7 +11,7 @@ public abstract class Registry implements Codec, Keyable, IObjectIntIterable { protected static final Logger field_212616_e = LogManager.getLogger(); private static final Map> field_218376_a = Maps.newLinkedHashMap(); -@@ -133,43 +137,43 @@ +@@ -133,43 +_,43 @@ public static final RegistryKey> field_239698_ad_ = func_239741_a_("dimension_type"); public static final RegistryKey> field_239699_ae_ = func_239741_a_("dimension"); public static final RegistryKey> field_239700_af_ = func_239741_a_("dimension"); @@ -67,7 +67,7 @@ return ChunkStatus.field_223226_a_; }); public static final Registry> field_218363_D = func_239746_a_(field_239673_K_, () -> { -@@ -178,40 +182,40 @@ +@@ -178,40 +_,40 @@ public static final Registry> field_239691_aJ_ = func_239746_a_(field_239674_L_, () -> { return IPosRuleTests.field_237103_a_; }); @@ -118,7 +118,7 @@ return Activity.field_221366_b; }); public static final Registry field_239693_aY_ = func_239746_a_(field_239695_aa_, () -> { -@@ -232,19 +236,19 @@ +@@ -232,19 +_,19 @@ public static final RegistryKey> field_243555_ax = func_239741_a_("worldgen/template_pool"); public static final RegistryKey> field_239720_u_ = func_239741_a_("worldgen/biome"); public static final RegistryKey>> field_239717_r_ = func_239741_a_("worldgen/surface_builder"); @@ -142,7 +142,7 @@ return Structure.field_236367_c_; }); public static final RegistryKey> field_239672_J_ = func_239741_a_("worldgen/structure_piece"); -@@ -252,7 +256,7 @@ +@@ -252,7 +_,7 @@ return IStructurePieceType.field_214782_c; }); public static final RegistryKey>> field_239719_t_ = func_239741_a_("worldgen/decorator"); @@ -151,7 +151,7 @@ return Placement.field_215022_h; }); public static final RegistryKey>> field_239721_v_ = func_239741_a_("worldgen/block_state_provider_type"); -@@ -265,19 +269,19 @@ +@@ -265,19 +_,19 @@ public static final RegistryKey>> field_239666_D_ = func_239741_a_("worldgen/chunk_generator"); public static final RegistryKey>> field_239675_M_ = func_239741_a_("worldgen/structure_processor"); public static final RegistryKey>> field_239676_N_ = func_239741_a_("worldgen/structure_pool_element"); @@ -175,7 +175,7 @@ return TreeDecoratorType.field_227426_b_; }); public static final Registry> field_239702_ay_ = func_239746_a_(field_239663_A_, () -> { -@@ -323,18 +327,34 @@ +@@ -323,16 +_,32 @@ return func_239742_a_(p_239746_0_, Lifecycle.experimental(), p_239746_1_); } @@ -201,12 +201,10 @@ + private static DefaultedRegistry func_239744_a_(RegistryKey> p_239744_0_, String p_239744_1_, Lifecycle p_239744_2_, Supplier p_239744_3_) { return func_239743_a_(p_239744_0_, new DefaultedRegistry<>(p_239744_1_, p_239744_0_, p_239744_2_), p_239744_3_, p_239744_2_); - } - -+ private static > DefaultedRegistry forge(RegistryKey> key, String defKey, Lifecycle cycle, Supplier def) { -+ return func_239743_a_(key, net.minecraftforge.registries.GameData.getWrapper(key, cycle, defKey), def, cycle); + } + ++ private static > DefaultedRegistry forge(RegistryKey> key, String defKey, Lifecycle cycle, Supplier def) { ++ return func_239743_a_(key, net.minecraftforge.registries.GameData.getWrapper(key, cycle, defKey), def, cycle); + } + private static > R func_239743_a_(RegistryKey> p_239743_0_, R p_239743_1_, Supplier p_239743_2_, Lifecycle p_239743_3_) { - ResourceLocation resourcelocation = p_239743_0_.func_240901_a_(); - field_218376_a.put(resourcelocation, p_239743_2_); diff --git a/patches/minecraft/net/minecraft/util/registry/SimpleRegistry.java.patch b/patches/minecraft/net/minecraft/util/registry/SimpleRegistry.java.patch index b7405af28b..fe4acd7369 100644 --- a/patches/minecraft/net/minecraft/util/registry/SimpleRegistry.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/SimpleRegistry.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/SimpleRegistry.java +++ b/net/minecraft/util/registry/SimpleRegistry.java -@@ -212,7 +212,8 @@ +@@ -212,7 +_,8 @@ } public static Codec> func_241745_c_(RegistryKey> p_241745_0_, Lifecycle p_241745_1_, Codec p_241745_2_) { diff --git a/patches/minecraft/net/minecraft/util/registry/WorldGenRegistries.java.patch b/patches/minecraft/net/minecraft/util/registry/WorldGenRegistries.java.patch index 089b21ee6c..d7d70e011d 100644 --- a/patches/minecraft/net/minecraft/util/registry/WorldGenRegistries.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/WorldGenRegistries.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/WorldGenRegistries.java +++ b/net/minecraft/util/registry/WorldGenRegistries.java -@@ -45,7 +45,7 @@ +@@ -45,13 +_,17 @@ return ProcessorLists.field_244102_b; }); public static final Registry field_243656_h = func_243667_a(Registry.field_243555_ax, JigsawPatternRegistry::func_244093_a); @@ -9,14 +9,13 @@ return BiomeRegistry.field_244200_a; }); public static final Registry field_243658_j = func_243667_a(Registry.field_243549_ar, DimensionSettings::func_242746_i); -@@ -54,6 +54,10 @@ - return func_243665_a(p_243667_0_, Lifecycle.stable(), p_243667_1_); - } -+ private static > Registry forge(RegistryKey> key, Supplier def) { -+ return func_243666_a(key, net.minecraftforge.registries.GameData.getWrapper(key, Lifecycle.stable()), def, Lifecycle.stable()); + private static Registry func_243667_a(RegistryKey> p_243667_0_, Supplier p_243667_1_) { + return func_243665_a(p_243667_0_, Lifecycle.stable(), p_243667_1_); + } + - private static Registry func_243665_a(RegistryKey> p_243665_0_, Lifecycle p_243665_1_, Supplier p_243665_2_) { - return func_243666_a(p_243665_0_, new SimpleRegistry<>(p_243665_0_, p_243665_1_), p_243665_2_, p_243665_1_); ++ private static > Registry forge(RegistryKey> key, Supplier def) { ++ return func_243666_a(key, net.minecraftforge.registries.GameData.getWrapper(key, Lifecycle.stable()), def, Lifecycle.stable()); } + + private static Registry func_243665_a(RegistryKey> p_243665_0_, Lifecycle p_243665_1_, Supplier p_243665_2_) { diff --git a/patches/minecraft/net/minecraft/util/registry/WorldSettingsImport.java.patch b/patches/minecraft/net/minecraft/util/registry/WorldSettingsImport.java.patch index 3ba11b49cd..1ab024a611 100644 --- a/patches/minecraft/net/minecraft/util/registry/WorldSettingsImport.java.patch +++ b/patches/minecraft/net/minecraft/util/registry/WorldSettingsImport.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/registry/WorldSettingsImport.java +++ b/net/minecraft/util/registry/WorldSettingsImport.java -@@ -190,6 +190,7 @@ +@@ -190,6 +_,7 @@ ) { JsonParser jsonparser = new JsonParser(); JsonElement jsonelement = jsonparser.parse(reader); @@ -8,7 +8,7 @@ return p_241879_4_.parse(p_241879_1_, jsonelement).map((p_244347_0_) -> { return Pair.of(p_244347_0_, OptionalInt.empty()); }); -@@ -231,6 +232,7 @@ +@@ -231,6 +_,7 @@ public DataResult> func_241879_a(DynamicOps p_241879_1_, RegistryKey> p_241879_2_, RegistryKey p_241879_3_, Decoder p_241879_4_) { JsonElement jsonelement = this.field_244349_a.get(p_241879_3_); diff --git a/patches/minecraft/net/minecraft/util/text/LanguageMap.java.patch b/patches/minecraft/net/minecraft/util/text/LanguageMap.java.patch index 7c6fc2fe3b..2524105ac6 100644 --- a/patches/minecraft/net/minecraft/util/text/LanguageMap.java.patch +++ b/patches/minecraft/net/minecraft/util/text/LanguageMap.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/text/LanguageMap.java +++ b/net/minecraft/util/text/LanguageMap.java -@@ -40,7 +40,8 @@ +@@ -40,7 +_,8 @@ field_201045_a.error("Couldn't read strings from /assets/minecraft/lang/en_us.json", (Throwable)ioexception); } @@ -10,7 +10,7 @@ return new LanguageMap() { public String func_230503_a_(String p_230503_1_) { return map.getOrDefault(p_230503_1_, p_230503_1_); -@@ -63,6 +64,11 @@ +@@ -63,6 +_,11 @@ }, Style.field_240709_b_).isPresent(); }; } @@ -22,7 +22,7 @@ }; } -@@ -84,6 +90,9 @@ +@@ -84,6 +_,9 @@ public static void func_240594_a_(LanguageMap p_240594_0_) { field_240592_d_ = p_240594_0_; } diff --git a/patches/minecraft/net/minecraft/util/text/Style.java.patch b/patches/minecraft/net/minecraft/util/text/Style.java.patch index 7f82d11d37..b71811f18b 100644 --- a/patches/minecraft/net/minecraft/util/text/Style.java.patch +++ b/patches/minecraft/net/minecraft/util/text/Style.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/text/Style.java +++ b/net/minecraft/util/text/Style.java -@@ -125,6 +125,18 @@ +@@ -125,6 +_,18 @@ return new Style(this.field_150247_b, this.field_150248_c, this.field_150245_d, p_244282_1_, this.field_150243_f, this.field_150244_g, this.field_150251_h, this.field_150252_i, this.field_179990_j, this.field_240710_l_); } diff --git a/patches/minecraft/net/minecraft/util/text/TranslationTextComponent.java.patch b/patches/minecraft/net/minecraft/util/text/TranslationTextComponent.java.patch index 02c1ae0d97..9ac5955bc9 100644 --- a/patches/minecraft/net/minecraft/util/text/TranslationTextComponent.java.patch +++ b/patches/minecraft/net/minecraft/util/text/TranslationTextComponent.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/util/text/TranslationTextComponent.java +++ b/net/minecraft/util/text/TranslationTextComponent.java -@@ -88,6 +88,10 @@ +@@ -88,6 +_,10 @@ } } diff --git a/patches/minecraft/net/minecraft/village/PointOfInterestType.java.patch b/patches/minecraft/net/minecraft/village/PointOfInterestType.java.patch index 081dbecc14..9cb693598b 100644 --- a/patches/minecraft/net/minecraft/village/PointOfInterestType.java.patch +++ b/patches/minecraft/net/minecraft/village/PointOfInterestType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/village/PointOfInterestType.java +++ b/net/minecraft/village/PointOfInterestType.java -@@ -21,7 +21,7 @@ +@@ -21,7 +_,7 @@ import net.minecraft.util.Util; import net.minecraft.util.registry.Registry; @@ -9,7 +9,7 @@ private static final Supplier> field_234168_y_ = Suppliers.memoize(() -> { return Registry.field_218370_L.func_201756_e().map(VillagerProfession::func_221149_b).collect(Collectors.toSet()); }); -@@ -36,7 +36,7 @@ +@@ -36,7 +_,7 @@ }).filter((p_234173_0_) -> { return p_234173_0_.func_177229_b(BedBlock.field_176472_a) == BedPart.HEAD; }).collect(ImmutableSet.toImmutableSet()); @@ -18,7 +18,7 @@ public static final PointOfInterestType field_221054_b = func_226360_a_("unemployed", ImmutableSet.of(), 1, field_221071_s, 1); public static final PointOfInterestType field_221055_c = func_226359_a_("armorer", func_221042_a(Blocks.field_222424_lM), 1, 1); public static final PointOfInterestType field_221056_d = func_226359_a_("butcher", func_221042_a(Blocks.field_222423_lL), 1, 1); -@@ -112,16 +112,14 @@ +@@ -112,16 +_,14 @@ } private static PointOfInterestType func_221052_a(PointOfInterestType p_221052_0_) { @@ -33,9 +33,9 @@ public static Optional func_221047_b(BlockState p_221047_0_) { return Optional.ofNullable(field_221073_u.get(p_221047_0_)); - } ++ } + + public ImmutableSet getBlockStates() { + return ImmutableSet.copyOf(this.field_221075_w); -+ } + } } diff --git a/patches/minecraft/net/minecraft/village/VillageSiege.java.patch b/patches/minecraft/net/minecraft/village/VillageSiege.java.patch index 29a8ed0ed6..d02e839ca5 100644 --- a/patches/minecraft/net/minecraft/village/VillageSiege.java.patch +++ b/patches/minecraft/net/minecraft/village/VillageSiege.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/village/VillageSiege.java +++ b/net/minecraft/village/VillageSiege.java -@@ -78,7 +78,9 @@ +@@ -78,7 +_,9 @@ this.field_75532_g = blockpos.func_177958_n() + MathHelper.func_76141_d(MathHelper.func_76134_b(f) * 32.0F); this.field_75538_h = blockpos.func_177956_o(); this.field_75539_i = blockpos.func_177952_p() + MathHelper.func_76141_d(MathHelper.func_76126_a(f) * 32.0F); @@ -11,7 +11,7 @@ this.field_75534_e = 0; this.field_75533_d = 20; break; -@@ -98,7 +100,7 @@ +@@ -98,7 +_,7 @@ if (vector3d != null) { ZombieEntity zombieentity; try { diff --git a/patches/minecraft/net/minecraft/world/Explosion.java.patch b/patches/minecraft/net/minecraft/world/Explosion.java.patch index bb7d560777..e00bb5abd3 100644 --- a/patches/minecraft/net/minecraft/world/Explosion.java.patch +++ b/patches/minecraft/net/minecraft/world/Explosion.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/Explosion.java +++ b/net/minecraft/world/Explosion.java -@@ -58,6 +58,7 @@ +@@ -58,6 +_,7 @@ private final ExplosionContext field_234893_k_; private final List field_77281_g = Lists.newArrayList(); private final Map field_77288_k = Maps.newHashMap(); @@ -8,7 +8,7 @@ @OnlyIn(Dist.CLIENT) public Explosion(World p_i45752_1_, @Nullable Entity p_i45752_2_, double p_i45752_3_, double p_i45752_5_, double p_i45752_7_, float p_i45752_9_, List p_i45752_10_) { -@@ -86,6 +87,7 @@ +@@ -86,6 +_,7 @@ this.field_222260_b = p_i231610_13_; this.field_199593_j = p_i231610_3_ == null ? DamageSource.func_94539_a(this) : p_i231610_3_; this.field_234893_k_ = p_i231610_4_ == null ? this.func_234894_a_(p_i231610_2_) : p_i231610_4_; @@ -16,7 +16,7 @@ } private ExplosionContext func_234894_a_(@Nullable Entity p_234894_1_) { -@@ -176,6 +178,7 @@ +@@ -176,6 +_,7 @@ int j2 = MathHelper.func_76128_c(this.field_77282_d - (double)f2 - 1.0D); int j1 = MathHelper.func_76128_c(this.field_77282_d + (double)f2 + 1.0D); List list = this.field_77287_j.func_72839_b(this.field_77283_e, new AxisAlignedBB((double)k1, (double)i2, (double)j2, (double)l1, (double)i1, (double)j1)); @@ -24,7 +24,7 @@ Vector3d vector3d = new Vector3d(this.field_77284_b, this.field_77285_c, this.field_77282_d); for(int k2 = 0; k2 < list.size(); ++k2) { -@@ -234,11 +237,11 @@ +@@ -234,11 +_,11 @@ for(BlockPos blockpos : this.field_77281_g) { BlockState blockstate = this.field_77287_j.func_180495_p(blockpos); Block block = blockstate.func_177230_c(); @@ -39,7 +39,7 @@ LootContext.Builder lootcontext$builder = (new LootContext.Builder((ServerWorld)this.field_77287_j)).func_216023_a(this.field_77287_j.field_73012_v).func_216015_a(LootParameters.field_237457_g_, Vector3d.func_237489_a_(blockpos)).func_216015_a(LootParameters.field_216289_i, ItemStack.field_190927_a).func_216021_b(LootParameters.field_216288_h, tileentity).func_216021_b(LootParameters.field_216281_a, this.field_77283_e); if (this.field_222260_b == Explosion.Mode.DESTROY) { lootcontext$builder.func_216015_a(LootParameters.field_216290_j, this.field_77280_f); -@@ -249,8 +252,7 @@ +@@ -249,8 +_,7 @@ }); } @@ -49,10 +49,12 @@ this.field_77287_j.func_217381_Z().func_76319_b(); } } -@@ -324,6 +326,15 @@ - return this.field_77281_g; - } +@@ -322,6 +_,15 @@ + public List func_180343_e() { + return this.field_77281_g; ++ } ++ + public Vector3d getPosition() { + return this.position; + } @@ -60,8 +62,6 @@ + @Nullable + public Entity getExploder() { + return this.field_77283_e; -+ } -+ + } + public static enum Mode { - NONE, - BREAK, diff --git a/patches/minecraft/net/minecraft/world/ExplosionContext.java.patch b/patches/minecraft/net/minecraft/world/ExplosionContext.java.patch index e98e3c7633..a1ad5cb35e 100644 --- a/patches/minecraft/net/minecraft/world/ExplosionContext.java.patch +++ b/patches/minecraft/net/minecraft/world/ExplosionContext.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/ExplosionContext.java +++ b/net/minecraft/world/ExplosionContext.java -@@ -7,7 +7,7 @@ +@@ -7,7 +_,7 @@ public class ExplosionContext { public Optional func_230312_a_(Explosion p_230312_1_, IBlockReader p_230312_2_, BlockPos p_230312_3_, BlockState p_230312_4_, FluidState p_230312_5_) { diff --git a/patches/minecraft/net/minecraft/world/ForcedChunksSaveData.java.patch b/patches/minecraft/net/minecraft/world/ForcedChunksSaveData.java.patch index 079fbce4cd..4a6bc33bab 100644 --- a/patches/minecraft/net/minecraft/world/ForcedChunksSaveData.java.patch +++ b/patches/minecraft/net/minecraft/world/ForcedChunksSaveData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/ForcedChunksSaveData.java +++ b/net/minecraft/world/ForcedChunksSaveData.java -@@ -14,14 +14,30 @@ +@@ -14,14 +_,30 @@ public void func_76184_a(CompoundNBT p_76184_1_) { this.field_212439_a = new LongOpenHashSet(p_76184_1_.func_197645_o("Forced")); @@ -17,7 +17,7 @@ public LongSet func_212438_a() { return this.field_212439_a; - } ++ } + + /* ======================================== FORGE START =====================================*/ + private net.minecraftforge.common.world.ForgeChunkManager.TicketTracker blockForcedChunks = new net.minecraftforge.common.world.ForgeChunkManager.TicketTracker<>(); @@ -29,5 +29,5 @@ + + public net.minecraftforge.common.world.ForgeChunkManager.TicketTracker getEntityForcedChunks() { + return this.entityForcedChunks; -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/IBlockReader.java.patch b/patches/minecraft/net/minecraft/world/IBlockReader.java.patch index 6ed7f80b4c..e31d6724a6 100644 --- a/patches/minecraft/net/minecraft/world/IBlockReader.java.patch +++ b/patches/minecraft/net/minecraft/world/IBlockReader.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/IBlockReader.java +++ b/net/minecraft/world/IBlockReader.java -@@ -26,7 +26,7 @@ +@@ -26,7 +_,7 @@ FluidState func_204610_c(BlockPos p_204610_1_); default int func_217298_h(BlockPos p_217298_1_) { diff --git a/patches/minecraft/net/minecraft/world/IWorldReader.java.patch b/patches/minecraft/net/minecraft/world/IWorldReader.java.patch index 7312bc62a0..7258623530 100644 --- a/patches/minecraft/net/minecraft/world/IWorldReader.java.patch +++ b/patches/minecraft/net/minecraft/world/IWorldReader.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/IWorldReader.java +++ b/net/minecraft/world/IWorldReader.java -@@ -68,7 +68,7 @@ +@@ -68,7 +_,7 @@ } default boolean func_175623_d(BlockPos p_175623_1_) { @@ -9,14 +9,14 @@ } default boolean func_175710_j(BlockPos p_175710_1_) { -@@ -157,6 +157,10 @@ +@@ -155,6 +_,10 @@ + @Deprecated + default boolean func_175667_e(BlockPos p_175667_1_) { return this.func_217354_b(p_175667_1_.func_177958_n() >> 4, p_175667_1_.func_177952_p() >> 4); - } - -+ default boolean isAreaLoaded(BlockPos center, int range) { -+ return this.func_175707_a(center.func_177982_a(-range, -range, -range), center.func_177982_a(range, range, range)); + } + ++ default boolean isAreaLoaded(BlockPos center, int range) { ++ return this.func_175707_a(center.func_177982_a(-range, -range, -range), center.func_177982_a(range, range, range)); + } + @Deprecated - default boolean func_175707_a(BlockPos p_175707_1_, BlockPos p_175707_2_) { - return this.func_217344_a(p_175707_1_.func_177958_n(), p_175707_1_.func_177956_o(), p_175707_1_.func_177952_p(), p_175707_2_.func_177958_n(), p_175707_2_.func_177956_o(), p_175707_2_.func_177952_p()); diff --git a/patches/minecraft/net/minecraft/world/Teleporter.java.patch b/patches/minecraft/net/minecraft/world/Teleporter.java.patch index 92bb108f9d..e0508c3465 100644 --- a/patches/minecraft/net/minecraft/world/Teleporter.java.patch +++ b/patches/minecraft/net/minecraft/world/Teleporter.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/Teleporter.java +++ b/net/minecraft/world/Teleporter.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.TicketType; diff --git a/patches/minecraft/net/minecraft/world/TrackedEntity.java.patch b/patches/minecraft/net/minecraft/world/TrackedEntity.java.patch index 96fb48c481..455bdd442f 100644 --- a/patches/minecraft/net/minecraft/world/TrackedEntity.java.patch +++ b/patches/minecraft/net/minecraft/world/TrackedEntity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/TrackedEntity.java +++ b/net/minecraft/world/TrackedEntity.java -@@ -81,9 +81,8 @@ +@@ -81,9 +_,8 @@ if (this.field_219461_c instanceof ItemFrameEntity && this.field_219472_n % 10 == 0) { ItemFrameEntity itemframeentity = (ItemFrameEntity)this.field_219461_c; ItemStack itemstack = itemframeentity.func_82335_i(); @@ -12,7 +12,7 @@ for(ServerPlayerEntity serverplayerentity : this.field_219460_b.func_217369_A()) { mapdata.func_76191_a(serverplayerentity, itemstack); IPacket ipacket = ((FilledMapItem)itemstack.func_77973_b()).func_150911_c(itemstack, this.field_219460_b, serverplayerentity); -@@ -187,12 +186,14 @@ +@@ -187,12 +_,14 @@ public void func_219454_a(ServerPlayerEntity p_219454_1_) { this.field_219461_c.func_184203_c(p_219454_1_); p_219454_1_.func_152339_d(this.field_219461_c); diff --git a/patches/minecraft/net/minecraft/world/World.java.patch b/patches/minecraft/net/minecraft/world/World.java.patch index 1d7b939045..f910871ed1 100644 --- a/patches/minecraft/net/minecraft/world/World.java.patch +++ b/patches/minecraft/net/minecraft/world/World.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/World.java +++ b/net/minecraft/world/World.java -@@ -63,7 +63,7 @@ +@@ -63,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ protected static final Logger field_195596_d = LogManager.getLogger(); public static final Codec> field_234917_f_ = ResourceLocation.field_240908_a_.xmap(RegistryKey.func_240902_a_(Registry.field_239699_ae_), RegistryKey::func_240901_a_); public static final RegistryKey field_234918_g_ = RegistryKey.func_240903_a_(Registry.field_239699_ae_, new ResourceLocation("overworld")); -@@ -73,7 +73,7 @@ +@@ -73,7 +_,7 @@ public final List field_147482_g = Lists.newArrayList(); public final List field_175730_i = Lists.newArrayList(); protected final List field_147484_a = Lists.newArrayList(); @@ -18,7 +18,7 @@ private final Thread field_217407_c; private final boolean field_234916_c_; private int field_73008_k; -@@ -92,8 +92,12 @@ +@@ -92,8 +_,12 @@ private final WorldBorder field_175728_M; private final BiomeManager field_226689_w_; private final RegistryKey field_73011_w; @@ -31,7 +31,7 @@ this.field_72984_F = p_i241925_4_; this.field_72986_A = p_i241925_1_; this.field_234921_x_ = p_i241925_3_; -@@ -180,17 +184,45 @@ +@@ -180,17 +_,45 @@ } else { Chunk chunk = this.func_175726_f(p_241211_1_); Block block = p_241211_2_.func_177230_c(); @@ -78,7 +78,7 @@ if (blockstate1 == p_241211_2_) { if (blockstate != blockstate1) { this.func_225319_b(p_241211_1_, blockstate, blockstate1); -@@ -216,8 +248,6 @@ +@@ -216,8 +_,6 @@ this.func_217393_a(p_241211_1_, blockstate, blockstate1); } @@ -87,7 +87,7 @@ } } } -@@ -232,7 +262,7 @@ +@@ -232,7 +_,7 @@ public boolean func_241212_a_(BlockPos p_241212_1_, boolean p_241212_2_, @Nullable Entity p_241212_3_, int p_241212_4_) { BlockState blockstate = this.func_180495_p(p_241212_1_); @@ -96,7 +96,7 @@ return false; } else { FluidState fluidstate = this.func_204610_c(p_241212_1_); -@@ -241,7 +271,7 @@ +@@ -241,7 +_,7 @@ } if (p_241212_2_) { @@ -105,7 +105,7 @@ Block.func_220054_a(blockstate, this, p_241212_1_, tileentity, p_241212_3_, ItemStack.field_190927_a); } -@@ -259,6 +289,8 @@ +@@ -259,6 +_,8 @@ } public void func_195593_d(BlockPos p_195593_1_, Block p_195593_2_) { @@ -114,7 +114,7 @@ this.func_190524_a(p_195593_1_.func_177976_e(), p_195593_2_, p_195593_1_); this.func_190524_a(p_195593_1_.func_177974_f(), p_195593_2_, p_195593_1_); this.func_190524_a(p_195593_1_.func_177977_b(), p_195593_2_, p_195593_1_); -@@ -268,6 +300,11 @@ +@@ -268,6 +_,11 @@ } public void func_175695_a(BlockPos p_175695_1_, Block p_175695_2_, Direction p_175695_3_) { @@ -126,7 +126,7 @@ if (p_175695_3_ != Direction.WEST) { this.func_190524_a(p_175695_1_.func_177976_e(), p_175695_2_, p_175695_1_); } -@@ -305,9 +342,9 @@ +@@ -305,9 +_,9 @@ CrashReportCategory crashreportcategory = crashreport.func_85058_a("Block being updated"); crashreportcategory.func_189529_a("Source block type", () -> { try { @@ -138,7 +138,7 @@ } }); CrashReportCategory.func_175750_a(crashreportcategory, p_190524_1_, blockstate); -@@ -391,10 +428,12 @@ +@@ -391,10 +_,12 @@ } public boolean func_175700_a(TileEntity p_175700_1_) { @@ -151,7 +151,7 @@ } boolean flag = this.field_147482_g.add(p_175700_1_); -@@ -402,6 +441,8 @@ +@@ -402,6 +_,8 @@ this.field_175730_i.add(p_175700_1_); } @@ -160,7 +160,7 @@ if (this.field_72995_K) { BlockPos blockpos = p_175700_1_.func_174877_v(); BlockState blockstate = this.func_180495_p(blockpos); -@@ -413,6 +454,7 @@ +@@ -413,6 +_,7 @@ public void func_147448_a(Collection p_147448_1_) { if (this.field_147481_N) { @@ -168,7 +168,7 @@ this.field_147484_a.addAll(p_147448_1_); } else { for(TileEntity tileentity : p_147448_1_) { -@@ -425,13 +467,14 @@ +@@ -425,13 +_,14 @@ public void func_217391_K() { IProfiler iprofiler = this.func_217381_Z(); iprofiler.func_76320_a("blockEntities"); @@ -184,7 +184,7 @@ Iterator iterator = this.field_175730_i.iterator(); while(iterator.hasNext()) { -@@ -440,8 +483,9 @@ +@@ -440,8 +_,9 @@ BlockPos blockpos = tileentity.func_174877_v(); if (this.func_72863_F().func_222866_a(blockpos) && this.func_175723_af().func_177746_a(blockpos)) { try { @@ -195,7 +195,7 @@ }); if (tileentity.func_200662_C().func_223045_a(this.func_180495_p(blockpos).func_177230_c())) { ((ITickableTileEntity)tileentity).func_73660_a(); -@@ -454,8 +498,16 @@ +@@ -454,8 +_,16 @@ CrashReport crashreport = CrashReport.func_85055_a(throwable, "Ticking block entity"); CrashReportCategory crashreportcategory = crashreport.func_85058_a("Block entity being ticked"); tileentity.func_145828_a(crashreportcategory); @@ -212,7 +212,7 @@ } } -@@ -463,7 +515,10 @@ +@@ -463,7 +_,10 @@ iterator.remove(); this.field_147482_g.remove(tileentity); if (this.func_175667_e(tileentity.func_174877_v())) { @@ -224,7 +224,7 @@ } } } -@@ -495,12 +550,15 @@ +@@ -495,12 +_,15 @@ public void func_217390_a(Consumer p_217390_1_, Entity p_217390_2_) { try { @@ -240,7 +240,7 @@ } } -@@ -514,6 +572,7 @@ +@@ -514,6 +_,7 @@ public Explosion func_230546_a_(@Nullable Entity p_230546_1_, @Nullable DamageSource p_230546_2_, @Nullable ExplosionContext p_230546_3_, double p_230546_4_, double p_230546_6_, double p_230546_8_, float p_230546_10_, boolean p_230546_11_, Explosion.Mode p_230546_12_) { Explosion explosion = new Explosion(this, p_230546_1_, p_230546_2_, p_230546_3_, p_230546_4_, p_230546_6_, p_230546_8_, p_230546_10_, p_230546_11_, p_230546_12_); @@ -248,7 +248,7 @@ explosion.func_77278_a(); explosion.func_77279_a(true); return explosion; -@@ -561,6 +620,7 @@ +@@ -561,6 +_,7 @@ public void func_175690_a(BlockPos p_175690_1_, @Nullable TileEntity p_175690_2_) { if (!func_189509_E(p_175690_1_)) { @@ -256,7 +256,7 @@ if (p_175690_2_ != null && !p_175690_2_.func_145837_r()) { if (this.field_147481_N) { p_175690_2_.func_226984_a_(this, p_175690_1_); -@@ -576,7 +636,8 @@ +@@ -576,7 +_,8 @@ this.field_147484_a.add(p_175690_2_); } else { @@ -266,7 +266,7 @@ this.func_175700_a(p_175690_2_); } } -@@ -589,6 +650,8 @@ +@@ -589,6 +_,8 @@ if (tileentity != null && this.field_147481_N) { tileentity.func_145843_s(); this.field_147484_a.remove(tileentity); @@ -275,7 +275,7 @@ } else { if (tileentity != null) { this.field_147484_a.remove(tileentity); -@@ -598,7 +661,7 @@ +@@ -598,7 +_,7 @@ this.func_175726_f(p_175713_1_).func_177425_e(p_175713_1_); } @@ -284,7 +284,7 @@ } public boolean func_195588_v(BlockPos p_195588_1_) { -@@ -651,10 +714,10 @@ +@@ -651,10 +_,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(); @@ -299,7 +299,7 @@ AbstractChunkProvider abstractchunkprovider = this.func_72863_F(); for(int i1 = i; i1 <= j; ++i1) { -@@ -671,10 +734,10 @@ +@@ -671,10 +_,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"); @@ -314,7 +314,7 @@ List list = Lists.newArrayList(); for(int i1 = i; i1 < j; ++i1) { -@@ -691,10 +754,10 @@ +@@ -691,10 +_,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"); @@ -329,7 +329,7 @@ List list = Lists.newArrayList(); AbstractChunkProvider abstractchunkprovider = this.func_72863_F(); -@@ -712,10 +775,10 @@ +@@ -712,10 +_,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"); @@ -344,7 +344,7 @@ List list = Lists.newArrayList(); AbstractChunkProvider abstractchunkprovider = this.func_72863_F(); -@@ -739,6 +802,7 @@ +@@ -739,6 +_,7 @@ this.func_175726_f(p_175646_1_).func_76630_e(); } @@ -352,7 +352,7 @@ } public int func_181545_F() { -@@ -783,7 +847,7 @@ +@@ -783,7 +_,7 @@ public int func_175651_c(BlockPos p_175651_1_, Direction p_175651_2_) { BlockState blockstate = this.func_180495_p(p_175651_1_); int i = blockstate.func_185911_a(this, p_175651_1_, p_175651_2_); @@ -361,7 +361,7 @@ } public boolean func_175640_z(BlockPos p_175640_1_) { -@@ -938,16 +1002,15 @@ +@@ -938,16 +_,15 @@ public abstract Scoreboard func_96441_U(); public void func_175666_e(BlockPos p_175666_1_, Block p_175666_2_) { @@ -382,10 +382,12 @@ blockstate.func_215697_a(this, blockpos, p_175666_2_, p_175666_1_, false); } } -@@ -1024,6 +1087,18 @@ - return this.field_226689_w_; - } +@@ -1022,6 +_,18 @@ + public BiomeManager func_225523_d_() { + return this.field_226689_w_; ++ } ++ + private double maxEntityRadius = 2.0D; + @Override + public double getMaxEntityRadius() { @@ -396,8 +398,6 @@ + if (value > maxEntityRadius) + maxEntityRadius = value; + return maxEntityRadius; -+ } -+ - public final boolean func_234925_Z_() { - return this.field_234916_c_; } + + public final boolean func_234925_Z_() { diff --git a/patches/minecraft/net/minecraft/world/WorldSettings.java.patch b/patches/minecraft/net/minecraft/world/WorldSettings.java.patch index 6e98ceae83..9432c5ff44 100644 --- a/patches/minecraft/net/minecraft/world/WorldSettings.java.patch +++ b/patches/minecraft/net/minecraft/world/WorldSettings.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/WorldSettings.java +++ b/net/minecraft/world/WorldSettings.java -@@ -62,6 +62,7 @@ +@@ -62,6 +_,7 @@ } public WorldSettings func_234948_a_(Difficulty p_234948_1_) { diff --git a/patches/minecraft/net/minecraft/world/biome/Biome.java.patch b/patches/minecraft/net/minecraft/world/biome/Biome.java.patch index d4d67c49fc..598f090bb8 100644 --- a/patches/minecraft/net/minecraft/world/biome/Biome.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/Biome.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/Biome.java +++ b/net/minecraft/world/biome/Biome.java -@@ -53,7 +53,7 @@ +@@ -53,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ public static final Logger field_150586_aC = LogManager.getLogger(); public static final Codec field_242418_b = RecordCodecBuilder.create((p_235064_0_) -> { return p_235064_0_.group(Biome.Climate.field_242459_a.forGetter((p_242446_0_) -> { -@@ -70,7 +70,9 @@ +@@ -70,7 +_,9 @@ return p_242443_0_.field_242424_k; }), MobSpawnInfo.field_242552_c.forGetter((p_242442_0_) -> { return p_242442_0_.field_242425_l; @@ -20,7 +20,7 @@ }); public static final Codec field_242419_c = RecordCodecBuilder.create((p_242432_0_) -> { return p_242432_0_.group(Biome.Climate.field_242459_a.forGetter((p_242441_0_) -> { -@@ -200,7 +202,7 @@ +@@ -200,7 +_,7 @@ } else { if (p_201850_2_.func_177956_o() >= 0 && p_201850_2_.func_177956_o() < 256 && p_201850_1_.func_226658_a_(LightType.BLOCK, p_201850_2_) < 10) { BlockState blockstate = p_201850_1_.func_180495_p(p_201850_2_); diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeAmbience.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeAmbience.java.patch index b2dfbbe544..ab4066dbca 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeAmbience.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeAmbience.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/BiomeAmbience.java +++ b/net/minecraft/world/biome/BiomeAmbience.java -@@ -204,7 +204,7 @@ +@@ -204,7 +_,7 @@ } } @@ -9,7 +9,7 @@ NONE("none") { @OnlyIn(Dist.CLIENT) public int func_241853_a(double p_241853_1_, double p_241853_3_, int p_241853_5_) { -@@ -226,18 +226,36 @@ +@@ -226,18 +_,36 @@ }; private final String field_242543_e; diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeGenerationSettings.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeGenerationSettings.java.patch index 180ff786b1..c3ff059fdf 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeGenerationSettings.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeGenerationSettings.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/BiomeGenerationSettings.java +++ b/net/minecraft/world/biome/BiomeGenerationSettings.java -@@ -47,6 +47,7 @@ +@@ -47,6 +_,7 @@ }); private final Supplier> field_242482_d; private final Map>>> field_242483_e; @@ -8,7 +8,7 @@ private final List>>> field_242484_f; private final List>> field_242485_g; private final List> field_242486_h; -@@ -59,12 +60,17 @@ +@@ -59,10 +_,15 @@ this.field_242486_h = p_i241935_3_.stream().flatMap(Collection::stream).map(Supplier::get).flatMap(ConfiguredFeature::func_242768_d).filter((p_242490_0_) -> { return p_242490_0_.field_222737_a == Feature.field_227247_y_; }).collect(ImmutableList.toImmutableList()); @@ -17,12 +17,10 @@ public List>> func_242489_a(GenerationStage.Carving p_242489_1_) { return this.field_242483_e.getOrDefault(p_242489_1_, ImmutableList.of()); - } - -+ public java.util.Set getCarvingStages() { -+ return this.carversView; + } + ++ public java.util.Set getCarvingStages() { ++ return this.carversView; + } + public boolean func_242493_a(Structure p_242493_1_) { - return this.field_242485_g.stream().anyMatch((p_242494_1_) -> { - return (p_242494_1_.get()).field_236268_b_ == p_242493_1_; diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeRegistry.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeRegistry.java.patch index d618139943..1ea2a23f5a 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeRegistry.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeRegistry.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/BiomeRegistry.java +++ b/net/minecraft/world/biome/BiomeRegistry.java -@@ -17,7 +17,7 @@ +@@ -17,7 +_,7 @@ } public static RegistryKey func_244203_a(int p_244203_0_) { diff --git a/patches/minecraft/net/minecraft/world/biome/MobSpawnInfo.java.patch b/patches/minecraft/net/minecraft/world/biome/MobSpawnInfo.java.patch index 2602bf22fb..55e992eb85 100644 --- a/patches/minecraft/net/minecraft/world/biome/MobSpawnInfo.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/MobSpawnInfo.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/MobSpawnInfo.java +++ b/net/minecraft/world/biome/MobSpawnInfo.java -@@ -42,23 +42,35 @@ +@@ -42,21 +_,33 @@ private final Map> field_242554_e; private final Map, MobSpawnInfo.SpawnCosts> field_242555_f; private final boolean field_242556_g; @@ -27,12 +27,10 @@ @Nullable public MobSpawnInfo.SpawnCosts func_242558_a(EntityType p_242558_1_) { return this.field_242555_f.get(p_242558_1_); - } - -+ public java.util.Set> getEntityTypes() { -+ return this.costView; + } + - public float func_242557_a() { - return this.field_242553_d; ++ public java.util.Set> getEntityTypes() { ++ return this.costView; } + + public float func_242557_a() { diff --git a/patches/minecraft/net/minecraft/world/biome/provider/OverworldBiomeProvider.java.patch b/patches/minecraft/net/minecraft/world/biome/provider/OverworldBiomeProvider.java.patch index f2a93701d6..1b007c303d 100644 --- a/patches/minecraft/net/minecraft/world/biome/provider/OverworldBiomeProvider.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/provider/OverworldBiomeProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/biome/provider/OverworldBiomeProvider.java +++ b/net/minecraft/world/biome/provider/OverworldBiomeProvider.java -@@ -35,7 +35,7 @@ +@@ -35,7 +_,7 @@ private final Registry field_242636_k; public OverworldBiomeProvider(long p_i241958_1_, boolean p_i241958_3_, boolean p_i241958_4_, Registry p_i241958_5_) { diff --git a/patches/minecraft/net/minecraft/world/border/WorldBorder.java.patch b/patches/minecraft/net/minecraft/world/border/WorldBorder.java.patch index a0087287e7..e36afa8eaa 100644 --- a/patches/minecraft/net/minecraft/world/border/WorldBorder.java.patch +++ b/patches/minecraft/net/minecraft/world/border/WorldBorder.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/border/WorldBorder.java +++ b/net/minecraft/world/border/WorldBorder.java -@@ -136,6 +136,10 @@ +@@ -136,6 +_,10 @@ this.field_177758_a.add(p_177737_1_); } diff --git a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch index f77d47a545..7e008ec1af 100644 --- a/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/Chunk.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/chunk/Chunk.java +++ b/net/minecraft/world/chunk/Chunk.java -@@ -58,7 +58,7 @@ +@@ -58,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ private static final Logger field_150817_t = LogManager.getLogger(); @Nullable public static final ChunkSection field_186036_a = null; -@@ -92,6 +92,7 @@ +@@ -92,6 +_,7 @@ } public Chunk(World p_i225781_1_, ChunkPos p_i225781_2_, BiomeContainer p_i225781_3_, UpgradeData p_i225781_4_, ITickList p_i225781_5_, ITickList p_i225781_6_, long p_i225781_7_, @Nullable ChunkSection[] p_i225781_9_, @Nullable Consumer p_i225781_10_) { @@ -17,7 +17,7 @@ this.field_76645_j = new ClassInheritanceMultiMap[16]; this.field_76637_e = p_i225781_1_; this.field_212816_F = p_i225781_2_; -@@ -119,7 +120,7 @@ +@@ -119,7 +_,7 @@ field_150817_t.warn("Could not set level chunk sections, array length is {} instead of {}", p_i225781_9_.length, this.field_76652_q.length); } } @@ -26,7 +26,7 @@ } public Chunk(World p_i49947_1_, ChunkPrimer p_i49947_2_) { -@@ -264,28 +265,28 @@ +@@ -264,28 +_,28 @@ if (!this.field_76637_e.field_72995_K) { blockstate.func_196947_b(this.field_76637_e, p_177436_1_, p_177436_2_, p_177436_3_); @@ -60,7 +60,7 @@ this.field_76637_e.func_175690_a(p_177436_1_, tileentity1); } else { tileentity1.func_145836_u(); -@@ -321,11 +322,13 @@ +@@ -321,11 +_,13 @@ k = this.field_76645_j.length - 1; } @@ -74,7 +74,7 @@ } public void func_201607_a(Heightmap.Type p_201607_1_, long[] p_201607_2_) { -@@ -346,6 +349,7 @@ +@@ -346,6 +_,7 @@ } this.field_76645_j[p_76608_2_].remove(p_76608_1_); @@ -82,7 +82,7 @@ } public int func_201576_a(Heightmap.Type p_201576_1_, int p_201576_2_, int p_201576_3_) { -@@ -356,7 +360,7 @@ +@@ -356,7 +_,7 @@ private TileEntity func_177422_i(BlockPos p_177422_1_) { BlockState blockstate = this.func_180495_p(p_177422_1_); Block block = blockstate.func_177230_c(); @@ -91,7 +91,7 @@ } @Nullable -@@ -367,6 +371,10 @@ +@@ -367,6 +_,10 @@ @Nullable public TileEntity func_177424_a(BlockPos p_177424_1_, Chunk.CreateEntityType p_177424_2_) { TileEntity tileentity = this.field_150816_i.get(p_177424_1_); @@ -102,7 +102,7 @@ if (tileentity == null) { CompoundNBT compoundnbt = this.field_201618_i.remove(p_177424_1_); if (compoundnbt != null) { -@@ -382,9 +390,6 @@ +@@ -382,9 +_,6 @@ tileentity = this.func_177422_i(p_177424_1_); this.field_76637_e.func_175690_a(p_177424_1_, tileentity); } @@ -112,7 +112,7 @@ } return tileentity; -@@ -399,7 +404,7 @@ +@@ -399,7 +_,7 @@ } public void func_177426_a(BlockPos p_177426_1_, TileEntity p_177426_2_) { @@ -121,7 +121,7 @@ p_177426_2_.func_226984_a_(this.field_76637_e, p_177426_1_); p_177426_2_.func_145829_t(); TileEntity tileentity = this.field_150816_i.put(p_177426_1_.func_185334_h(), p_177426_2_); -@@ -418,9 +423,14 @@ +@@ -418,9 +_,14 @@ public CompoundNBT func_223134_j(BlockPos p_223134_1_) { TileEntity tileentity = this.func_175625_s(p_223134_1_); if (tileentity != null && !tileentity.func_145837_r()) { @@ -136,7 +136,7 @@ } else { CompoundNBT compoundnbt = this.field_201618_i.get(p_223134_1_); if (compoundnbt != null) { -@@ -455,8 +465,8 @@ +@@ -455,8 +_,8 @@ } public void func_177414_a(@Nullable Entity p_177414_1_, AxisAlignedBB p_177414_2_, List p_177414_3_, @Nullable Predicate p_177414_4_) { @@ -147,7 +147,7 @@ i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1); j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1); -@@ -472,8 +482,8 @@ +@@ -472,8 +_,8 @@ p_177414_3_.add(entity); } @@ -158,7 +158,7 @@ if (enderdragonpartentity != p_177414_1_ && enderdragonpartentity.func_174813_aQ().func_72326_a(p_177414_2_) && (p_177414_4_ == null || p_177414_4_.test(enderdragonpartentity))) { p_177414_3_.add(enderdragonpartentity); } -@@ -486,8 +496,8 @@ +@@ -486,8 +_,8 @@ } public void func_217313_a(@Nullable EntityType p_217313_1_, AxisAlignedBB p_217313_2_, List p_217313_3_, Predicate p_217313_4_) { @@ -169,7 +169,7 @@ i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1); j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1); -@@ -502,8 +512,8 @@ +@@ -502,8 +_,8 @@ } public void func_177430_a(Class p_177430_1_, AxisAlignedBB p_177430_2_, List p_177430_3_, @Nullable Predicate p_177430_4_) { @@ -180,7 +180,7 @@ i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1); j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1); -@@ -535,6 +545,11 @@ +@@ -535,6 +_,11 @@ }; Sets.newHashSet(this.field_150816_i.keySet()).stream().filter(predicate).forEach(this.field_76637_e::func_175713_t); @@ -192,7 +192,7 @@ for(int i = 0; i < this.field_76652_q.length; ++i) { ChunkSection chunksection = this.field_76652_q[i]; if ((p_227073_4_ & 1 << i) == 0) { -@@ -598,7 +613,7 @@ +@@ -598,7 +_,7 @@ public Stream func_217304_m() { return StreamSupport.stream(BlockPos.func_191531_b(this.field_212816_F.func_180334_c(), 0, this.field_212816_F.func_180333_d(), this.field_212816_F.func_180332_e(), 255, this.field_212816_F.func_180330_f()).spliterator(), false).filter((p_217312_1_) -> { @@ -201,7 +201,7 @@ }); } -@@ -704,9 +719,8 @@ +@@ -704,9 +_,8 @@ BlockState blockstate = this.func_180495_p(p_212815_1_); TileEntity tileentity; if ("DUMMY".equals(p_212815_2_.func_74779_i("id"))) { @@ -213,10 +213,11 @@ } else { tileentity = null; field_150817_t.warn("Tried to load a DUMMY block entity @ {} but found not block entity block {} at location", p_212815_1_, blockstate); -@@ -795,4 +809,30 @@ +@@ -794,5 +_,31 @@ + IMMEDIATE, QUEUED, CHECK; - } ++ } + + /** + * FOR INTERNAL USE ONLY @@ -242,5 +243,5 @@ + @Override + public World getWorldForge() { + return func_177412_p(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/chunk/ChunkPrimer.java.patch b/patches/minecraft/net/minecraft/world/chunk/ChunkPrimer.java.patch index 4fff42f8a2..e02833d64e 100644 --- a/patches/minecraft/net/minecraft/world/chunk/ChunkPrimer.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/ChunkPrimer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/chunk/ChunkPrimer.java +++ b/net/minecraft/world/chunk/ChunkPrimer.java -@@ -138,13 +138,13 @@ +@@ -138,13 +_,13 @@ if (this.field_201661_i[j >> 4] == Chunk.field_186036_a && p_177436_2_.func_203425_a(Blocks.field_150350_a)) { return p_177436_2_; } else { diff --git a/patches/minecraft/net/minecraft/world/chunk/ChunkStatus.java.patch b/patches/minecraft/net/minecraft/world/chunk/ChunkStatus.java.patch index 2517f3b450..00dcd662ee 100644 --- a/patches/minecraft/net/minecraft/world/chunk/ChunkStatus.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/ChunkStatus.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/chunk/ChunkStatus.java +++ b/net/minecraft/world/chunk/ChunkStatus.java -@@ -23,7 +23,7 @@ +@@ -23,7 +_,7 @@ import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.ServerWorldLightManager; diff --git a/patches/minecraft/net/minecraft/world/chunk/IChunk.java.patch b/patches/minecraft/net/minecraft/world/chunk/IChunk.java.patch index 1a75bc4e63..f96db555e8 100644 --- a/patches/minecraft/net/minecraft/world/chunk/IChunk.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/IChunk.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/chunk/IChunk.java +++ b/net/minecraft/world/chunk/IChunk.java -@@ -145,4 +145,9 @@ +@@ -145,4 +_,9 @@ boolean func_217310_r(); void func_217305_b(boolean p_217305_1_); diff --git a/patches/minecraft/net/minecraft/world/chunk/storage/ChunkSerializer.java.patch b/patches/minecraft/net/minecraft/world/chunk/storage/ChunkSerializer.java.patch index 475ad1cba9..d3bfb80919 100644 --- a/patches/minecraft/net/minecraft/world/chunk/storage/ChunkSerializer.java.patch +++ b/patches/minecraft/net/minecraft/world/chunk/storage/ChunkSerializer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/chunk/storage/ChunkSerializer.java +++ b/net/minecraft/world/chunk/storage/ChunkSerializer.java -@@ -132,6 +132,7 @@ +@@ -132,6 +_,7 @@ ichunk = new Chunk(p_222656_0_.func_201672_e(), p_222656_3_, biomecontainer, upgradedata, iticklist, iticklist1, k1, achunksection, (p_222648_1_) -> { func_222650_a(compoundnbt, p_222648_1_); }); @@ -8,7 +8,7 @@ } else { ChunkPrimer chunkprimer = new ChunkPrimer(p_222656_3_, upgradedata, achunksection, chunkprimerticklist, chunkprimerticklist1); chunkprimer.func_225548_a_(biomecontainer); -@@ -144,7 +145,7 @@ +@@ -144,7 +_,7 @@ if (!flag && chunkprimer.func_201589_g().func_209003_a(ChunkStatus.field_222614_j)) { for(BlockPos blockpos : BlockPos.func_191531_b(p_222656_3_.func_180334_c(), 0, p_222656_3_.func_180333_d(), p_222656_3_.func_180332_e(), 255, p_222656_3_.func_180330_f())) { @@ -17,7 +17,7 @@ chunkprimer.func_201637_h(blockpos); } } -@@ -167,7 +168,7 @@ +@@ -167,7 +_,7 @@ Heightmap.func_222690_a(ichunk, enumset); CompoundNBT compoundnbt4 = compoundnbt.func_74775_l("Structures"); ichunk.func_201612_a(func_235967_a_(p_222656_1_, compoundnbt4, p_222656_0_.func_72905_C())); @@ -26,7 +26,7 @@ if (compoundnbt.func_74767_n("shouldSave")) { ichunk.func_177427_f(true); } -@@ -183,6 +184,7 @@ +@@ -183,6 +_,7 @@ } if (chunkstatus$type == ChunkStatus.Type.LEVELCHUNK) { @@ -34,7 +34,7 @@ return new ChunkPrimerWrapper((Chunk)ichunk); } else { ChunkPrimer chunkprimer1 = (ChunkPrimer)ichunk; -@@ -216,6 +218,8 @@ +@@ -216,6 +_,8 @@ chunkprimer1.func_205767_a(generationstage$carving, BitSet.valueOf(compoundnbt5.func_74770_j(s1))); } @@ -43,7 +43,7 @@ return chunkprimer1; } } -@@ -295,12 +299,22 @@ +@@ -295,11 +_,21 @@ for(int k = 0; k < chunk.func_177429_s().length; ++k) { for(Entity entity : chunk.func_177429_s()[k]) { CompoundNBT compoundnbt3 = new CompoundNBT(); @@ -56,13 +56,12 @@ + LogManager.getLogger().error("An Entity type {} has thrown an exception trying to write state. It will not persist. Report this to the mod author", entity.func_200600_R(), e); + } } - } ++ } + try { + final CompoundNBT capTag = chunk.writeCapsToNBT(); + if (capTag != null) compoundnbt1.func_218657_a("ForgeCaps", capTag); + } catch (Exception exception) { + LogManager.getLogger().error("A capability provider has thrown an exception trying to write state. It will not persist. Report this to the mod author", exception); -+ } + } } else { ChunkPrimer chunkprimer = (ChunkPrimer)p_222645_1_; - listnbt2.addAll(chunkprimer.func_201652_l()); diff --git a/patches/minecraft/net/minecraft/world/end/DragonFightManager.java.patch b/patches/minecraft/net/minecraft/world/end/DragonFightManager.java.patch index 6fc6eae774..78142b9ba5 100644 --- a/patches/minecraft/net/minecraft/world/end/DragonFightManager.java.patch +++ b/patches/minecraft/net/minecraft/world/end/DragonFightManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/end/DragonFightManager.java +++ b/net/minecraft/world/end/DragonFightManager.java -@@ -84,6 +84,7 @@ +@@ -84,6 +_,7 @@ this.field_186117_k = p_i231901_4_.func_74767_n("DragonKilled"); this.field_186118_l = p_i231901_4_.func_74767_n("PreviouslyKilled"); @@ -8,7 +8,7 @@ if (p_i231901_4_.func_74767_n("IsRespawning")) { this.field_186122_p = DragonSpawnState.START; } -@@ -118,6 +119,7 @@ +@@ -118,6 +_,7 @@ compoundnbt.func_74757_a("DragonKilled", this.field_186117_k); compoundnbt.func_74757_a("PreviouslyKilled", this.field_186118_l); @@ -16,17 +16,18 @@ if (this.field_186121_o != null) { compoundnbt.func_218657_a("ExitPortalLocation", NBTUtil.func_186859_a(this.field_186121_o)); } -@@ -490,6 +492,13 @@ +@@ -490,6 +_,13 @@ endercrystalentity.func_184516_a((BlockPos)null); } } +- + } - ++ + public void addPlayer(ServerPlayerEntity player) { + this.field_186109_c.func_186760_a(player); - } ++ } + + public void removePlayer(ServerPlayerEntity player) { + this.field_186109_c.func_186761_b(player); -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/gen/DebugChunkGenerator.java.patch b/patches/minecraft/net/minecraft/world/gen/DebugChunkGenerator.java.patch index 612734892f..761f130278 100644 --- a/patches/minecraft/net/minecraft/world/gen/DebugChunkGenerator.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/DebugChunkGenerator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/DebugChunkGenerator.java +++ b/net/minecraft/world/gen/DebugChunkGenerator.java -@@ -103,4 +103,10 @@ +@@ -103,4 +_,10 @@ return blockstate; } diff --git a/patches/minecraft/net/minecraft/world/gen/FlatGenerationSettings.java.patch b/patches/minecraft/net/minecraft/world/gen/FlatGenerationSettings.java.patch index 6f36238913..a63bb51957 100644 --- a/patches/minecraft/net/minecraft/world/gen/FlatGenerationSettings.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/FlatGenerationSettings.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/FlatGenerationSettings.java +++ b/net/minecraft/world/gen/FlatGenerationSettings.java -@@ -174,7 +174,7 @@ +@@ -174,7 +_,7 @@ } } diff --git a/patches/minecraft/net/minecraft/world/gen/NoiseChunkGenerator.java.patch b/patches/minecraft/net/minecraft/world/gen/NoiseChunkGenerator.java.patch index 34bae10a60..11ad56f7d0 100644 --- a/patches/minecraft/net/minecraft/world/gen/NoiseChunkGenerator.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/NoiseChunkGenerator.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/NoiseChunkGenerator.java +++ b/net/minecraft/world/gen/NoiseChunkGenerator.java -@@ -525,8 +525,8 @@ +@@ -525,8 +_,8 @@ objectlistiterator1.back(objectlist1.size()); BlockState blockstate = this.func_236086_a_(d18, i2); if (blockstate != field_222562_i) { @@ -11,7 +11,7 @@ chunkprimer.func_201637_h(blockpos$mutable); } -@@ -582,6 +582,9 @@ +@@ -582,6 +_,9 @@ } public List func_230353_a_(Biome p_230353_1_, StructureManager p_230353_2_, EntityClassification p_230353_3_, BlockPos p_230353_4_) { @@ -21,11 +21,11 @@ if (p_230353_2_.func_235010_a_(p_230353_4_, true, Structure.field_236374_j_).func_75069_d()) { if (p_230353_3_ == EntityClassification.MONSTER) { return Structure.field_236374_j_.func_202279_e(); -@@ -605,6 +608,7 @@ +@@ -604,6 +_,7 @@ + if (p_230353_2_.func_235010_a_(p_230353_4_, true, Structure.field_236378_n_).func_75069_d()) { return Structure.field_236378_n_.func_202279_e(); } - } + } + } return super.func_230353_a_(p_230353_1_, p_230353_2_, p_230353_3_, p_230353_4_); - } diff --git a/patches/minecraft/net/minecraft/world/gen/WorldGenRegion.java.patch b/patches/minecraft/net/minecraft/world/gen/WorldGenRegion.java.patch index 14b78ea983..b6e87ad68b 100644 --- a/patches/minecraft/net/minecraft/world/gen/WorldGenRegion.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/WorldGenRegion.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/WorldGenRegion.java +++ b/net/minecraft/world/gen/WorldGenRegion.java -@@ -173,11 +173,11 @@ +@@ -173,11 +_,11 @@ public boolean func_241212_a_(BlockPos p_241212_1_, boolean p_241212_2_, @Nullable Entity p_241212_3_, int p_241212_4_) { BlockState blockstate = this.func_180495_p(p_241212_1_); @@ -14,7 +14,7 @@ Block.func_220054_a(blockstate, this.field_201689_f, p_241212_1_, tileentity, p_241212_3_, ItemStack.field_190927_a); } -@@ -197,11 +197,11 @@ +@@ -197,11 +_,11 @@ if (compoundnbt != null) { if ("DUMMY".equals(compoundnbt.func_74779_i("id"))) { Block block = blockstate.func_177230_c(); @@ -28,7 +28,7 @@ } else { tileentity = TileEntity.func_235657_b_(blockstate, compoundnbt); } -@@ -212,7 +212,7 @@ +@@ -212,7 +_,7 @@ } } @@ -37,7 +37,7 @@ field_208303_a.warn("Tried to access a block entity before it was created. {}", (Object)p_175625_1_); } -@@ -228,9 +228,9 @@ +@@ -228,9 +_,9 @@ } Block block = p_241211_2_.func_177230_c(); @@ -49,7 +49,7 @@ } else { CompoundNBT compoundnbt = new CompoundNBT(); compoundnbt.func_74768_a("x", p_241211_1_.func_177958_n()); -@@ -239,7 +239,7 @@ +@@ -239,7 +_,7 @@ compoundnbt.func_74778_a("id", "DUMMY"); ichunk.func_201591_a(compoundnbt); } diff --git a/patches/minecraft/net/minecraft/world/gen/blockplacer/BlockPlacerType.java.patch b/patches/minecraft/net/minecraft/world/gen/blockplacer/BlockPlacerType.java.patch index 10745a9499..d83cfa6109 100644 --- a/patches/minecraft/net/minecraft/world/gen/blockplacer/BlockPlacerType.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/blockplacer/BlockPlacerType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/blockplacer/BlockPlacerType.java +++ b/net/minecraft/world/gen/blockplacer/BlockPlacerType.java -@@ -3,7 +3,7 @@ +@@ -3,7 +_,7 @@ import com.mojang.serialization.Codec; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java.patch b/patches/minecraft/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java.patch index 73aad86b0c..8a7b32d0e7 100644 --- a/patches/minecraft/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java +++ b/net/minecraft/world/gen/blockstateprovider/BlockStateProviderType.java -@@ -3,7 +3,7 @@ +@@ -3,7 +_,7 @@ import com.mojang.serialization.Codec; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/world/gen/carver/WorldCarver.java.patch b/patches/minecraft/net/minecraft/world/gen/carver/WorldCarver.java.patch index 5685db32a4..d5b0d38447 100644 --- a/patches/minecraft/net/minecraft/world/gen/carver/WorldCarver.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/carver/WorldCarver.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/carver/WorldCarver.java +++ b/net/minecraft/world/gen/carver/WorldCarver.java -@@ -22,7 +22,7 @@ +@@ -22,7 +_,7 @@ import net.minecraft.world.gen.feature.ProbabilityConfig; import org.apache.commons.lang3.mutable.MutableBoolean; diff --git a/patches/minecraft/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java.patch index b3d32a2ed5..2f3dc4b1c6 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java +++ b/net/minecraft/world/gen/feature/AbstractBigMushroomFeature.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ protected void func_227210_a_(IWorld p_227210_1_, Random p_227210_2_, BlockPos p_227210_3_, BigMushroomFeatureConfig p_227210_4_, int p_227210_5_, BlockPos.Mutable p_227210_6_) { for(int i = 0; i < p_227210_5_; ++i) { p_227210_6_.func_189533_g(p_227210_3_).func_189534_c(Direction.UP, i); @@ -9,7 +9,7 @@ this.func_230367_a_(p_227210_1_, p_227210_6_, p_227210_4_.field_227273_b_.func_225574_a_(p_227210_2_, p_227210_3_)); } } -@@ -48,7 +48,7 @@ +@@ -48,7 +_,7 @@ for(int l = -k; l <= k; ++l) { for(int i1 = -k; i1 <= k; ++i1) { BlockState blockstate = p_227209_1_.func_180495_p(p_227209_4_.func_239621_a_(p_227209_2_, l, j, i1)); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java.patch index 6fd57ccf23..dc9a518a5b 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java +++ b/net/minecraft/world/gen/feature/BaseTreeFeatureConfig.java -@@ -32,6 +32,7 @@ +@@ -32,6 +_,7 @@ return p_236684_0_.field_236682_l_; })).apply(p_236683_0_, BaseTreeFeatureConfig::new); }); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java.patch index 916ec07d13..b6433ded21 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java +++ b/net/minecraft/world/gen/feature/BigBrownMushroomFeature.java -@@ -24,7 +24,7 @@ +@@ -24,7 +_,7 @@ boolean flag5 = flag2 || flag3; if (!flag4 || !flag5) { p_225564_5_.func_239621_a_(p_225564_3_, j, p_225564_4_, k); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/BigRedMushroomFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/BigRedMushroomFeature.java.patch index 85a4a9d052..8a7f5d719b 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/BigRedMushroomFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/BigRedMushroomFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/BigRedMushroomFeature.java +++ b/net/minecraft/world/gen/feature/BigRedMushroomFeature.java -@@ -26,7 +26,7 @@ +@@ -26,7 +_,7 @@ boolean flag5 = flag2 || flag3; if (i >= p_225564_4_ || flag4 != flag5) { p_225564_5_.func_239621_a_(p_225564_3_, l, i, i1); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/DungeonsFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/DungeonsFeature.java.patch index b4221344b1..f63eb5bb83 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/DungeonsFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/DungeonsFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/DungeonsFeature.java +++ b/net/minecraft/world/gen/feature/DungeonsFeature.java -@@ -123,6 +123,6 @@ +@@ -123,6 +_,6 @@ } private EntityType func_201043_a(Random p_201043_1_) { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/Feature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/Feature.java.patch index f268dde281..988f519fed 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/Feature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/Feature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/Feature.java +++ b/net/minecraft/world/gen/feature/Feature.java -@@ -15,7 +15,7 @@ +@@ -15,7 +_,7 @@ import net.minecraft.world.gen.feature.structure.BasaltDeltasStructure; import net.minecraft.world.gen.feature.structure.NetherackBlobReplacementStructure; @@ -9,7 +9,7 @@ public static final Feature field_227245_q_ = func_214468_a("no_op", new NoOpFeature(NoFeatureConfig.field_236558_a_)); public static final Feature field_236291_c_ = func_214468_a("tree", new TreeFeature(BaseTreeFeatureConfig.field_236676_a_)); public static final FlowersFeature field_227247_y_ = func_214468_a("flower", new DefaultFlowersFeature(BlockClusterFeatureConfig.field_236587_a_)); -@@ -97,11 +97,11 @@ +@@ -97,11 +_,11 @@ public abstract boolean func_241855_a(ISeedReader p_241855_1_, ChunkGenerator p_241855_2_, Random p_241855_3_, BlockPos p_241855_4_, FC p_241855_5_); protected static boolean func_227249_a_(Block p_227249_0_) { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java.patch index 3c1d7b91b4..01b9ae2fab 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java +++ b/net/minecraft/world/gen/feature/GlowstoneBlobFeature.java -@@ -26,7 +26,7 @@ +@@ -26,7 +_,7 @@ for(int i = 0; i < 1500; ++i) { BlockPos blockpos = p_241855_4_.func_177982_a(p_241855_3_.nextInt(8) - p_241855_3_.nextInt(8), -p_241855_3_.nextInt(12), p_241855_3_.nextInt(8) - p_241855_3_.nextInt(8)); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/IceSpikeFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/IceSpikeFeature.java.patch index c4874ab710..b3c7da451e 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/IceSpikeFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/IceSpikeFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/IceSpikeFeature.java +++ b/net/minecraft/world/gen/feature/IceSpikeFeature.java -@@ -42,14 +42,14 @@ +@@ -42,14 +_,14 @@ if ((i1 == 0 && j1 == 0 || !(f1 * f1 + f2 * f2 > f * f)) && (i1 != -l && i1 != l && j1 != -l && j1 != l || !(p_241855_3_.nextFloat() > 0.75F))) { BlockState blockstate = p_241855_1_.func_180495_p(p_241855_4_.func_177982_a(i1, k, j1)); Block block = blockstate.func_177230_c(); @@ -17,7 +17,7 @@ this.func_230367_a_(p_241855_1_, p_241855_4_.func_177982_a(i1, -k, j1), Blocks.field_150403_cj.func_176223_P()); } } -@@ -76,7 +76,7 @@ +@@ -76,7 +_,7 @@ while(blockpos.func_177956_o() > 50) { BlockState blockstate1 = p_241855_1_.func_180495_p(blockpos); Block block1 = blockstate1.func_177230_c(); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/SpringFeature.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/SpringFeature.java.patch index ecbe86857a..66693176ff 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/SpringFeature.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/SpringFeature.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/SpringFeature.java +++ b/net/minecraft/world/gen/feature/SpringFeature.java -@@ -19,7 +19,7 @@ +@@ -19,7 +_,7 @@ return false; } else { BlockState blockstate = p_241855_1_.func_180495_p(p_241855_4_); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java.patch index ba5458837f..69c6dc13c9 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java +++ b/net/minecraft/world/gen/feature/jigsaw/JigsawPattern.java -@@ -104,11 +104,11 @@ +@@ -104,11 +_,11 @@ return this.field_214953_e.size(); } @@ -14,10 +14,11 @@ private static final Map field_214939_c = Arrays.stream(values()).collect(Collectors.toMap(JigsawPattern.PlacementBehaviour::func_214936_a, (p_214935_0_) -> { return p_214935_0_; })); -@@ -135,5 +135,15 @@ +@@ -134,6 +_,16 @@ + public String func_176610_l() { return this.field_214940_d; - } ++ } + + public static PlacementBehaviour create(String enumName, String p_i50487_3_, ImmutableList p_i50487_4_) { + throw new IllegalStateException("Enum not extended"); @@ -27,6 +28,6 @@ + @Deprecated + public void init() { + field_214939_c.put(func_214936_a(), this); -+ } + } } } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java.patch index 3cb1034136..03bf53934e 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java +++ b/net/minecraft/world/gen/feature/jigsaw/SingleJigsawPiece.java -@@ -106,7 +106,7 @@ +@@ -106,7 +_,7 @@ if (!template.func_237146_a_(p_230378_2_, p_230378_5_, p_230378_6_, placementsettings, p_230378_9_, 18)) { return false; } else { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/FortressStructure.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/FortressStructure.java.patch index fbcf921317..70e34afe8f 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/FortressStructure.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/FortressStructure.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/FortressStructure.java +++ b/net/minecraft/world/gen/feature/structure/FortressStructure.java -@@ -30,7 +30,8 @@ +@@ -30,7 +_,8 @@ return FortressStructure.Start::new; } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/MineshaftPieces.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/MineshaftPieces.java.patch index dd98a8fecb..b4dafc3732 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/MineshaftPieces.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/MineshaftPieces.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/MineshaftPieces.java +++ b/net/minecraft/world/gen/feature/structure/MineshaftPieces.java -@@ -207,7 +207,7 @@ +@@ -207,7 +_,7 @@ protected boolean func_186167_a(ISeedReader p_186167_1_, MutableBoundingBox p_186167_2_, Random p_186167_3_, int p_186167_4_, int p_186167_5_, int p_186167_6_, ResourceLocation p_186167_7_) { BlockPos blockpos = new BlockPos(this.func_74865_a(p_186167_4_, p_186167_6_), this.func_74862_a(p_186167_5_), this.func_74873_b(p_186167_4_, p_186167_6_)); diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java.patch index c1f69dd009..610366e549 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java +++ b/net/minecraft/world/gen/feature/structure/OceanMonumentStructure.java -@@ -49,7 +49,8 @@ +@@ -49,7 +_,8 @@ return OceanMonumentStructure.Start::new; } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java.patch index 1920949af0..db2dd13c64 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java +++ b/net/minecraft/world/gen/feature/structure/PillagerOutpostStructure.java -@@ -19,7 +19,8 @@ +@@ -19,7 +_,8 @@ super(p_i231977_1_, 0, true, true); } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/Structure.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/Structure.java.patch index 6f8a122cd6..8cb44aef7b 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/Structure.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/Structure.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/Structure.java +++ b/net/minecraft/world/gen/feature/structure/Structure.java -@@ -38,7 +38,7 @@ +@@ -38,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ public static final BiMap> field_236365_a_ = HashBiMap.create(); private static final Map, GenerationStage.Decoration> field_236385_u_ = Maps.newHashMap(); private static final Logger field_208204_b = LogManager.getLogger(); -@@ -237,13 +237,18 @@ +@@ -237,11 +_,16 @@ } public List func_202279_e() { @@ -20,13 +20,11 @@ public List func_214469_f() { - return ImmutableList.of(); + return getSpawnList(net.minecraft.entity.EntityClassification.CREATURE); - } - ++ } ++ + @Override + public final List getSpawnList(net.minecraft.entity.EntityClassification classification) { + return net.minecraftforge.common.world.StructureSpawnManager.getSpawnList(getStructure(), classification); -+ } -+ - public interface IStartFactory { - StructureStart create(Structure p_create_1_, int p_create_2_, int p_create_3_, MutableBoundingBox p_create_4_, int p_create_5_, long p_create_6_); } + + public interface IStartFactory { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/StructurePiece.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/StructurePiece.java.patch index 0890a316d5..28c68cc628 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/StructurePiece.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/StructurePiece.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/StructurePiece.java +++ b/net/minecraft/world/gen/feature/structure/StructurePiece.java -@@ -57,6 +57,9 @@ +@@ -57,6 +_,9 @@ } public final CompoundNBT func_143010_b() { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/StructureStart.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/StructureStart.java.patch index d3537edbdb..c53125dca8 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/StructureStart.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/StructureStart.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/StructureStart.java +++ b/net/minecraft/world/gen/feature/structure/StructureStart.java -@@ -84,6 +84,9 @@ +@@ -84,6 +_,9 @@ public CompoundNBT func_143021_a(int p_143021_1_, int p_143021_2_) { CompoundNBT compoundnbt = new CompoundNBT(); if (this.func_75069_d()) { diff --git a/patches/minecraft/net/minecraft/world/gen/feature/structure/SwampHutStructure.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/structure/SwampHutStructure.java.patch index 0dfbc0c822..fc934fc192 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/structure/SwampHutStructure.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/structure/SwampHutStructure.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/structure/SwampHutStructure.java +++ b/net/minecraft/world/gen/feature/structure/SwampHutStructure.java -@@ -24,11 +24,13 @@ +@@ -24,11 +_,13 @@ return SwampHutStructure.Start::new; } diff --git a/patches/minecraft/net/minecraft/world/gen/feature/template/StructureProcessor.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/template/StructureProcessor.java.patch index 398d94f162..9c860e0f95 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/template/StructureProcessor.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/template/StructureProcessor.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/template/StructureProcessor.java +++ b/net/minecraft/world/gen/feature/template/StructureProcessor.java -@@ -6,7 +6,37 @@ +@@ -6,7 +_,37 @@ public abstract class StructureProcessor { @Nullable diff --git a/patches/minecraft/net/minecraft/world/gen/feature/template/Template.java.patch b/patches/minecraft/net/minecraft/world/gen/feature/template/Template.java.patch index 53e0fe5b28..8fdb082967 100644 --- a/patches/minecraft/net/minecraft/world/gen/feature/template/Template.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/feature/template/Template.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/feature/template/Template.java +++ b/net/minecraft/world/gen/feature/template/Template.java -@@ -190,6 +190,10 @@ +@@ -190,6 +_,10 @@ return func_207669_a(p_186266_1_, p_186266_0_.func_186212_b(), p_186266_0_.func_186215_c(), p_186266_0_.func_207664_d()); } @@ -11,7 +11,7 @@ public void func_237144_a_(IServerWorld p_237144_1_, BlockPos p_237144_2_, PlacementSettings p_237144_3_, Random p_237144_4_) { p_237144_3_.func_186224_i(); this.func_237152_b_(p_237144_1_, p_237144_2_, p_237144_3_, p_237144_4_); -@@ -215,7 +219,7 @@ +@@ -215,7 +_,7 @@ int i1 = Integer.MIN_VALUE; int j1 = Integer.MIN_VALUE; @@ -20,7 +20,7 @@ BlockPos blockpos = template$blockinfo.field_186242_a; if (mutableboundingbox == null || mutableboundingbox.func_175898_b(blockpos)) { FluidState fluidstate = p_237146_4_.func_204763_l() ? p_237146_1_.func_204610_c(blockpos) : null; -@@ -330,7 +334,7 @@ +@@ -330,7 +_,7 @@ } if (!p_237146_4_.func_186221_e()) { @@ -29,7 +29,7 @@ } return true; -@@ -359,14 +363,19 @@ +@@ -359,14 +_,19 @@ }); } @@ -50,7 +50,7 @@ } if (template$blockinfo1 != null) { -@@ -377,13 +386,30 @@ +@@ -377,13 +_,30 @@ return list; } @@ -87,7 +87,7 @@ ListNBT listnbt = new ListNBT(); listnbt.add(DoubleNBT.func_229684_a_(vector3d1.field_72450_a)); listnbt.add(DoubleNBT.func_229684_a_(vector3d1.field_72448_b)); -@@ -391,10 +417,10 @@ +@@ -391,10 +_,10 @@ compoundnbt.func_218657_a("Pos", listnbt); compoundnbt.func_82580_o("UUID"); func_215382_a(p_237143_1_, compoundnbt).ifPresent((p_242927_6_) -> { diff --git a/patches/minecraft/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java.patch b/patches/minecraft/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java.patch index c7ab70c078..302690bbc2 100644 --- a/patches/minecraft/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java +++ b/net/minecraft/world/gen/foliageplacer/FoliagePlacerType.java -@@ -3,7 +3,7 @@ +@@ -3,7 +_,7 @@ import com.mojang.serialization.Codec; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/world/gen/layer/BiomeLayer.java.patch b/patches/minecraft/net/minecraft/world/gen/layer/BiomeLayer.java.patch index 27038ad818..83ef9affd9 100644 --- a/patches/minecraft/net/minecraft/world/gen/layer/BiomeLayer.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/layer/BiomeLayer.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/layer/BiomeLayer.java +++ b/net/minecraft/world/gen/layer/BiomeLayer.java -@@ -10,12 +10,13 @@ +@@ -10,12 +_,13 @@ private static final int[] field_202746_t = new int[]{4, 3, 5, 1}; private static final int[] field_202747_u = new int[]{12, 12, 12, 30}; private int[] field_151623_c = field_202744_r; @@ -18,7 +18,7 @@ } public int func_202726_a(INoiseRandom p_202726_1_, int p_202726_2_) { -@@ -28,21 +29,21 @@ +@@ -28,26 +_,39 @@ return p_202726_1_.func_202696_a(3) == 0 ? 39 : 38; } @@ -44,10 +44,10 @@ default: return 14; } -@@ -50,4 +51,17 @@ + } else { return p_202726_2_; } - } ++ } + + private int getBiomeId(net.minecraftforge.common.BiomeManager.BiomeType type, INoiseRandom context) { + return net.minecraft.util.registry.WorldGenRegistries.field_243657_i.func_148757_b( @@ -60,5 +60,5 @@ + int totalWeight = net.minecraft.util.WeightedRandom.func_76272_a(biomeList); + int weight = net.minecraftforge.common.BiomeManager.isTypeListModded(type) ? context.func_202696_a(totalWeight) : context.func_202696_a(totalWeight / 10) * 10; + return net.minecraft.util.WeightedRandom.func_180166_a(biomeList, weight).getKey(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/gen/placement/Placement.java.patch b/patches/minecraft/net/minecraft/world/gen/placement/Placement.java.patch index 30bdd8a9ba..f472be26be 100644 --- a/patches/minecraft/net/minecraft/world/gen/placement/Placement.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/placement/Placement.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/placement/Placement.java +++ b/net/minecraft/world/gen/placement/Placement.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraft.world.gen.feature.FeatureSpreadConfig; import net.minecraft.world.gen.feature.WorldDecoratingHelper; diff --git a/patches/minecraft/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java.patch b/patches/minecraft/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java.patch index 5309a61bfd..3912df8c9c 100644 --- a/patches/minecraft/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java +++ b/net/minecraft/world/gen/settings/DimensionGeneratorSettings.java -@@ -192,7 +192,7 @@ +@@ -192,7 +_,7 @@ String s3 = (String)p_242753_1_.get("level-type"); String s4 = Optional.ofNullable(s3).map((p_236217_0_) -> { return p_236217_0_.toLowerCase(Locale.ROOT); @@ -9,7 +9,7 @@ p_242753_1_.put("level-type", s4); long i = (new Random()).nextLong(); if (!s1.isEmpty()) { -@@ -210,6 +210,8 @@ +@@ -210,6 +_,8 @@ Registry registry = p_242753_0_.func_243612_b(Registry.field_239720_u_); Registry registry1 = p_242753_0_.func_243612_b(Registry.field_243549_ar); SimpleRegistry simpleregistry = DimensionType.func_242718_a(registry2, registry, registry1, i); diff --git a/patches/minecraft/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java.patch b/patches/minecraft/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java.patch index baa79a1beb..4ad336ae6e 100644 --- a/patches/minecraft/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java +++ b/net/minecraft/world/gen/surfacebuilders/SurfaceBuilder.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.IChunk; diff --git a/patches/minecraft/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java.patch b/patches/minecraft/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java.patch index a8d1990bd6..13d6687c1f 100644 --- a/patches/minecraft/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java.patch +++ b/patches/minecraft/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java +++ b/net/minecraft/world/gen/treedecorator/TreeDecoratorType.java -@@ -3,7 +3,7 @@ +@@ -3,7 +_,7 @@ import com.mojang.serialization.Codec; import net.minecraft.util.registry.Registry; diff --git a/patches/minecraft/net/minecraft/world/lighting/BlockLightEngine.java.patch b/patches/minecraft/net/minecraft/world/lighting/BlockLightEngine.java.patch index e379ded88f..4988318e4c 100644 --- a/patches/minecraft/net/minecraft/world/lighting/BlockLightEngine.java.patch +++ b/patches/minecraft/net/minecraft/world/lighting/BlockLightEngine.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/lighting/BlockLightEngine.java +++ b/net/minecraft/world/lighting/BlockLightEngine.java -@@ -117,4 +117,9 @@ +@@ -117,4 +_,9 @@ this.field_215627_c.func_215532_c(); this.func_215469_a(Long.MAX_VALUE, p_215623_1_.func_218275_a(), 15 - p_215623_2_, true); } diff --git a/patches/minecraft/net/minecraft/world/lighting/LevelBasedGraph.java.patch b/patches/minecraft/net/minecraft/world/lighting/LevelBasedGraph.java.patch index 103ea02e65..0f89ba8110 100644 --- a/patches/minecraft/net/minecraft/world/lighting/LevelBasedGraph.java.patch +++ b/patches/minecraft/net/minecraft/world/lighting/LevelBasedGraph.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/lighting/LevelBasedGraph.java +++ b/net/minecraft/world/lighting/LevelBasedGraph.java -@@ -228,4 +228,8 @@ +@@ -228,4 +_,8 @@ protected abstract void func_215476_a(long p_215476_1_, int p_215476_3_); protected abstract int func_215480_b(long p_215480_1_, long p_215480_3_, int p_215480_5_); diff --git a/patches/minecraft/net/minecraft/world/lighting/LightEngine.java.patch b/patches/minecraft/net/minecraft/world/lighting/LightEngine.java.patch index a399a343be..b249d6afcf 100644 --- a/patches/minecraft/net/minecraft/world/lighting/LightEngine.java.patch +++ b/patches/minecraft/net/minecraft/world/lighting/LightEngine.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/lighting/LightEngine.java +++ b/net/minecraft/world/lighting/LightEngine.java -@@ -215,4 +215,6 @@ +@@ -215,4 +_,6 @@ long i = SectionPos.func_218169_f(SectionPos.func_218166_b(p_223129_1_.field_77276_a, 0, p_223129_1_.field_77275_b)); this.field_215627_c.func_223113_c(i, p_223129_2_); } diff --git a/patches/minecraft/net/minecraft/world/lighting/SkyLightEngine.java.patch b/patches/minecraft/net/minecraft/world/lighting/SkyLightEngine.java.patch index f147d164c6..aa204fb518 100644 --- a/patches/minecraft/net/minecraft/world/lighting/SkyLightEngine.java.patch +++ b/patches/minecraft/net/minecraft/world/lighting/SkyLightEngine.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/lighting/SkyLightEngine.java +++ b/net/minecraft/world/lighting/SkyLightEngine.java -@@ -228,4 +228,9 @@ +@@ -228,4 +_,9 @@ public String func_215614_b(long p_215614_1_) { return super.func_215614_b(p_215614_1_) + (this.field_215627_c.func_215549_m(p_215614_1_) ? "*" : ""); } diff --git a/patches/minecraft/net/minecraft/world/raid/Raid.java.patch b/patches/minecraft/net/minecraft/world/raid/Raid.java.patch index cf40bfdad0..bb2fd3cfce 100644 --- a/patches/minecraft/net/minecraft/world/raid/Raid.java.patch +++ b/patches/minecraft/net/minecraft/world/raid/Raid.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/raid/Raid.java +++ b/net/minecraft/world/raid/Raid.java -@@ -769,7 +769,7 @@ +@@ -769,7 +_,7 @@ } } @@ -9,10 +9,11 @@ VINDICATOR(EntityType.field_200758_ax, new int[]{0, 0, 2, 0, 1, 4, 2, 5}), EVOKER(EntityType.field_200806_t, new int[]{0, 0, 0, 0, 0, 1, 1, 2}), PILLAGER(EntityType.field_220350_aJ, new int[]{0, 4, 3, 3, 4, 4, 4, 2}), -@@ -784,5 +784,19 @@ +@@ -783,6 +_,20 @@ + private WaveMember(EntityType p_i50602_3_, int[] p_i50602_4_) { this.field_221285_g = p_i50602_3_; this.field_221286_h = p_i50602_4_; - } ++ } + + /** + * The waveCountsIn integer decides how many entities of the EntityType defined in typeIn will spawn in each wave. @@ -26,6 +27,6 @@ + @Deprecated + public void init() { + field_221284_f = values(); -+ } + } } } diff --git a/patches/minecraft/net/minecraft/world/server/ChunkHolder.java.patch b/patches/minecraft/net/minecraft/world/server/ChunkHolder.java.patch index e87f923d21..eb6663c083 100644 --- a/patches/minecraft/net/minecraft/world/server/ChunkHolder.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ChunkHolder.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/ChunkHolder.java +++ b/net/minecraft/world/server/ChunkHolder.java -@@ -204,7 +204,7 @@ +@@ -204,7 +_,7 @@ } private void func_244385_a(World p_244385_1_, BlockPos p_244385_2_, BlockState p_244385_3_) { diff --git a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch index 9c7def151e..f07f4f0320 100644 --- a/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ChunkManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/ChunkManager.java +++ b/net/minecraft/world/server/ChunkManager.java -@@ -400,6 +400,7 @@ +@@ -400,6 +_,7 @@ if (this.field_219253_g.remove(p_219212_1_, p_219212_3_) && p_219185_5_ != null) { if (p_219185_5_ instanceof Chunk) { ((Chunk)p_219185_5_).func_177417_c(false); @@ -8,7 +8,7 @@ } this.func_219229_a(p_219185_5_); -@@ -601,6 +602,7 @@ +@@ -601,6 +_,7 @@ if (list != null) { list.forEach(chunk::func_76622_b); } @@ -16,7 +16,7 @@ } return chunk; -@@ -678,6 +680,7 @@ +@@ -678,6 +_,7 @@ this.field_219255_i.func_217381_Z().func_230035_c_("chunkSave"); CompoundNBT compoundnbt = ChunkSerializer.func_222645_a(this.field_219255_i, p_219229_1_); @@ -24,7 +24,7 @@ this.func_219100_a(chunkpos, compoundnbt); this.func_241088_a_(chunkpos, chunkstatus.func_202129_d()); return true; -@@ -734,6 +737,7 @@ +@@ -734,6 +_,7 @@ protected void func_219199_a(ServerPlayerEntity p_219199_1_, ChunkPos p_219199_2_, IPacket[] p_219199_3_, boolean p_219199_4_, boolean p_219199_5_) { if (p_219199_1_.field_70170_p == this.field_219255_i) { @@ -32,7 +32,7 @@ if (p_219199_5_ && !p_219199_4_) { ChunkHolder chunkholder = this.func_219219_b(p_219199_2_.func_201841_a()); if (chunkholder != null) { -@@ -942,7 +946,7 @@ +@@ -942,7 +_,7 @@ } protected void func_219210_a(Entity p_219210_1_) { diff --git a/patches/minecraft/net/minecraft/world/server/ServerChunkProvider.java.patch b/patches/minecraft/net/minecraft/world/server/ServerChunkProvider.java.patch index 00354966ef..73243d4183 100644 --- a/patches/minecraft/net/minecraft/world/server/ServerChunkProvider.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ServerChunkProvider.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/ServerChunkProvider.java +++ b/net/minecraft/world/server/ServerChunkProvider.java -@@ -353,7 +353,7 @@ +@@ -353,7 +_,7 @@ if (optional1.isPresent()) { Chunk chunk = optional1.get(); ChunkPos chunkpos = p_241099_7_.func_219277_h(); @@ -9,18 +9,18 @@ chunk.func_177415_c(chunk.func_177416_w() + j); if (flag1 && (this.field_217246_l || this.field_217247_m) && this.field_73251_h.func_175723_af().func_177730_a(chunk.func_76632_l())) { WorldEntitySpawner.func_234979_a_(this.field_73251_h, chunk, worldentityspawner$entitydensitymanager, this.field_217247_m, this.field_217246_l, flag2); -@@ -429,6 +429,14 @@ - this.field_217240_d.func_219362_d(p_217222_1_, p_217222_2_, p_217222_3_, p_217222_4_); - } +@@ -427,6 +_,14 @@ + public void func_217222_b(TicketType p_217222_1_, ChunkPos p_217222_2_, int p_217222_3_, T p_217222_4_) { + this.field_217240_d.func_219362_d(p_217222_1_, p_217222_2_, p_217222_3_, p_217222_4_); ++ } ++ + public void registerTickingTicket(TicketType type, ChunkPos pos, int distance, T value) { + this.field_217240_d.registerTicking(type, pos, distance, value); + } + + public void releaseTickingTicket(TicketType type, ChunkPos pos, int distance, T value) { + this.field_217240_d.releaseTicking(type, pos, distance, value); -+ } -+ - public void func_217206_a(ChunkPos p_217206_1_, boolean p_217206_2_) { - this.field_217240_d.func_219364_a(p_217206_1_, p_217206_2_); } + + public void func_217206_a(ChunkPos p_217206_1_, boolean p_217206_2_) { diff --git a/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch b/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch index 3c6a3add38..ff58463e86 100644 --- a/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch +++ b/patches/minecraft/net/minecraft/world/server/ServerWorld.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/ServerWorld.java +++ b/net/minecraft/world/server/ServerWorld.java -@@ -143,7 +143,7 @@ +@@ -143,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,7 +9,7 @@ public static final BlockPos field_241108_a_ = new BlockPos(100, 50, 0); private static final Logger field_147491_a = LogManager.getLogger(); private final Int2ObjectMap field_217498_x = new Int2ObjectLinkedOpenHashMap<>(); -@@ -173,6 +173,7 @@ +@@ -173,6 +_,7 @@ private final DragonFightManager field_241105_O_; private final StructureManager field_241106_P_; private final boolean field_241107_Q_; @@ -17,7 +17,7 @@ public ServerWorld(MinecraftServer p_i241885_1_, Executor p_i241885_2_, SaveFormat.LevelSave p_i241885_3_, IServerWorldInfo p_i241885_4_, RegistryKey p_i241885_5_, DimensionType p_i241885_6_, IChunkStatusListener p_i241885_7_, ChunkGenerator p_i241885_8_, boolean p_i241885_9_, long p_i241885_10_, List p_i241885_12_, boolean p_i241885_13_) { super(p_i241885_4_, p_i241885_5_, p_i241885_6_, p_i241885_1_::func_213185_aS, false, p_i241885_9_, p_i241885_10_); -@@ -200,7 +201,7 @@ +@@ -200,7 +_,7 @@ } else { this.field_241105_O_ = null; } @@ -26,7 +26,7 @@ } public void func_241113_a_(int p_241113_1_, int p_241113_2_, boolean p_241113_3_, boolean p_241113_4_) { -@@ -296,15 +297,19 @@ +@@ -296,15 +_,19 @@ this.field_73061_a.func_184103_al().func_232642_a_(new SChangeGameStatePacket(SChangeGameStatePacket.field_241772_i_, this.field_73017_q), this.func_234923_W_()); } @@ -50,7 +50,7 @@ } if (this.field_73068_P && this.field_217491_A.stream().noneMatch((p_241132_0_) -> { -@@ -312,8 +317,8 @@ +@@ -312,8 +_,8 @@ })) { this.field_73068_P = false; if (this.func_82736_K().func_223586_b(GameRules.field_223607_j)) { @@ -61,7 +61,7 @@ } this.func_229856_ab_(); -@@ -338,7 +343,7 @@ +@@ -338,7 +_,7 @@ this.func_147488_Z(); this.field_211159_Q = false; iprofiler.func_219895_b("entities"); @@ -70,7 +70,7 @@ if (flag3) { this.func_82742_i(); } -@@ -395,7 +400,7 @@ +@@ -395,7 +_,7 @@ } iprofiler.func_76320_a("tick"); @@ -79,7 +79,7 @@ this.func_217390_a(this::func_217479_a, entity1); } -@@ -404,7 +409,7 @@ +@@ -404,7 +_,7 @@ if (entity1.field_70128_L) { this.func_217454_n(entity1); objectiterator.remove(); @@ -88,7 +88,7 @@ } iprofiler.func_76319_b(); -@@ -475,6 +480,7 @@ +@@ -475,6 +_,7 @@ BlockPos blockpos2 = this.func_205770_a(Heightmap.Type.MOTION_BLOCKING, this.func_217383_a(i, 0, j, 15)); BlockPos blockpos3 = blockpos2.func_177977_b(); Biome biome = this.func_226691_t_(blockpos2); @@ -96,7 +96,7 @@ if (biome.func_201848_a(this, blockpos3)) { this.func_175656_a(blockpos3, Blocks.field_150432_aD.func_176223_P()); } -@@ -598,9 +604,10 @@ +@@ -598,9 +_,10 @@ ++p_217479_1_.field_70173_aa; IProfiler iprofiler = this.func_217381_Z(); iprofiler.func_194340_a(() -> { @@ -108,7 +108,7 @@ p_217479_1_.func_70071_h_(); iprofiler.func_76319_b(); } -@@ -687,6 +694,7 @@ +@@ -687,6 +_,7 @@ p_217445_1_.func_200209_c(new TranslationTextComponent("menu.savingChunks")); } @@ -116,7 +116,7 @@ serverchunkprovider.func_217210_a(p_217445_2_); } } -@@ -777,6 +785,7 @@ +@@ -777,6 +_,7 @@ } private void func_217448_f(ServerPlayerEntity p_217448_1_) { @@ -124,7 +124,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()); -@@ -801,6 +810,7 @@ +@@ -801,6 +_,7 @@ } else if (this.func_217478_l(p_72838_1_)) { return false; } else { @@ -132,7 +132,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; -@@ -816,6 +826,7 @@ +@@ -816,6 +_,7 @@ if (this.func_217478_l(p_217440_1_)) { return false; } else { @@ -140,7 +140,7 @@ this.func_217465_m(p_217440_1_); return true; } -@@ -879,12 +890,17 @@ +@@ -879,12 +_,17 @@ } @@ -161,7 +161,7 @@ this.field_175741_N.remove(p_217484_1_.func_110124_au()); this.func_72863_F().func_217226_b(p_217484_1_); -@@ -898,6 +914,8 @@ +@@ -898,6 +_,8 @@ this.field_217495_I.remove(((MobEntity)p_217484_1_).func_70661_as()); } @@ -170,7 +170,7 @@ } private void func_217465_m(Entity p_217465_1_) { -@@ -905,8 +923,8 @@ +@@ -905,8 +_,8 @@ this.field_217499_z.add(p_217465_1_); } else { this.field_217498_x.put(p_217465_1_.func_145782_y(), p_217465_1_); @@ -181,7 +181,7 @@ this.field_217498_x.put(enderdragonpartentity.func_145782_y(), enderdragonpartentity); } } -@@ -918,15 +936,19 @@ +@@ -918,15 +_,19 @@ } } @@ -202,7 +202,7 @@ } } -@@ -939,8 +961,11 @@ +@@ -939,8 +_,11 @@ } public void func_217434_e(ServerPlayerEntity p_217434_1_) { @@ -216,7 +216,7 @@ this.func_72854_c(); } -@@ -959,10 +984,20 @@ +@@ -959,10 +_,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_) { @@ -237,7 +237,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.func_234923_W_(), new SSpawnMovingSoundEffectPacket(p_217384_3_, p_217384_4_, p_217384_2_, p_217384_5_, p_217384_6_)); } -@@ -998,6 +1033,7 @@ +@@ -998,6 +_,7 @@ public Explosion func_230546_a_(@Nullable Entity p_230546_1_, @Nullable DamageSource p_230546_2_, @Nullable ExplosionContext p_230546_3_, double p_230546_4_, double p_230546_6_, double p_230546_8_, float p_230546_10_, boolean p_230546_11_, Explosion.Mode p_230546_12_) { Explosion explosion = new Explosion(this, p_230546_1_, p_230546_2_, p_230546_3_, p_230546_4_, p_230546_6_, p_230546_8_, p_230546_10_, p_230546_11_, p_230546_12_); @@ -245,10 +245,11 @@ explosion.func_77278_a(); explosion.func_77279_a(false); if (p_230546_12_ == Explosion.Mode.NONE) { -@@ -1410,4 +1446,14 @@ +@@ -1409,5 +_,15 @@ + BlockPos.func_191531_b(i - 2, j, k - 2, i + 2, j, k + 2).forEach((p_241122_1_) -> { p_241121_0_.func_175656_a(p_241122_1_, Blocks.field_150343_Z.func_176223_P()); }); - } ++ } + + protected void initCapabilities() { + this.gatherCapabilities(); @@ -258,5 +259,5 @@ + + public java.util.stream.Stream getEntities() { + return field_217498_x.values().stream(); -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/server/Ticket.java.patch b/patches/minecraft/net/minecraft/world/server/Ticket.java.patch index 11662179a0..0a00ce0f11 100644 --- a/patches/minecraft/net/minecraft/world/server/Ticket.java.patch +++ b/patches/minecraft/net/minecraft/world/server/Ticket.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/Ticket.java +++ b/net/minecraft/world/server/Ticket.java -@@ -9,9 +9,14 @@ +@@ -9,9 +_,14 @@ private long field_219483_d; protected Ticket(TicketType p_i226095_1_, int p_i226095_2_, T p_i226095_3_) { @@ -15,7 +15,7 @@ } public int compareTo(Ticket p_compareTo_1_) { -@@ -31,16 +36,16 @@ +@@ -31,16 +_,16 @@ return false; } else { Ticket ticket = (Ticket)p_equals_1_; @@ -35,15 +35,16 @@ } public TicketType func_219479_a() { -@@ -59,4 +64,11 @@ +@@ -58,5 +_,12 @@ + protected boolean func_223182_a(long p_223182_1_) { long i = this.field_219480_a.func_223184_b(); return i != 0L && p_223182_1_ - this.field_219483_d > i; - } ++ } + + /* ======================================== FORGE START =====================================*/ + private final boolean forceTicks; + + public boolean isForceTicks() { + return forceTicks; -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/server/TicketManager.java.patch b/patches/minecraft/net/minecraft/world/server/TicketManager.java.patch index 12b88eb923..f786f99812 100644 --- a/patches/minecraft/net/minecraft/world/server/TicketManager.java.patch +++ b/patches/minecraft/net/minecraft/world/server/TicketManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/server/TicketManager.java +++ b/net/minecraft/world/server/TicketManager.java -@@ -49,6 +49,8 @@ +@@ -49,6 +_,8 @@ private final Executor field_219388_p; private long field_219389_q; @@ -9,7 +9,7 @@ protected TicketManager(Executor p_i50707_1_, Executor p_i50707_2_) { ITaskExecutor itaskexecutor = ITaskExecutor.func_213140_a("player ticket throttler", p_i50707_2_::execute); ChunkTaskPriorityQueueSorter chunktaskpriorityqueuesorter = new ChunkTaskPriorityQueueSorter(ImmutableList.of(itaskexecutor), p_i50707_1_, 4); -@@ -143,6 +145,10 @@ +@@ -143,6 +_,10 @@ this.field_219378_f.func_215491_b(p_219347_1_, p_219347_3_.func_219477_b(), true); } @@ -20,7 +20,7 @@ } private void func_219349_b(long p_219349_1_, Ticket p_219349_3_) { -@@ -155,6 +161,13 @@ +@@ -155,6 +_,13 @@ } this.field_219378_f.func_215491_b(p_219349_1_, func_229844_a_(sortedarrayset), false); @@ -34,7 +34,7 @@ } public void func_219356_a(TicketType p_219356_1_, ChunkPos p_219356_2_, int p_219356_3_, T p_219356_4_) { -@@ -175,6 +188,14 @@ +@@ -175,6 +_,14 @@ this.func_219349_b(p_219362_2_.func_201841_a(), ticket); } @@ -49,15 +49,15 @@ private SortedArraySet> func_229848_e_(long p_229848_1_) { return this.field_219377_e.computeIfAbsent(p_229848_1_, (p_229851_0_) -> { return SortedArraySet.func_226172_a_(4); -@@ -242,6 +263,11 @@ - return this.field_219384_l.func_225396_a(); - } +@@ -240,6 +_,11 @@ + public String func_225412_c() { + return this.field_219384_l.func_225396_a(); ++ } ++ + public boolean shouldForceTicks(long chunkPos) { + SortedArraySet> tickets = forcedTickets.get(chunkPos); + return tickets != null && !tickets.isEmpty(); -+ } -+ + } + class ChunkTicketTracker extends ChunkDistanceGraph { - public ChunkTicketTracker() { - super(ChunkManager.field_219249_a + 2, 16, 256); diff --git a/patches/minecraft/net/minecraft/world/spawner/AbstractSpawner.java.patch b/patches/minecraft/net/minecraft/world/spawner/AbstractSpawner.java.patch index 3d6d1acbb5..c882fe4b23 100644 --- a/patches/minecraft/net/minecraft/world/spawner/AbstractSpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/spawner/AbstractSpawner.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/spawner/AbstractSpawner.java +++ b/net/minecraft/world/spawner/AbstractSpawner.java -@@ -131,11 +131,12 @@ +@@ -131,11 +_,12 @@ entity.func_70012_b(entity.func_226277_ct_(), entity.func_226278_cu_(), entity.func_226281_cx_(), world.field_73012_v.nextFloat() * 360.0F, 0.0F); if (entity instanceof MobEntity) { MobEntity mobentity = (MobEntity)entity; @@ -14,13 +14,14 @@ ((MobEntity)entity).func_213386_a(serverworld, world.func_175649_E(entity.func_233580_cy_()), SpawnReason.SPAWNER, (ILivingEntityData)null, (CompoundNBT)null); } } -@@ -283,4 +284,9 @@ +@@ -282,5 +_,10 @@ + @OnlyIn(Dist.CLIENT) public double func_177223_e() { return this.field_98284_d; - } ++ } + + @Nullable + public Entity getSpawnerEntity() { + return null; -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/spawner/CatSpawner.java.patch b/patches/minecraft/net/minecraft/world/spawner/CatSpawner.java.patch index 548ac6cec1..6842cecd74 100644 --- a/patches/minecraft/net/minecraft/world/spawner/CatSpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/spawner/CatSpawner.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/spawner/CatSpawner.java +++ b/net/minecraft/world/spawner/CatSpawner.java -@@ -80,6 +80,7 @@ +@@ -80,6 +_,7 @@ if (catentity == null) { return 0; } else { diff --git a/patches/minecraft/net/minecraft/world/spawner/PatrolSpawner.java.patch b/patches/minecraft/net/minecraft/world/spawner/PatrolSpawner.java.patch index a107c3250e..9aabadcf30 100644 --- a/patches/minecraft/net/minecraft/world/spawner/PatrolSpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/spawner/PatrolSpawner.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/spawner/PatrolSpawner.java +++ b/net/minecraft/world/spawner/PatrolSpawner.java -@@ -94,6 +94,7 @@ +@@ -94,6 +_,7 @@ return false; } else { PatrollerEntity patrollerentity = EntityType.field_220350_aJ.func_200721_a(p_222695_1_); diff --git a/patches/minecraft/net/minecraft/world/spawner/PhantomSpawner.java.patch b/patches/minecraft/net/minecraft/world/spawner/PhantomSpawner.java.patch index ec7971b725..611715af66 100644 --- a/patches/minecraft/net/minecraft/world/spawner/PhantomSpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/spawner/PhantomSpawner.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/spawner/PhantomSpawner.java +++ b/net/minecraft/world/spawner/PhantomSpawner.java -@@ -57,6 +57,7 @@ +@@ -57,6 +_,7 @@ for(int i1 = 0; i1 < l; ++i1) { PhantomEntity phantomentity = EntityType.field_203097_aH.func_200721_a(p_230253_1_); diff --git a/patches/minecraft/net/minecraft/world/spawner/WorldEntitySpawner.java.patch b/patches/minecraft/net/minecraft/world/spawner/WorldEntitySpawner.java.patch index d110f5d9a9..0820c81fcb 100644 --- a/patches/minecraft/net/minecraft/world/spawner/WorldEntitySpawner.java.patch +++ b/patches/minecraft/net/minecraft/world/spawner/WorldEntitySpawner.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/spawner/WorldEntitySpawner.java +++ b/net/minecraft/world/spawner/WorldEntitySpawner.java -@@ -82,7 +82,7 @@ +@@ -82,7 +_,7 @@ } while(mobentity.func_104002_bU() || mobentity.func_213392_I()); final Entity entity_f = entity; @@ -9,7 +9,7 @@ if (entityclassification != EntityClassification.MISC) { BlockPos blockpos = entity.func_233580_cy_(); long i = ChunkPos.func_77272_a(blockpos.func_177958_n() >> 4, blockpos.func_177952_p() >> 4); -@@ -169,13 +169,15 @@ +@@ -169,13 +_,15 @@ } mobentity.func_70012_b(d0, (double)i, d1, p_234966_1_.field_73012_v.nextFloat() * 360.0F, 0.0F); @@ -27,7 +27,7 @@ return; } -@@ -253,6 +255,7 @@ +@@ -253,6 +_,7 @@ return null; } else { List list = func_241463_a_(p_234977_0_, p_234977_1_, p_234977_2_, p_234977_3_, p_234977_5_, biome); @@ -35,7 +35,7 @@ return list.isEmpty() ? null : WeightedRandom.func_76271_a(p_234977_4_, list); } } -@@ -292,6 +295,13 @@ +@@ -292,6 +_,13 @@ if (p_209382_0_ == EntitySpawnPlacementRegistry.PlacementType.NO_RESTRICTIONS) { return true; } else if (p_209382_3_ != null && p_209382_1_.func_175723_af().func_177746_a(p_209382_2_)) { @@ -49,7 +49,7 @@ BlockState blockstate = p_209382_1_.func_180495_p(p_209382_2_); FluidState fluidstate = p_209382_1_.func_204610_c(p_209382_2_); BlockPos blockpos = p_209382_2_.func_177984_a(); -@@ -304,14 +314,12 @@ +@@ -304,14 +_,12 @@ case ON_GROUND: default: BlockState blockstate1 = p_209382_1_.func_180495_p(blockpos1); @@ -65,7 +65,7 @@ } } -@@ -355,6 +363,7 @@ +@@ -355,6 +_,7 @@ entity.func_70012_b(d0, (double)blockpos.func_177956_o(), d1, p_77191_4_.nextFloat() * 360.0F, 0.0F); if (entity instanceof MobEntity) { MobEntity mobentity = (MobEntity)entity; diff --git a/patches/minecraft/net/minecraft/world/storage/DimensionSavedDataManager.java.patch b/patches/minecraft/net/minecraft/world/storage/DimensionSavedDataManager.java.patch index a5472bb608..a79f9cb2c7 100644 --- a/patches/minecraft/net/minecraft/world/storage/DimensionSavedDataManager.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/DimensionSavedDataManager.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/DimensionSavedDataManager.java +++ b/net/minecraft/world/storage/DimensionSavedDataManager.java -@@ -47,9 +47,13 @@ +@@ -47,9 +_,13 @@ @Nullable public T func_215753_b(Supplier p_215753_1_, String p_215753_2_) { WorldSavedData worldsaveddata = this.field_212778_c.get(p_215753_2_); diff --git a/patches/minecraft/net/minecraft/world/storage/MapDecoration.java.patch b/patches/minecraft/net/minecraft/world/storage/MapDecoration.java.patch index a93211eb35..805b5e2e85 100644 --- a/patches/minecraft/net/minecraft/world/storage/MapDecoration.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/MapDecoration.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/MapDecoration.java +++ b/net/minecraft/world/storage/MapDecoration.java -@@ -82,6 +82,16 @@ +@@ -82,6 +_,16 @@ return 31 * i + Objects.hashCode(this.field_204310_e); } diff --git a/patches/minecraft/net/minecraft/world/storage/PlayerData.java.patch b/patches/minecraft/net/minecraft/world/storage/PlayerData.java.patch index 5f0d88899b..0aeba3aef9 100644 --- a/patches/minecraft/net/minecraft/world/storage/PlayerData.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/PlayerData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/PlayerData.java +++ b/net/minecraft/world/storage/PlayerData.java -@@ -31,6 +31,7 @@ +@@ -31,6 +_,7 @@ File file2 = new File(this.field_237333_c_, p_237335_1_.func_189512_bd() + ".dat"); File file3 = new File(this.field_237333_c_, p_237335_1_.func_189512_bd() + ".dat_old"); Util.func_240977_a_(file2, file1, file3); @@ -8,7 +8,7 @@ } catch (Exception exception) { field_237332_b_.warn("Failed to save player data for {}", (Object)p_237335_1_.func_200200_C_().getString()); } -@@ -54,6 +55,7 @@ +@@ -54,6 +_,7 @@ int i = compoundnbt.func_150297_b("DataVersion", 3) ? compoundnbt.func_74762_e("DataVersion") : -1; p_237336_1_.func_70020_e(NBTUtil.func_210822_a(this.field_237331_a_, DefaultTypeReferences.PLAYER, compoundnbt, i)); } @@ -16,12 +16,13 @@ return compoundnbt; } -@@ -72,4 +74,8 @@ +@@ -71,5 +_,9 @@ + } return astring; - } ++ } + + public File getPlayerDataFolder() { + return field_237333_c_; -+ } + } } diff --git a/patches/minecraft/net/minecraft/world/storage/SaveFormat.java.patch b/patches/minecraft/net/minecraft/world/storage/SaveFormat.java.patch index 01539508e0..af35379fe2 100644 --- a/patches/minecraft/net/minecraft/world/storage/SaveFormat.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/SaveFormat.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/SaveFormat.java +++ b/net/minecraft/world/storage/SaveFormat.java -@@ -95,7 +95,7 @@ +@@ -95,7 +_,7 @@ } } @@ -9,7 +9,7 @@ DataResult dataresult = DimensionGeneratorSettings.field_236201_a_.parse(dynamic1); return Pair.of(dataresult.resultOrPartial(Util.func_240982_a_("WorldGenSettings: ", field_215785_a::error)).orElseGet(() -> { Registry registry = RegistryLookupCodec.func_244331_a(Registry.field_239698_ad_).codec().parse(dynamic1).resultOrPartial(Util.func_240982_a_("Dimension type registry: ", field_215785_a::error)).orElseThrow(() -> { -@@ -182,6 +182,10 @@ +@@ -182,6 +_,10 @@ } private static BiFunction func_237270_b_(DynamicOps p_237270_0_, DatapackCodec p_237270_1_) { @@ -20,7 +20,7 @@ return (p_242976_2_, p_242976_3_) -> { try { CompoundNBT compoundnbt = CompressedStreamTools.func_244263_a(p_242976_2_); -@@ -193,7 +197,10 @@ +@@ -193,7 +_,10 @@ Pair pair = func_237259_a_(dynamic, p_242976_3_, i); VersionData versiondata = VersionData.func_237324_a_(dynamic); WorldSettings worldsettings = WorldSettings.func_234951_a_(dynamic, p_237270_1_); @@ -32,7 +32,7 @@ } catch (Exception exception) { field_215785_a.error("Exception reading {}", p_242976_2_, exception); return null; -@@ -314,7 +321,7 @@ +@@ -314,7 +_,7 @@ @Nullable public IServerConfiguration func_237284_a_(DynamicOps p_237284_1_, DatapackCodec p_237284_2_) { this.func_237301_i_(); @@ -41,7 +41,7 @@ } @Nullable -@@ -335,6 +342,8 @@ +@@ -335,6 +_,8 @@ CompoundNBT compoundnbt1 = new CompoundNBT(); compoundnbt1.func_218657_a("Data", compoundnbt); @@ -50,14 +50,14 @@ try { File file2 = File.createTempFile("level", ".dat", file1); CompressedStreamTools.func_244264_a(compoundnbt1, file2); -@@ -352,6 +361,10 @@ +@@ -350,6 +_,10 @@ + public File func_237298_f_() { + this.func_237301_i_(); return this.field_237279_c_.resolve("icon.png").toFile(); - } - -+ public Path getWorldDir() { -+ return field_237279_c_; + } + ++ public Path getWorldDir() { ++ return field_237279_c_; + } + @OnlyIn(Dist.CLIENT) - public void func_237299_g_() throws IOException { - this.func_237301_i_(); diff --git a/patches/minecraft/net/minecraft/world/storage/WorldSavedData.java.patch b/patches/minecraft/net/minecraft/world/storage/WorldSavedData.java.patch index b57c9c7e37..310c440476 100644 --- a/patches/minecraft/net/minecraft/world/storage/WorldSavedData.java.patch +++ b/patches/minecraft/net/minecraft/world/storage/WorldSavedData.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/storage/WorldSavedData.java +++ b/net/minecraft/world/storage/WorldSavedData.java -@@ -8,7 +8,7 @@ +@@ -8,7 +_,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -9,10 +9,11 @@ private static final Logger field_215159_a = LogManager.getLogger(); private final String field_76190_i; private boolean field_76189_a; -@@ -52,4 +52,14 @@ +@@ -51,5 +_,15 @@ + this.func_76186_a(false); } - } ++ } + + @Override + public void deserializeNBT(CompoundNBT nbt) { @@ -22,5 +23,5 @@ + @Override + public CompoundNBT serializeNBT() { + return func_189551_b(new CompoundNBT()); -+ } + } } diff --git a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java index a9672d5728..243f5ca8e9 100644 --- a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java +++ b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java @@ -161,7 +161,7 @@ public class ForgeHooksClient public static void onTextureStitchedPre(AtlasTexture map, Set resourceLocations) { - StartupMessageManager.mcLoaderConsumer().ifPresent(c->c.accept("Atlas Stitching : "+map.getTextureLocation().toString())); + StartupMessageManager.mcLoaderConsumer().ifPresent(c->c.accept("Atlas Stitching : "+map.location().toString())); ModLoader.get().postEvent(new TextureStitchEvent.Pre(map, resourceLocations)); // ModelLoader.White.INSTANCE.register(map); // TODO Custom TAS } @@ -254,10 +254,10 @@ public class ForgeHooksClient if (status == BETA || status == BETA_OUTDATED) { // render a warning at the top of the screen, - ITextComponent line = new TranslationTextComponent("forge.update.beta.1", TextFormatting.RED, TextFormatting.RESET).mergeStyle(TextFormatting.RED); - AbstractGui.drawCenteredString(mStack, font, line, width / 2, 4 + (0 * (font.FONT_HEIGHT + 1)), 0xFFFFFF | alpha); + ITextComponent line = new TranslationTextComponent("forge.update.beta.1", TextFormatting.RED, TextFormatting.RESET).withStyle(TextFormatting.RED); + AbstractGui.drawCenteredString(mStack, font, line, width / 2, 4 + (0 * (font.lineHeight + 1)), 0xFFFFFF | alpha); line = new TranslationTextComponent("forge.update.beta.2"); - AbstractGui.drawCenteredString(mStack, font, line, width / 2, 4 + (1 * (font.FONT_HEIGHT + 1)), 0xFFFFFF | alpha); + AbstractGui.drawCenteredString(mStack, font, line, width / 2, 4 + (1 * (font.lineHeight + 1)), 0xFFFFFF | alpha); } String line = null; @@ -267,7 +267,7 @@ public class ForgeHooksClient //case UP_TO_DATE: line = "Forge up to date"}; break; //case AHEAD: line = "Using non-recommended Forge build, issues may arise."}; break; case OUTDATED: - case BETA_OUTDATED: line = I18n.format("forge.update.newversion", ForgeVersion.getTarget()); break; + case BETA_OUTDATED: line = I18n.get("forge.update.newversion", ForgeVersion.getTarget()); break; default: break; } @@ -311,7 +311,7 @@ public class ForgeHooksClient public static EntityViewRenderEvent.CameraSetup onCameraSetup(GameRenderer renderer, ActiveRenderInfo info, float partial) { - EntityViewRenderEvent.CameraSetup event = new EntityViewRenderEvent.CameraSetup(renderer, info, partial, info.getYaw(), info.getPitch(), 0); + EntityViewRenderEvent.CameraSetup event = new EntityViewRenderEvent.CameraSetup(renderer, info, partial, info.getYRot(), info.getXRot(), 0); MinecraftForge.EVENT_BUS.post(event); return event; } @@ -325,7 +325,7 @@ public class ForgeHooksClient private static final Matrix4f flipX; private static final Matrix3f flipXNormal; static { - flipX = Matrix4f.makeScale(-1,1,1); + flipX = Matrix4f.createScaleMatrix(-1,1,1); flipXNormal = new Matrix3f(flipX); } @@ -338,17 +338,17 @@ public class ForgeHooksClient if (!stack.clear()) { // Apply the transformation to the real matrix stack, flipping for left hand - Matrix4f tMat = stack.getLast().getMatrix(); - Matrix3f nMat = stack.getLast().getNormal(); + Matrix4f tMat = stack.last().pose(); + Matrix3f nMat = stack.last().normal(); if (leftHandHackery) { tMat.multiplyBackward(flipX); - tMat.mul(flipX); + tMat.multiply(flipX); nMat.multiplyBackward(flipXNormal); nMat.mul(flipXNormal); } - matrixStack.getLast().getMatrix().mul(tMat); - matrixStack.getLast().getNormal().mul(nMat); + matrixStack.last().pose().multiply(tMat); + matrixStack.last().normal().mul(nMat); } return model; } @@ -359,7 +359,7 @@ public class ForgeHooksClient { VertexFormatElement attr = format.getElements().get(element); int count = attr.getElementCount(); - int constant = attr.getType().getGlConstant(); + int constant = attr.getType().getGlType(); ((Buffer)buffer).position(format.getOffset(element)); switch(attrType) { @@ -392,7 +392,7 @@ public class ForgeHooksClient glVertexAttribPointer(attr.getIndex(), count, constant, false, stride, buffer); break; default: - LOGGER.fatal("Unimplemented vanilla attribute upload: {}", attrType.getDisplayName()); + LOGGER.fatal("Unimplemented vanilla attribute upload: {}", attrType.getName()); } } @@ -421,7 +421,7 @@ public class ForgeHooksClient glDisableVertexAttribArray(attr.getIndex()); break; default: - LOGGER.fatal("Unimplemented vanilla attribute upload: {}", attrType.getDisplayName()); + LOGGER.fatal("Unimplemented vanilla attribute upload: {}", attrType.getName()); } } @@ -462,11 +462,11 @@ public class ForgeHooksClient @SuppressWarnings("deprecation") public static TextureAtlasSprite[] getFluidSprites(IBlockDisplayReader world, BlockPos pos, FluidState fluidStateIn) { - ResourceLocation overlayTexture = fluidStateIn.getFluid().getAttributes().getOverlayTexture(); + ResourceLocation overlayTexture = fluidStateIn.getType().getAttributes().getOverlayTexture(); return new TextureAtlasSprite[] { - Minecraft.getInstance().getAtlasSpriteGetter(AtlasTexture.LOCATION_BLOCKS_TEXTURE).apply(fluidStateIn.getFluid().getAttributes().getStillTexture(world, pos)), - Minecraft.getInstance().getAtlasSpriteGetter(AtlasTexture.LOCATION_BLOCKS_TEXTURE).apply(fluidStateIn.getFluid().getAttributes().getFlowingTexture(world, pos)), - overlayTexture == null ? null : Minecraft.getInstance().getAtlasSpriteGetter(AtlasTexture.LOCATION_BLOCKS_TEXTURE).apply(overlayTexture), + Minecraft.getInstance().getTextureAtlas(AtlasTexture.LOCATION_BLOCKS).apply(fluidStateIn.getType().getAttributes().getStillTexture(world, pos)), + Minecraft.getInstance().getTextureAtlas(AtlasTexture.LOCATION_BLOCKS).apply(fluidStateIn.getType().getAttributes().getFlowingTexture(world, pos)), + overlayTexture == null ? null : Minecraft.getInstance().getTextureAtlas(AtlasTexture.LOCATION_BLOCKS).apply(overlayTexture), }; } @@ -487,7 +487,7 @@ public class ForgeHooksClient @SuppressWarnings("deprecation") public static RenderMaterial getBlockMaterial(ResourceLocation loc) { - return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, loc); + return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, loc); } /** @@ -505,9 +505,9 @@ public class ForgeHooksClient v2.cross(v1); v2.normalize(); - int x = ((byte) Math.round(v2.getX() * 127)) & 0xFF; - int y = ((byte) Math.round(v2.getY() * 127)) & 0xFF; - int z = ((byte) Math.round(v2.getZ() * 127)) & 0xFF; + int x = ((byte) Math.round(v2.x() * 127)) & 0xFF; + int y = ((byte) Math.round(v2.y() * 127)) & 0xFF; + int z = ((byte) Math.round(v2.z() * 127)) & 0xFF; int normal = x | (y << 0x08) | (z << 0x10); @@ -535,7 +535,7 @@ public class ForgeHooksClient ResourceLocation shader = ClientRegistry.getEntityShader(entity.getClass()); if (shader != null) { - entityRenderer.loadShader(shader); + entityRenderer.loadEffect(shader); } } } @@ -591,7 +591,7 @@ public class ForgeHooksClient @SuppressWarnings("deprecation") public static IBakedModel handlePerspective(IBakedModel model, ItemCameraTransforms.TransformType type, MatrixStack stack) { - TransformationMatrix tr = TransformationHelper.toTransformation(model.getItemCameraTransforms().getTransform(type)); + TransformationMatrix tr = TransformationHelper.toTransformation(model.getTransforms().getTransform(type)); if(!tr.isIdentity()) { tr.push(stack); } @@ -605,7 +605,7 @@ public class ForgeHooksClient public static void refreshResources(Minecraft mc, VanillaResourceType... types) { SelectiveReloadStateHandler.INSTANCE.beginReload(ReloadRequirements.include(types)); - mc.reloadResources(); + mc.reloadResourcePacks(); SelectiveReloadStateHandler.INSTANCE.endReload(); } @@ -647,18 +647,18 @@ public class ForgeHooksClient public static boolean onGuiMouseScrollPre(MouseHelper mouseHelper, Screen guiScreen, double scrollDelta) { - MainWindow mainWindow = guiScreen.getMinecraft().getMainWindow(); - double mouseX = mouseHelper.getMouseX() * (double) mainWindow.getScaledWidth() / (double) mainWindow.getWidth(); - double mouseY = mouseHelper.getMouseY() * (double) mainWindow.getScaledHeight() / (double) mainWindow.getHeight(); + MainWindow mainWindow = guiScreen.getMinecraft().getWindow(); + double mouseX = mouseHelper.xpos() * (double) mainWindow.getGuiScaledWidth() / (double) mainWindow.getScreenWidth(); + double mouseY = mouseHelper.ypos() * (double) mainWindow.getGuiScaledHeight() / (double) mainWindow.getScreenHeight(); Event event = new GuiScreenEvent.MouseScrollEvent.Pre(guiScreen, mouseX, mouseY, scrollDelta); return MinecraftForge.EVENT_BUS.post(event); } public static boolean onGuiMouseScrollPost(MouseHelper mouseHelper, Screen guiScreen, double scrollDelta) { - MainWindow mainWindow = guiScreen.getMinecraft().getMainWindow(); - double mouseX = mouseHelper.getMouseX() * (double) mainWindow.getScaledWidth() / (double) mainWindow.getWidth(); - double mouseY = mouseHelper.getMouseY() * (double) mainWindow.getScaledHeight() / (double) mainWindow.getHeight(); + MainWindow mainWindow = guiScreen.getMinecraft().getWindow(); + double mouseX = mouseHelper.xpos() * (double) mainWindow.getGuiScaledWidth() / (double) mainWindow.getScreenWidth(); + double mouseY = mouseHelper.ypos() * (double) mainWindow.getGuiScaledHeight() / (double) mainWindow.getScreenHeight(); Event event = new GuiScreenEvent.MouseScrollEvent.Post(guiScreen, mouseX, mouseY, scrollDelta); return MinecraftForge.EVENT_BUS.post(event); } @@ -737,7 +737,7 @@ public class ForgeHooksClient public static boolean onMouseScroll(MouseHelper mouseHelper, double scrollDelta) { - Event event = new InputEvent.MouseScrollEvent(scrollDelta, mouseHelper.isLeftDown(), mouseHelper.isMiddleDown(), mouseHelper.isRightDown(), mouseHelper.getMouseX(), mouseHelper.getMouseY()); + Event event = new InputEvent.MouseScrollEvent(scrollDelta, mouseHelper.isLeftPressed(), mouseHelper.isMiddleDown(), mouseHelper.isRightPressed(), mouseHelper.xpos(), mouseHelper.ypos()); return MinecraftForge.EVENT_BUS.post(event); } @@ -764,11 +764,11 @@ public class ForgeHooksClient IVertexBuilder ivertexbuilder; if (fabulous) { - ivertexbuilder = ItemRenderer.getEntityGlintVertexBuilder(bufferIn, rendertype, true, itemStackIn.hasEffect()); + ivertexbuilder = ItemRenderer.getFoilBufferDirect(bufferIn, rendertype, true, itemStackIn.hasFoil()); } else { - ivertexbuilder = ItemRenderer.getBuffer(bufferIn, rendertype, true, itemStackIn.hasEffect()); + ivertexbuilder = ItemRenderer.getFoilBuffer(bufferIn, rendertype, true, itemStackIn.hasFoil()); } - renderer.renderModel(layer, itemStackIn, combinedLightIn, combinedOverlayIn, matrixStackIn, ivertexbuilder); + renderer.renderModelLists(layer, itemStackIn, combinedLightIn, combinedOverlayIn, matrixStackIn, ivertexbuilder); } net.minecraftforge.client.ForgeHooksClient.setRenderLayer(null); } @@ -784,13 +784,13 @@ public class ForgeHooksClient } public static void renderPistonMovedBlocks(BlockPos pos, BlockState state, MatrixStack stack, IRenderTypeBuffer buffer, World world, boolean checkSides, int combinedOverlay, BlockRendererDispatcher blockRenderer) { - RenderType.getBlockRenderTypes().stream() + RenderType.chunkBufferLayers().stream() .filter(t -> RenderTypeLookup.canRenderInLayer(state, t)) .forEach(rendertype -> { setRenderLayer(rendertype); - IVertexBuilder ivertexbuilder = buffer.getBuffer(rendertype == RenderType.getTranslucent() ? RenderType.getTranslucentMovingBlock() : rendertype); - blockRenderer.getBlockModelRenderer().renderModel(world, blockRenderer.getModelForState(state), state, pos, stack, ivertexbuilder, checkSides, new Random(), state.getPositionRandom(pos), combinedOverlay); + IVertexBuilder ivertexbuilder = buffer.getBuffer(rendertype == RenderType.translucent() ? RenderType.translucentMovingBlock() : rendertype); + blockRenderer.getModelRenderer().tesselateBlock(world, blockRenderer.getBlockModel(state), state, pos, stack, ivertexbuilder, checkSides, new Random(), state.getSeed(pos), combinedOverlay); }); setRenderLayer(null); } @@ -812,7 +812,7 @@ public class ForgeHooksClient public static Optional getWorldTypeFromGenerator(DimensionGeneratorSettings dimensionGeneratorSettings) { - return BiomeGeneratorTypeScreens.func_239079_a_(dimensionGeneratorSettings); + return BiomeGeneratorTypeScreens.of(dimensionGeneratorSettings); } public static Optional getDefaultWorldType() diff --git a/src/main/java/net/minecraftforge/client/ForgeRenderTypes.java b/src/main/java/net/minecraftforge/client/ForgeRenderTypes.java index f28d583552..2ef0bf6211 100644 --- a/src/main/java/net/minecraftforge/client/ForgeRenderTypes.java +++ b/src/main/java/net/minecraftforge/client/ForgeRenderTypes.java @@ -29,16 +29,19 @@ import net.minecraftforge.common.util.NonNullLazy; import net.minecraftforge.common.util.NonNullSupplier; import org.lwjgl.opengl.GL11; +import net.minecraft.client.renderer.RenderState.TextureState; +import net.minecraft.client.renderer.RenderType.State; + @SuppressWarnings("deprecation") public enum ForgeRenderTypes { - ITEM_LAYERED_SOLID(()-> getItemLayeredSolid(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_LAYERED_CUTOUT(()-> getItemLayeredCutout(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_LAYERED_CUTOUT_MIPPED(()-> getItemLayeredCutoutMipped(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_LAYERED_TRANSLUCENT(()-> getItemLayeredTranslucent(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_UNSORTED_TRANSLUCENT(()-> getUnsortedTranslucent(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_UNLIT_TRANSLUCENT(()-> getUnlitTranslucent(AtlasTexture.LOCATION_BLOCKS_TEXTURE)), - ITEM_UNSORTED_UNLIT_TRANSLUCENT(()-> getUnlitTranslucent(AtlasTexture.LOCATION_BLOCKS_TEXTURE, false)); + ITEM_LAYERED_SOLID(()-> getItemLayeredSolid(AtlasTexture.LOCATION_BLOCKS)), + ITEM_LAYERED_CUTOUT(()-> getItemLayeredCutout(AtlasTexture.LOCATION_BLOCKS)), + ITEM_LAYERED_CUTOUT_MIPPED(()-> getItemLayeredCutoutMipped(AtlasTexture.LOCATION_BLOCKS)), + ITEM_LAYERED_TRANSLUCENT(()-> getItemLayeredTranslucent(AtlasTexture.LOCATION_BLOCKS)), + ITEM_UNSORTED_TRANSLUCENT(()-> getUnsortedTranslucent(AtlasTexture.LOCATION_BLOCKS)), + ITEM_UNLIT_TRANSLUCENT(()-> getUnlitTranslucent(AtlasTexture.LOCATION_BLOCKS)), + ITEM_UNSORTED_UNLIT_TRANSLUCENT(()-> getUnlitTranslucent(AtlasTexture.LOCATION_BLOCKS, false)); /** * @return A RenderType fit for multi-layer solid item rendering. @@ -135,76 +138,76 @@ public enum ForgeRenderTypes public static RenderType unsortedTranslucent(ResourceLocation textureLocation) { final boolean sortingEnabled = false; - State renderState = State.getBuilder() - .texture(new TextureState(textureLocation, false, false)) - .transparency(TRANSLUCENT_TRANSPARENCY) - .diffuseLighting(DIFFUSE_LIGHTING_ENABLED) - .alpha(DEFAULT_ALPHA) - .cull(CULL_DISABLED) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_entity_unsorted_translucent", DefaultVertexFormats.ENTITY, GL11.GL_QUADS, 256, true, sortingEnabled, renderState); + State renderState = State.builder() + .setTextureState(new TextureState(textureLocation, false, false)) + .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setDiffuseLightingState(DIFFUSE_LIGHTING) + .setAlphaState(DEFAULT_ALPHA) + .setCullState(NO_CULL) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_entity_unsorted_translucent", DefaultVertexFormats.NEW_ENTITY, GL11.GL_QUADS, 256, true, sortingEnabled, renderState); } public static RenderType unlitTranslucent(ResourceLocation textureLocation, boolean sortingEnabled) { - State renderState = State.getBuilder() - .texture(new TextureState(textureLocation, false, false)) - .transparency(TRANSLUCENT_TRANSPARENCY) - .alpha(DEFAULT_ALPHA) - .cull(CULL_DISABLED) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_entity_unlit_translucent", DefaultVertexFormats.ENTITY, GL11.GL_QUADS, 256, true, sortingEnabled, renderState); + State renderState = State.builder() + .setTextureState(new TextureState(textureLocation, false, false)) + .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setAlphaState(DEFAULT_ALPHA) + .setCullState(NO_CULL) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_entity_unlit_translucent", DefaultVertexFormats.NEW_ENTITY, GL11.GL_QUADS, 256, true, sortingEnabled, renderState); } public static RenderType layeredItemSolid(ResourceLocation locationIn) { - RenderType.State rendertype$state = RenderType.State.getBuilder() - .texture(new RenderState.TextureState(locationIn, false, false)) - .transparency(NO_TRANSPARENCY) - .diffuseLighting(DIFFUSE_LIGHTING_ENABLED) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_item_entity_solid", DefaultVertexFormats.ENTITY, 7, 256, true, false, rendertype$state); + RenderType.State rendertype$state = RenderType.State.builder() + .setTextureState(new RenderState.TextureState(locationIn, false, false)) + .setTransparencyState(NO_TRANSPARENCY) + .setDiffuseLightingState(DIFFUSE_LIGHTING) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_item_entity_solid", DefaultVertexFormats.NEW_ENTITY, 7, 256, true, false, rendertype$state); } public static RenderType layeredItemCutout(ResourceLocation locationIn) { - RenderType.State rendertype$state = RenderType.State.getBuilder() - .texture(new RenderState.TextureState(locationIn, false, false)) - .transparency(NO_TRANSPARENCY) - .diffuseLighting(DIFFUSE_LIGHTING_ENABLED) - .alpha(DEFAULT_ALPHA) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_item_entity_cutout", DefaultVertexFormats.ENTITY, 7, 256, true, false, rendertype$state); + RenderType.State rendertype$state = RenderType.State.builder() + .setTextureState(new RenderState.TextureState(locationIn, false, false)) + .setTransparencyState(NO_TRANSPARENCY) + .setDiffuseLightingState(DIFFUSE_LIGHTING) + .setAlphaState(DEFAULT_ALPHA) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_item_entity_cutout", DefaultVertexFormats.NEW_ENTITY, 7, 256, true, false, rendertype$state); } public static RenderType layeredItemCutoutMipped(ResourceLocation locationIn) { - RenderType.State rendertype$state = RenderType.State.getBuilder() - .texture(new RenderState.TextureState(locationIn, false, true)) - .transparency(NO_TRANSPARENCY) - .diffuseLighting(DIFFUSE_LIGHTING_ENABLED) - .alpha(DEFAULT_ALPHA) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_item_entity_cutout_mipped", DefaultVertexFormats.ENTITY, 7, 256, true, false, rendertype$state); + RenderType.State rendertype$state = RenderType.State.builder() + .setTextureState(new RenderState.TextureState(locationIn, false, true)) + .setTransparencyState(NO_TRANSPARENCY) + .setDiffuseLightingState(DIFFUSE_LIGHTING) + .setAlphaState(DEFAULT_ALPHA) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_item_entity_cutout_mipped", DefaultVertexFormats.NEW_ENTITY, 7, 256, true, false, rendertype$state); } public static RenderType layeredItemTranslucent(ResourceLocation locationIn) { - RenderType.State rendertype$state = RenderType.State.getBuilder() - .texture(new RenderState.TextureState(locationIn, false, false)) - .transparency(TRANSLUCENT_TRANSPARENCY) - .diffuseLighting(DIFFUSE_LIGHTING_ENABLED) - .alpha(DEFAULT_ALPHA) - .lightmap(LIGHTMAP_ENABLED) - .overlay(OVERLAY_ENABLED) - .build(true); - return makeType("forge_item_entity_translucent_cull", DefaultVertexFormats.ENTITY, 7, 256, true, true, rendertype$state); + RenderType.State rendertype$state = RenderType.State.builder() + .setTextureState(new RenderState.TextureState(locationIn, false, false)) + .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setDiffuseLightingState(DIFFUSE_LIGHTING) + .setAlphaState(DEFAULT_ALPHA) + .setLightmapState(LIGHTMAP) + .setOverlayState(OVERLAY) + .createCompositeState(true); + return create("forge_item_entity_translucent_cull", DefaultVertexFormats.NEW_ENTITY, 7, 256, true, true, rendertype$state); } } } diff --git a/src/main/java/net/minecraftforge/client/ForgeWorldTypeScreens.java b/src/main/java/net/minecraftforge/client/ForgeWorldTypeScreens.java index 1a542154db..eceff69b6a 100644 --- a/src/main/java/net/minecraftforge/client/ForgeWorldTypeScreens.java +++ b/src/main/java/net/minecraftforge/client/ForgeWorldTypeScreens.java @@ -57,14 +57,14 @@ public class ForgeWorldTypeScreens ForgeWorldType def = ForgeWorldType.getDefaultWorldType(); if (def == null) { - return BiomeGeneratorTypeScreens.field_239066_a_; + return BiomeGeneratorTypeScreens.NORMAL; } BiomeGeneratorTypeScreens gen = GENERATORS.get(def); if (gen == null) { LOGGER.error("The default world type '{}' has not been added to the GUI. Was it registered too late?", def.getRegistryName()); - return BiomeGeneratorTypeScreens.field_239066_a_; + return BiomeGeneratorTypeScreens.NORMAL; } return gen; @@ -103,14 +103,14 @@ public class ForgeWorldTypeScreens @Nonnull @Override - public DimensionGeneratorSettings func_241220_a_(@Nonnull DynamicRegistries.Impl dynamicRegistries, long seed, boolean generateStructures, boolean bonusChest) + public DimensionGeneratorSettings create(@Nonnull DynamicRegistries.Impl dynamicRegistries, long seed, boolean generateStructures, boolean bonusChest) { return worldType.createSettings(dynamicRegistries, seed, generateStructures, bonusChest, ""); } @Nonnull @Override - protected ChunkGenerator func_241869_a(@Nonnull Registry p_241869_1_, @Nonnull Registry p_241869_2_, long p_241869_3_) + protected ChunkGenerator generator(@Nonnull Registry p_241869_1_, @Nonnull Registry p_241869_2_, long p_241869_3_) { return worldType.createChunkGenerator(p_241869_1_, p_241869_2_, p_241869_3_, ""); } diff --git a/src/main/java/net/minecraftforge/client/ItemModelMesherForge.java b/src/main/java/net/minecraftforge/client/ItemModelMesherForge.java index 8c207b21ee..8ef22d54ab 100644 --- a/src/main/java/net/minecraftforge/client/ItemModelMesherForge.java +++ b/src/main/java/net/minecraftforge/client/ItemModelMesherForge.java @@ -79,7 +79,7 @@ public class ItemModelMesherForge extends ItemModelMesher if (location == null) { - location = ModelBakery.MODEL_MISSING; + location = ModelBakery.MISSING_MODEL_LOCATION; } return location; diff --git a/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java b/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java index 7f6a393870..51dd437b37 100644 --- a/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java +++ b/src/main/java/net/minecraftforge/client/MinecraftForgeClient.java @@ -59,7 +59,7 @@ public class MinecraftForgeClient */ public static Locale getLocale() { - return Minecraft.getInstance().getLanguageManager().getCurrentLanguage().getJavaLocale(); + return Minecraft.getInstance().getLanguageManager().getSelected().getJavaLocale(); } private static BitSet stencilBits = new BitSet(8); @@ -108,7 +108,7 @@ public class MinecraftForgeClient @Override public Optional load(Pair key) { - return Optional.ofNullable(ChunkRenderCache.generateCache(key.getLeft(), key.getRight().add(-1, -1, -1), key.getRight().add(16, 16, 16), 1)); + return Optional.ofNullable(ChunkRenderCache.createIfNotEmpty(key.getLeft(), key.getRight().offset(-1, -1, -1), key.getRight().offset(16, 16, 16), 1)); } }); diff --git a/src/main/java/net/minecraftforge/client/event/EntityViewRenderEvent.java b/src/main/java/net/minecraftforge/client/event/EntityViewRenderEvent.java index e1a576e072..1e06b8bca4 100644 --- a/src/main/java/net/minecraftforge/client/event/EntityViewRenderEvent.java +++ b/src/main/java/net/minecraftforge/client/event/EntityViewRenderEvent.java @@ -25,6 +25,8 @@ import net.minecraft.client.renderer.FogRenderer.FogType; import net.minecraft.client.renderer.GameRenderer; import net.minecraftforge.eventbus.api.Cancelable; +import net.minecraftforge.eventbus.api.Event.HasResult; + /** * Event that hooks into GameRenderer, allowing any feature to customize visual attributes * the player sees. diff --git a/src/main/java/net/minecraftforge/client/event/FOVUpdateEvent.java b/src/main/java/net/minecraftforge/client/event/FOVUpdateEvent.java index f5417c561e..427a0575da 100644 --- a/src/main/java/net/minecraftforge/client/event/FOVUpdateEvent.java +++ b/src/main/java/net/minecraftforge/client/event/FOVUpdateEvent.java @@ -34,7 +34,7 @@ public class FOVUpdateEvent extends Event { this.entity = entity; this.fov = fov; - this.setNewfov(MathHelper.lerp(Minecraft.getInstance().gameSettings.fovScaleEffect, 1.0F, fov)); + this.setNewfov(MathHelper.lerp(Minecraft.getInstance().options.fovEffectScale, 1.0F, fov)); } public PlayerEntity getEntity() diff --git a/src/main/java/net/minecraftforge/client/event/RenderItemInFrameEvent.java b/src/main/java/net/minecraftforge/client/event/RenderItemInFrameEvent.java index 8866adde4d..250fa9c86c 100644 --- a/src/main/java/net/minecraftforge/client/event/RenderItemInFrameEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RenderItemInFrameEvent.java @@ -47,7 +47,7 @@ public class RenderItemInFrameEvent extends Event public RenderItemInFrameEvent(ItemFrameEntity itemFrame, ItemFrameRenderer renderItemFrame, MatrixStack matrix, IRenderTypeBuffer buffers, int light) { - item = itemFrame.getDisplayedItem(); + item = itemFrame.getItem(); entityItemFrame = itemFrame; renderer = renderItemFrame; this.matrix = matrix; diff --git a/src/main/java/net/minecraftforge/client/event/sound/PlaySoundEvent.java b/src/main/java/net/minecraftforge/client/event/sound/PlaySoundEvent.java index feda89cab3..aeccf9e872 100644 --- a/src/main/java/net/minecraftforge/client/event/sound/PlaySoundEvent.java +++ b/src/main/java/net/minecraftforge/client/event/sound/PlaySoundEvent.java @@ -38,7 +38,7 @@ public class PlaySoundEvent extends SoundEvent { super(manager); this.sound = sound; - this.name = sound.getSoundLocation().getPath(); + this.name = sound.getLocation().getPath(); this.setResultSound(sound); } diff --git a/src/main/java/net/minecraftforge/client/event/sound/SoundEvent.java b/src/main/java/net/minecraftforge/client/event/sound/SoundEvent.java index 4664f8ddc5..4d01195fa2 100644 --- a/src/main/java/net/minecraftforge/client/event/sound/SoundEvent.java +++ b/src/main/java/net/minecraftforge/client/event/sound/SoundEvent.java @@ -46,7 +46,7 @@ public class SoundEvent extends net.minecraftforge.eventbus.api.Event public SoundSourceEvent(SoundEngine manager, ISound sound, SoundSource source) { super(manager); - this.name = sound.getSoundLocation().getPath(); + this.name = sound.getLocation().getPath(); this.sound = sound; this.source = source; } diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java b/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java index a334e4040d..c50057e538 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeBakedModel.java @@ -55,7 +55,7 @@ public interface IForgeBakedModel return getBakedModel().getQuads(state, side, rand); } - default boolean isAmbientOcclusion(BlockState state) { return getBakedModel().isAmbientOcclusion(); } + default boolean isAmbientOcclusion(BlockState state) { return getBakedModel().useAmbientOcclusion(); } /** * Override to tell the new model loader that it shouldn't wrap this model @@ -78,7 +78,7 @@ public interface IForgeBakedModel default TextureAtlasSprite getParticleTexture(@Nonnull IModelData data) { - return getBakedModel().getParticleTexture(); + return getBakedModel().getParticleIcon(); } /** @@ -94,6 +94,6 @@ public interface IForgeBakedModel */ default List> getLayerModels(ItemStack itemStack, boolean fabulous) { - return Collections.singletonList(Pair.of(getBakedModel(), RenderTypeLookup.func_239219_a_(itemStack, fabulous))); + return Collections.singletonList(Pair.of(getBakedModel(), RenderTypeLookup.getRenderType(itemStack, fabulous))); } } diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeKeybinding.java b/src/main/java/net/minecraftforge/client/extensions/IForgeKeybinding.java index cc90c063e8..4e6dc0b672 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeKeybinding.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeKeybinding.java @@ -37,12 +37,12 @@ public interface IForgeKeybinding */ default boolean isActiveAndMatches(InputMappings.Input keyCode) { - return keyCode != InputMappings.INPUT_INVALID && keyCode.equals(getKey()) && getKeyConflictContext().isActive() && getKeyModifier().isActive(getKeyConflictContext()); + return keyCode != InputMappings.UNKNOWN && keyCode.equals(getKey()) && getKeyConflictContext().isActive() && getKeyModifier().isActive(getKeyConflictContext()); } default void setToDefault() { - setKeyModifierAndCode(getKeyModifierDefault(), getKeyBinding().getDefault()); + setKeyModifierAndCode(getKeyModifierDefault(), getKeyBinding().getDefaultKey()); } void setKeyConflictContext(IKeyConflictContext keyConflictContext); diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java b/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java index ee3bc6a16b..b2b12c57ed 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeRenderChunk.java @@ -40,6 +40,6 @@ public interface IForgeRenderChunk */ default ChunkRenderCache createRegionRenderCache(World world, BlockPos from, BlockPos to, int subtract) { - return ChunkRenderCache.generateCache(world, from, to, subtract); + return ChunkRenderCache.createIfNotEmpty(world, from, to, subtract); } } diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeTransformationMatrix.java b/src/main/java/net/minecraftforge/client/extensions/IForgeTransformationMatrix.java index fd97aaf85a..c8a0d54a6c 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeTransformationMatrix.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeTransformationMatrix.java @@ -41,17 +41,17 @@ public interface IForgeTransformationMatrix default void push(MatrixStack stack) { - stack.push(); + stack.pushPose(); Vector3f trans = getTransformaion().getTranslation(); - stack.translate(trans.getX(), trans.getY(), trans.getZ()); + stack.translate(trans.x(), trans.y(), trans.z()); - stack.rotate(getTransformaion().getRotationLeft()); + stack.mulPose(getTransformaion().getLeftRotation()); Vector3f scale = getTransformaion().getScale(); - stack.scale(scale.getX(), scale.getY(), scale.getZ()); + stack.scale(scale.x(), scale.y(), scale.z()); - stack.rotate(getTransformaion().getRightRot()); + stack.mulPose(getTransformaion().getRightRot()); } @@ -60,7 +60,7 @@ public interface IForgeTransformationMatrix if (getTransformaion().isIdentity()) return other; if (other.isIdentity()) return getTransformaion(); Matrix4f m = getTransformaion().getMatrix(); - m.mul(other.getMatrix()); + m.multiply(other.getMatrix()); return new TransformationMatrix(m); } @@ -85,7 +85,7 @@ public interface IForgeTransformationMatrix default Direction rotateTransform(Direction facing) { - return Direction.rotateFace(getTransformaion().getMatrix(), facing); + return Direction.rotate(getTransformaion().getMatrix(), facing); } /** @@ -114,11 +114,11 @@ public interface IForgeTransformationMatrix if (transform.isIdentity()) return TransformationMatrix.identity(); Matrix4f ret = transform.getMatrix(); - Matrix4f tmp = Matrix4f.makeTranslate(origin.getX(), origin.getY(), origin.getZ()); + Matrix4f tmp = Matrix4f.createTranslateMatrix(origin.x(), origin.y(), origin.z()); ret.multiplyBackward(tmp); tmp.setIdentity(); - tmp.setTranslation(-origin.getX(), -origin.getY(), -origin.getZ()); - ret.mul(tmp); + tmp.setTranslation(-origin.x(), -origin.y(), -origin.z()); + ret.multiply(tmp); return new TransformationMatrix(ret); } } diff --git a/src/main/java/net/minecraftforge/client/extensions/IForgeVertexBuilder.java b/src/main/java/net/minecraftforge/client/extensions/IForgeVertexBuilder.java index b6a0b9c4ef..a09f3be41b 100644 --- a/src/main/java/net/minecraftforge/client/extensions/IForgeVertexBuilder.java +++ b/src/main/java/net/minecraftforge/client/extensions/IForgeVertexBuilder.java @@ -55,16 +55,16 @@ public interface IForgeVertexBuilder // Copy of addQuad with alpha support default void addVertexData(MatrixStack.Entry matrixEntry, BakedQuad bakedQuad, float[] baseBrightness, float red, float green, float blue, float alpha, int[] lightmapCoords, int overlayCoords, boolean readExistingColor) { - int[] aint = bakedQuad.getVertexData(); - Vector3i faceNormal = bakedQuad.getFace().getDirectionVec(); + int[] aint = bakedQuad.getVertices(); + Vector3i faceNormal = bakedQuad.getDirection().getNormal(); Vector3f normal = new Vector3f((float)faceNormal.getX(), (float)faceNormal.getY(), (float)faceNormal.getZ()); - Matrix4f matrix4f = matrixEntry.getMatrix(); - normal.transform(matrixEntry.getNormal()); + Matrix4f matrix4f = matrixEntry.pose(); + normal.transform(matrixEntry.normal()); int intSize = DefaultVertexFormats.BLOCK.getIntegerSize(); int vertexCount = aint.length / intSize; try (MemoryStack memorystack = MemoryStack.stackPush()) { - ByteBuffer bytebuffer = memorystack.malloc(DefaultVertexFormats.BLOCK.getSize()); + ByteBuffer bytebuffer = memorystack.malloc(DefaultVertexFormats.BLOCK.getVertexSize()); IntBuffer intbuffer = bytebuffer.asIntBuffer(); for(int v = 0; v < vertexCount; ++v) { @@ -98,8 +98,8 @@ public interface IForgeVertexBuilder float f10 = bytebuffer.getFloat(20); Vector4f pos = new Vector4f(f, f1, f2, 1.0F); pos.transform(matrix4f); - applyBakedNormals(normal, bytebuffer, matrixEntry.getNormal()); - ((IVertexBuilder)this).addVertex(pos.getX(), pos.getY(), pos.getZ(), cr, cg, cb, ca, f9, f10, overlayCoords, lightmapCoord, normal.getX(), normal.getY(), normal.getZ()); + applyBakedNormals(normal, bytebuffer, matrixEntry.normal()); + ((IVertexBuilder)this).vertex(pos.x(), pos.y(), pos.z(), cr, cg, cb, ca, f9, f10, overlayCoords, lightmapCoord, normal.x(), normal.y(), normal.z()); } } } diff --git a/src/main/java/net/minecraftforge/client/gui/ForgeIngameGui.java b/src/main/java/net/minecraftforge/client/gui/ForgeIngameGui.java index 5fab606bae..5e4f3b407f 100644 --- a/src/main/java/net/minecraftforge/client/gui/ForgeIngameGui.java +++ b/src/main/java/net/minecraftforge/client/gui/ForgeIngameGui.java @@ -106,26 +106,26 @@ public class ForgeIngameGui extends IngameGui } @Override - public void renderIngameGui(MatrixStack mStack, float partialTicks) + public void render(MatrixStack mStack, float partialTicks) { - this.scaledWidth = this.mc.getMainWindow().getScaledWidth(); - this.scaledHeight = this.mc.getMainWindow().getScaledHeight(); - eventParent = new RenderGameOverlayEvent(mStack, partialTicks, this.mc.getMainWindow()); - renderHealthMount = mc.player.getRidingEntity() instanceof LivingEntity; + this.screenWidth = this.minecraft.getWindow().getGuiScaledWidth(); + this.screenHeight = this.minecraft.getWindow().getGuiScaledHeight(); + eventParent = new RenderGameOverlayEvent(mStack, partialTicks, this.minecraft.getWindow()); + renderHealthMount = minecraft.player.getVehicle() instanceof LivingEntity; renderFood = !renderHealthMount; - renderJumpBar = mc.player.isRidingHorse(); + renderJumpBar = minecraft.player.isRidingJumpable(); right_height = 39; left_height = 39; if (pre(ALL, mStack)) return; - fontrenderer = mc.fontRenderer; + fontrenderer = minecraft.font; //mc.entityRenderer.setupOverlayRendering(); RenderSystem.enableBlend(); - if (renderVignette && Minecraft.isFancyGraphicsEnabled()) + if (renderVignette && Minecraft.useFancyGraphics()) { - renderVignette(mc.getRenderViewEntity()); + renderVignette(minecraft.getCameraEntity()); } else { @@ -135,86 +135,86 @@ public class ForgeIngameGui extends IngameGui if (renderHelmet) renderHelmet(partialTicks, mStack); - if (renderPortal && !mc.player.isPotionActive(Effects.NAUSEA)) + if (renderPortal && !minecraft.player.hasEffect(Effects.CONFUSION)) { - renderPortal(partialTicks); + renderPortalOverlay(partialTicks); } - if (this.mc.playerController.getCurrentGameType() == GameType.SPECTATOR) + if (this.minecraft.gameMode.getPlayerMode() == GameType.SPECTATOR) { - if (renderSpectatorTooltip) spectatorGui.func_238528_a_(mStack, partialTicks); + if (renderSpectatorTooltip) spectatorGui.renderHotbar(mStack, partialTicks); } - else if (!this.mc.gameSettings.hideGUI) + else if (!this.minecraft.options.hideGui) { if (renderHotbar) renderHotbar(partialTicks, mStack); } - if (!this.mc.gameSettings.hideGUI) { + if (!this.minecraft.options.hideGui) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); setBlitOffset(-90); - rand.setSeed((long)(ticks * 312871)); + random.setSeed((long)(tickCount * 312871)); - if (renderCrosshairs) func_238456_d_(mStack); + if (renderCrosshairs) renderCrosshair(mStack); if (renderBossHealth) renderBossHealth(mStack); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - if (this.mc.playerController.shouldDrawHUD() && this.mc.getRenderViewEntity() instanceof PlayerEntity) + if (this.minecraft.gameMode.canHurtPlayer() && this.minecraft.getCameraEntity() instanceof PlayerEntity) { - if (renderHealth) renderHealth(this.scaledWidth, this.scaledHeight, mStack); - if (renderArmor) renderArmor(mStack, this.scaledWidth, this.scaledHeight); - if (renderFood) renderFood(this.scaledWidth, this.scaledHeight, mStack); - if (renderHealthMount) renderHealthMount(this.scaledWidth, this.scaledHeight, mStack); - if (renderAir) renderAir(this.scaledWidth, this.scaledHeight, mStack); + if (renderHealth) renderHealth(this.screenWidth, this.screenHeight, mStack); + if (renderArmor) renderArmor(mStack, this.screenWidth, this.screenHeight); + if (renderFood) renderFood(this.screenWidth, this.screenHeight, mStack); + if (renderHealthMount) renderHealthMount(this.screenWidth, this.screenHeight, mStack); + if (renderAir) renderAir(this.screenWidth, this.screenHeight, mStack); } if (renderJumpBar) { - renderHorseJumpBar(mStack, this.scaledWidth / 2 - 91); + renderJumpMeter(mStack, this.screenWidth / 2 - 91); } else if (renderExperiance) { - renderExperience(this.scaledWidth / 2 - 91, mStack); + renderExperience(this.screenWidth / 2 - 91, mStack); } - if (this.mc.gameSettings.heldItemTooltips && this.mc.playerController.getCurrentGameType() != GameType.SPECTATOR) { - this.func_238453_b_(mStack); - } else if (this.mc.player.isSpectator()) { - this.spectatorGui.func_238527_a_(mStack); + if (this.minecraft.options.heldItemTooltips && this.minecraft.gameMode.getPlayerMode() != GameType.SPECTATOR) { + this.renderSelectedItemName(mStack); + } else if (this.minecraft.player.isSpectator()) { + this.spectatorGui.renderTooltip(mStack); } } - renderSleepFade(this.scaledWidth, this.scaledHeight, mStack); + renderSleepFade(this.screenWidth, this.screenHeight, mStack); - renderHUDText(this.scaledWidth, this.scaledHeight, mStack); + renderHUDText(this.screenWidth, this.screenHeight, mStack); renderFPSGraph(mStack); - renderPotionIcons(mStack); - if (!mc.gameSettings.hideGUI) { - renderRecordOverlay(this.scaledWidth, this.scaledHeight, partialTicks, mStack); + renderEffects(mStack); + if (!minecraft.options.hideGui) { + renderRecordOverlay(this.screenWidth, this.screenHeight, partialTicks, mStack); renderSubtitles(mStack); - renderTitle(this.scaledWidth, this.scaledHeight, partialTicks, mStack); + renderTitle(this.screenWidth, this.screenHeight, partialTicks, mStack); } - Scoreboard scoreboard = this.mc.world.getScoreboard(); + Scoreboard scoreboard = this.minecraft.level.getScoreboard(); ScoreObjective objective = null; - ScorePlayerTeam scoreplayerteam = scoreboard.getPlayersTeam(mc.player.getScoreboardName()); + ScorePlayerTeam scoreplayerteam = scoreboard.getPlayersTeam(minecraft.player.getScoreboardName()); if (scoreplayerteam != null) { - int slot = scoreplayerteam.getColor().getColorIndex(); - if (slot >= 0) objective = scoreboard.getObjectiveInDisplaySlot(3 + slot); + int slot = scoreplayerteam.getColor().getId(); + if (slot >= 0) objective = scoreboard.getDisplayObjective(3 + slot); } - ScoreObjective scoreobjective1 = objective != null ? objective : scoreboard.getObjectiveInDisplaySlot(1); + ScoreObjective scoreobjective1 = objective != null ? objective : scoreboard.getDisplayObjective(1); if (renderObjective && scoreobjective1 != null) { - this.func_238447_a_(mStack, scoreobjective1); + this.displayScoreboardSidebar(mStack, scoreobjective1); } RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); RenderSystem.disableAlphaTest(); - renderChat(this.scaledWidth, this.scaledHeight, mStack); + renderChat(this.screenWidth, this.screenHeight, mStack); - renderPlayerList(this.scaledWidth, this.scaledHeight, mStack); + renderPlayerList(this.screenWidth, this.screenHeight, mStack); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.enableAlphaTest(); @@ -223,28 +223,28 @@ public class ForgeIngameGui extends IngameGui } @Override - protected void func_238456_d_(MatrixStack mStack) + protected void renderCrosshair(MatrixStack mStack) { if (pre(CROSSHAIRS, mStack)) return; bind(AbstractGui.GUI_ICONS_LOCATION); RenderSystem.enableBlend(); RenderSystem.enableAlphaTest(); - super.func_238456_d_(mStack); + super.renderCrosshair(mStack); post(CROSSHAIRS, mStack); } @Override - protected void renderPotionIcons(MatrixStack mStack) + protected void renderEffects(MatrixStack mStack) { if (pre(POTION_ICONS, mStack)) return; - super.renderPotionIcons(mStack); + super.renderEffects(mStack); post(POTION_ICONS, mStack); } protected void renderSubtitles(MatrixStack mStack) { if (pre(SUBTITLES, mStack)) return; - this.overlaySubtitle.render(mStack); + this.subtitleOverlay.render(mStack); post(SUBTITLES, mStack); } @@ -253,11 +253,11 @@ public class ForgeIngameGui extends IngameGui if (pre(BOSSHEALTH, mStack)) return; bind(AbstractGui.GUI_ICONS_LOCATION); RenderSystem.defaultBlendFunc(); - mc.getProfiler().startSection("bossHealth"); + minecraft.getProfiler().push("bossHealth"); RenderSystem.enableBlend(); - this.overlayBoss.func_238484_a_(mStack); + this.bossOverlay.render(mStack); RenderSystem.disableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(BOSSHEALTH, mStack); } @@ -281,18 +281,18 @@ public class ForgeIngameGui extends IngameGui { if (pre(HELMET, mStack)) return; - ItemStack itemstack = this.mc.player.inventory.armorItemInSlot(3); + ItemStack itemstack = this.minecraft.player.inventory.getArmor(3); - if (this.mc.gameSettings.getPointOfView().func_243192_a() && !itemstack.isEmpty()) + if (this.minecraft.options.getCameraType().isFirstPerson() && !itemstack.isEmpty()) { Item item = itemstack.getItem(); if (item == Blocks.CARVED_PUMPKIN.asItem()) { - renderPumpkinOverlay(); + renderPumpkin(); } else { - item.renderHelmetOverlay(itemstack, mc.player, this.scaledWidth, this.scaledHeight, partialTicks); + item.renderHelmetOverlay(itemstack, minecraft.player, this.screenWidth, this.screenHeight, partialTicks); } } @@ -302,13 +302,13 @@ public class ForgeIngameGui extends IngameGui protected void renderArmor(MatrixStack mStack, int width, int height) { if (pre(ARMOR, mStack)) return; - mc.getProfiler().startSection("armor"); + minecraft.getProfiler().push("armor"); RenderSystem.enableBlend(); int left = width / 2 - 91; int top = height - left_height; - int level = mc.player.getTotalArmorValue(); + int level = minecraft.player.getArmorValue(); for (int i = 1; level > 0 && i < 20; i += 2) { if (i < level) @@ -328,21 +328,21 @@ public class ForgeIngameGui extends IngameGui left_height += 10; RenderSystem.disableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(ARMOR, mStack); } @Override - protected void renderPortal(float partialTicks) + protected void renderPortalOverlay(float partialTicks) { MatrixStack mStack = new MatrixStack(); if (pre(PORTAL, mStack)) return; - float f1 = mc.player.prevTimeInPortal + (mc.player.timeInPortal - mc.player.prevTimeInPortal) * partialTicks; + float f1 = minecraft.player.oPortalTime + (minecraft.player.portalTime - minecraft.player.oPortalTime) * partialTicks; if (f1 > 0.0F) { - super.renderPortal(f1); + super.renderPortalOverlay(f1); } post(PORTAL, mStack); @@ -353,9 +353,9 @@ public class ForgeIngameGui extends IngameGui { if (pre(HOTBAR, mStack)) return; - if (mc.playerController.getCurrentGameType() == GameType.SPECTATOR) + if (minecraft.gameMode.getPlayerMode() == GameType.SPECTATOR) { - this.spectatorGui.func_238528_a_(mStack, partialTicks); + this.spectatorGui.renderHotbar(mStack, partialTicks); } else { @@ -368,14 +368,14 @@ public class ForgeIngameGui extends IngameGui protected void renderAir(int width, int height, MatrixStack mStack) { if (pre(AIR, mStack)) return; - mc.getProfiler().startSection("air"); - PlayerEntity player = (PlayerEntity)this.mc.getRenderViewEntity(); + minecraft.getProfiler().push("air"); + PlayerEntity player = (PlayerEntity)this.minecraft.getCameraEntity(); RenderSystem.enableBlend(); int left = width / 2 + 91; int top = height - right_height; - int air = player.getAir(); - if (player.areEyesInFluid(FluidTags.WATER) || air < 300) + int air = player.getAirSupply(); + if (player.isEyeInFluid(FluidTags.WATER) || air < 300) { int full = MathHelper.ceil((double)(air - 2) * 10.0D / 300.0D); int partial = MathHelper.ceil((double)air * 10.0D / 300.0D) - full; @@ -388,7 +388,7 @@ public class ForgeIngameGui extends IngameGui } RenderSystem.disableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(AIR, mStack); } @@ -396,33 +396,33 @@ public class ForgeIngameGui extends IngameGui { bind(GUI_ICONS_LOCATION); if (pre(HEALTH, mStack)) return; - mc.getProfiler().startSection("health"); + minecraft.getProfiler().push("health"); RenderSystem.enableBlend(); - PlayerEntity player = (PlayerEntity)this.mc.getRenderViewEntity(); + PlayerEntity player = (PlayerEntity)this.minecraft.getCameraEntity(); int health = MathHelper.ceil(player.getHealth()); - boolean highlight = healthUpdateCounter > (long)ticks && (healthUpdateCounter - (long)ticks) / 3L %2L == 1L; + boolean highlight = healthBlinkTime > (long)tickCount && (healthBlinkTime - (long)tickCount) / 3L %2L == 1L; - if (health < this.playerHealth && player.hurtResistantTime > 0) + if (health < this.lastHealth && player.invulnerableTime > 0) { - this.lastSystemTime = Util.milliTime(); - this.healthUpdateCounter = (long)(this.ticks + 20); + this.lastHealthTime = Util.getMillis(); + this.healthBlinkTime = (long)(this.tickCount + 20); } - else if (health > this.playerHealth && player.hurtResistantTime > 0) + else if (health > this.lastHealth && player.invulnerableTime > 0) { - this.lastSystemTime = Util.milliTime(); - this.healthUpdateCounter = (long)(this.ticks + 10); + this.lastHealthTime = Util.getMillis(); + this.healthBlinkTime = (long)(this.tickCount + 10); } - if (Util.milliTime() - this.lastSystemTime > 1000L) + if (Util.getMillis() - this.lastHealthTime > 1000L) { - this.playerHealth = health; - this.lastPlayerHealth = health; - this.lastSystemTime = Util.milliTime(); + this.lastHealth = health; + this.displayHealth = health; + this.lastHealthTime = Util.getMillis(); } - this.playerHealth = health; - int healthLast = this.lastPlayerHealth; + this.lastHealth = health; + int healthLast = this.displayHealth; ModifiableAttributeInstance attrMaxHealth = player.getAttribute(Attributes.MAX_HEALTH); float healthMax = (float)attrMaxHealth.getValue(); @@ -431,7 +431,7 @@ public class ForgeIngameGui extends IngameGui int healthRows = MathHelper.ceil((healthMax + absorb) / 2.0F / 10.0F); int rowHeight = Math.max(10 - (healthRows - 2), 3); - this.rand.setSeed((long)(ticks * 312871)); + this.random.setSeed((long)(tickCount * 312871)); int left = width / 2 - 91; int top = height - left_height; @@ -439,16 +439,16 @@ public class ForgeIngameGui extends IngameGui if (rowHeight != 10) left_height += 10 - rowHeight; int regen = -1; - if (player.isPotionActive(Effects.REGENERATION)) + if (player.hasEffect(Effects.REGENERATION)) { - regen = ticks % 25; + regen = tickCount % 25; } - final int TOP = 9 * (mc.world.getWorldInfo().isHardcore() ? 5 : 0); + final int TOP = 9 * (minecraft.level.getLevelData().isHardcore() ? 5 : 0); final int BACKGROUND = (highlight ? 25 : 16); int MARGIN = 16; - if (player.isPotionActive(Effects.POISON)) MARGIN += 36; - else if (player.isPotionActive(Effects.WITHER)) MARGIN += 72; + if (player.hasEffect(Effects.POISON)) MARGIN += 36; + else if (player.hasEffect(Effects.WITHER)) MARGIN += 72; float absorbRemaining = absorb; for (int i = MathHelper.ceil((healthMax + absorb) / 2.0F) - 1; i >= 0; --i) @@ -458,7 +458,7 @@ public class ForgeIngameGui extends IngameGui int x = left + i % 10 * 8; int y = top - row * rowHeight; - if (health <= 4) y += rand.nextInt(2); + if (health <= 4) y += random.nextInt(2); if (i == regen) y -= 2; blit(mStack, x, y, BACKGROUND, TOP, 9, 9); @@ -494,23 +494,23 @@ public class ForgeIngameGui extends IngameGui } RenderSystem.disableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(HEALTH, mStack); } public void renderFood(int width, int height, MatrixStack mStack) { if (pre(FOOD, mStack)) return; - mc.getProfiler().startSection("food"); + minecraft.getProfiler().push("food"); - PlayerEntity player = (PlayerEntity)this.mc.getRenderViewEntity(); + PlayerEntity player = (PlayerEntity)this.minecraft.getCameraEntity(); RenderSystem.enableBlend(); int left = width / 2 + 91; int top = height - right_height; right_height += 10; boolean unused = false;// Unused flag in vanilla, seems to be part of a 'fade out' mechanic - FoodStats stats = mc.player.getFoodStats(); + FoodStats stats = minecraft.player.getFoodData(); int level = stats.getFoodLevel(); for (int i = 0; i < 10; ++i) @@ -521,16 +521,16 @@ public class ForgeIngameGui extends IngameGui int icon = 16; byte background = 0; - if (mc.player.isPotionActive(Effects.HUNGER)) + if (minecraft.player.hasEffect(Effects.HUNGER)) { icon += 36; background = 13; } if (unused) background = 1; //Probably should be a += 1 but vanilla never uses this - if (player.getFoodStats().getSaturationLevel() <= 0.0F && ticks % (level * 3 + 1) == 0) + if (player.getFoodData().getSaturationLevel() <= 0.0F && tickCount % (level * 3 + 1) == 0) { - y = top + (rand.nextInt(3) - 1); + y = top + (random.nextInt(3) - 1); } blit(mStack, x, y, 16 + background * 9, 27, 9, 9); @@ -541,18 +541,18 @@ public class ForgeIngameGui extends IngameGui blit(mStack, x, y, icon + 45, 27, 9, 9); } RenderSystem.disableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(FOOD, mStack); } protected void renderSleepFade(int width, int height, MatrixStack mStack) { - if (mc.player.getSleepTimer() > 0) + if (minecraft.player.getSleepTimer() > 0) { - mc.getProfiler().startSection("sleep"); + minecraft.getProfiler().push("sleep"); RenderSystem.disableDepthTest(); RenderSystem.disableAlphaTest(); - int sleepTime = mc.player.getSleepTimer(); + int sleepTime = minecraft.player.getSleepTimer(); float opacity = (float)sleepTime / 100.0F; if (opacity > 1.0F) @@ -564,7 +564,7 @@ public class ForgeIngameGui extends IngameGui fill(mStack, 0, 0, width, height, color); RenderSystem.enableAlphaTest(); RenderSystem.enableDepthTest(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); } } @@ -575,9 +575,9 @@ public class ForgeIngameGui extends IngameGui RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.disableBlend(); - if (mc.playerController.gameIsSurvivalOrAdventure()) + if (minecraft.gameMode.hasExperience()) { - super.func_238454_b_(mStack, x); + super.renderExperienceBar(mStack, x); } RenderSystem.enableBlend(); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -586,17 +586,17 @@ public class ForgeIngameGui extends IngameGui } @Override - public void renderHorseJumpBar(MatrixStack mStack, int x) + public void renderJumpMeter(MatrixStack mStack, int x) { bind(GUI_ICONS_LOCATION); if (pre(JUMPBAR, mStack)) return; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.disableBlend(); - super.renderHorseJumpBar(mStack, x); + super.renderJumpMeter(mStack, x); RenderSystem.enableBlend(); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); post(JUMPBAR, mStack); @@ -604,25 +604,25 @@ public class ForgeIngameGui extends IngameGui protected void renderHUDText(int width, int height, MatrixStack mStack) { - mc.getProfiler().startSection("forgeHudText"); + minecraft.getProfiler().push("forgeHudText"); RenderSystem.defaultBlendFunc(); ArrayList listL = new ArrayList(); ArrayList listR = new ArrayList(); - if (mc.isDemo()) + if (minecraft.isDemo()) { - long time = mc.world.getGameTime(); + long time = minecraft.level.getGameTime(); if (time >= 120500L) { - listR.add(I18n.format("demo.demoExpired")); + listR.add(I18n.get("demo.demoExpired")); } else { - listR.add(I18n.format("demo.remainingTime", StringUtils.ticksToElapsedTime((int)(120500L - time)))); + listR.add(I18n.get("demo.remainingTime", StringUtils.formatTickDuration((int)(120500L - time)))); } } - if (this.mc.gameSettings.showDebugInfo && !pre(DEBUG, mStack)) + if (this.minecraft.options.renderDebug && !pre(DEBUG, mStack)) { debugOverlay.update(); listL.addAll(debugOverlay.getLeft()); @@ -637,30 +637,30 @@ public class ForgeIngameGui extends IngameGui for (String msg : listL) { if (msg == null) continue; - fill(mStack, 1, top - 1, 2 + fontrenderer.getStringWidth(msg) + 1, top + fontrenderer.FONT_HEIGHT - 1, -1873784752); - fontrenderer.drawString(mStack, msg, 2, top, 14737632); - top += fontrenderer.FONT_HEIGHT; + fill(mStack, 1, top - 1, 2 + fontrenderer.width(msg) + 1, top + fontrenderer.lineHeight - 1, -1873784752); + fontrenderer.draw(mStack, msg, 2, top, 14737632); + top += fontrenderer.lineHeight; } top = 2; for (String msg : listR) { if (msg == null) continue; - int w = fontrenderer.getStringWidth(msg); + int w = fontrenderer.width(msg); int left = width - 2 - w; - fill(mStack, left - 1, top - 1, left + w + 1, top + fontrenderer.FONT_HEIGHT - 1, -1873784752); - fontrenderer.drawString(mStack, msg, left, top, 14737632); - top += fontrenderer.FONT_HEIGHT; + fill(mStack, left - 1, top - 1, left + w + 1, top + fontrenderer.lineHeight - 1, -1873784752); + fontrenderer.draw(mStack, msg, left, top, 14737632); + top += fontrenderer.lineHeight; } } - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); post(TEXT, mStack); } protected void renderFPSGraph(MatrixStack mStack) { - if (this.mc.gameSettings.showDebugInfo && this.mc.gameSettings.showLagometer && !pre(FPS_GRAPH, mStack)) + if (this.minecraft.options.renderDebug && this.minecraft.options.renderFpsChart && !pre(FPS_GRAPH, mStack)) { this.debugOverlay.render(mStack); post(FPS_GRAPH, mStack); @@ -671,7 +671,7 @@ public class ForgeIngameGui extends IngameGui { if (overlayMessageTime > 0) { - mc.getProfiler().startSection("overlayMessage"); + minecraft.getProfiler().push("overlayMessage"); float hue = (float)overlayMessageTime - partialTicks; int opacity = (int)(hue * 255.0F / 20.0F); if (opacity > 255) opacity = 255; @@ -682,31 +682,31 @@ public class ForgeIngameGui extends IngameGui RenderSystem.translatef((float)(width / 2), (float)(height - 68), 0.0F); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - int color = (animateOverlayMessageColor ? MathHelper.hsvToRGB(hue / 50.0F, 0.7F, 0.6F) & WHITE : WHITE); - func_238448_a_(mStack, fontrenderer, -4, fontrenderer.getStringPropertyWidth(overlayMessage), 16777215 | (opacity << 24)); - fontrenderer.func_238422_b_(mStack, overlayMessage.func_241878_f(), -fontrenderer.getStringPropertyWidth(overlayMessage) / 2, -4, color | (opacity << 24)); + int color = (animateOverlayMessageColor ? MathHelper.hsvToRgb(hue / 50.0F, 0.7F, 0.6F) & WHITE : WHITE); + drawBackdrop(mStack, fontrenderer, -4, fontrenderer.width(overlayMessageString), 16777215 | (opacity << 24)); + fontrenderer.draw(mStack, overlayMessageString.getVisualOrderText(), -fontrenderer.width(overlayMessageString) / 2, -4, color | (opacity << 24)); RenderSystem.disableBlend(); RenderSystem.popMatrix(); } - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); } } protected void renderTitle(int width, int height, float partialTicks, MatrixStack mStack) { - if (displayedTitle != null && titlesTimer > 0) + if (title != null && titleTime > 0) { - mc.getProfiler().startSection("titleAndSubtitle"); - float age = (float)this.titlesTimer - partialTicks; + minecraft.getProfiler().push("titleAndSubtitle"); + float age = (float)this.titleTime - partialTicks; int opacity = 255; - if (titlesTimer > titleFadeOut + titleDisplayTime) + if (titleTime > titleFadeOutTime + titleStayTime) { - float f3 = (float)(titleFadeIn + titleDisplayTime + titleFadeOut) - age; - opacity = (int)(f3 * 255.0F / (float)titleFadeIn); + float f3 = (float)(titleFadeInTime + titleStayTime + titleFadeOutTime) - age; + opacity = (int)(f3 * 255.0F / (float)titleFadeInTime); } - if (titlesTimer <= titleFadeOut) opacity = (int)(age * 255.0F / (float)this.titleFadeOut); + if (titleTime <= titleFadeOutTime) opacity = (int)(age * 255.0F / (float)this.titleFadeOutTime); opacity = MathHelper.clamp(opacity, 0, 255); @@ -719,62 +719,62 @@ public class ForgeIngameGui extends IngameGui RenderSystem.pushMatrix(); RenderSystem.scalef(4.0F, 4.0F, 4.0F); int l = opacity << 24 & -16777216; - this.getFontRenderer().func_238407_a_(mStack, this.displayedTitle.func_241878_f(), (float)(-this.getFontRenderer().getStringPropertyWidth(this.displayedTitle) / 2), -10.0F, 16777215 | l); + this.getFont().drawShadow(mStack, this.title.getVisualOrderText(), (float)(-this.getFont().width(this.title) / 2), -10.0F, 16777215 | l); RenderSystem.popMatrix(); - if (this.displayedSubTitle != null) + if (this.subtitle != null) { RenderSystem.pushMatrix(); RenderSystem.scalef(2.0F, 2.0F, 2.0F); - this.getFontRenderer().func_238407_a_(mStack, this.displayedSubTitle.func_241878_f(), (float)(-this.getFontRenderer().getStringPropertyWidth(this.displayedSubTitle) / 2), 5.0F, 16777215 | l); + this.getFont().drawShadow(mStack, this.subtitle.getVisualOrderText(), (float)(-this.getFont().width(this.subtitle) / 2), 5.0F, 16777215 | l); RenderSystem.popMatrix(); } RenderSystem.disableBlend(); RenderSystem.popMatrix(); } - this.mc.getProfiler().endSection(); + this.minecraft.getProfiler().pop(); } } protected void renderChat(int width, int height, MatrixStack mStack) { - mc.getProfiler().startSection("chat"); + minecraft.getProfiler().push("chat"); RenderGameOverlayEvent.Chat event = new RenderGameOverlayEvent.Chat(mStack, eventParent, 0, height - 48); if (MinecraftForge.EVENT_BUS.post(event)) return; RenderSystem.pushMatrix(); RenderSystem.translatef((float) event.getPosX(), (float) event.getPosY(), 0.0F); - persistantChatGUI.func_238492_a_(mStack, ticks); + chat.render(mStack, tickCount); RenderSystem.popMatrix(); post(CHAT, mStack); - mc.getProfiler().endSection(); + minecraft.getProfiler().pop(); } protected void renderPlayerList(int width, int height, MatrixStack mStack) { - ScoreObjective scoreobjective = this.mc.world.getScoreboard().getObjectiveInDisplaySlot(0); - ClientPlayNetHandler handler = mc.player.connection; + ScoreObjective scoreobjective = this.minecraft.level.getScoreboard().getDisplayObjective(0); + ClientPlayNetHandler handler = minecraft.player.connection; - if (mc.gameSettings.keyBindPlayerList.isKeyDown() && (!mc.isIntegratedServerRunning() || handler.getPlayerInfoMap().size() > 1 || scoreobjective != null)) + if (minecraft.options.keyPlayerList.isDown() && (!minecraft.isLocalServer() || handler.getOnlinePlayers().size() > 1 || scoreobjective != null)) { - this.overlayPlayerList.setVisible(true); + this.tabList.setVisible(true); if (pre(PLAYER_LIST, mStack)) return; - this.overlayPlayerList.func_238523_a_(mStack, width, this.mc.world.getScoreboard(), scoreobjective); + this.tabList.render(mStack, width, this.minecraft.level.getScoreboard(), scoreobjective); post(PLAYER_LIST, mStack); } else { - this.overlayPlayerList.setVisible(false); + this.tabList.setVisible(false); } } protected void renderHealthMount(int width, int height, MatrixStack mStack) { - PlayerEntity player = (PlayerEntity)mc.getRenderViewEntity(); - Entity tmp = player.getRidingEntity(); + PlayerEntity player = (PlayerEntity)minecraft.getCameraEntity(); + Entity tmp = player.getVehicle(); if (!(tmp instanceof LivingEntity)) return; bind(GUI_ICONS_LOCATION); @@ -784,7 +784,7 @@ public class ForgeIngameGui extends IngameGui boolean unused = false; int left_align = width / 2 + 91; - mc.getProfiler().endStartSection("mountHealth"); + minecraft.getProfiler().popPush("mountHealth"); RenderSystem.enableBlend(); LivingEntity mount = (LivingEntity)tmp; int health = (int)Math.ceil((double)mount.getHealth()); @@ -833,7 +833,7 @@ public class ForgeIngameGui extends IngameGui } private void bind(ResourceLocation res) { - mc.getTextureManager().bindTexture(res); + minecraft.getTextureManager().bind(res); } private class GuiOverlayDebugForge extends DebugOverlayGui @@ -846,20 +846,20 @@ public class ForgeIngameGui extends IngameGui } public void update() { - Entity entity = this.mc.getRenderViewEntity(); - this.rayTraceBlock = entity.pick(rayTraceDistance, 0.0F, false); - this.rayTraceFluid = entity.pick(rayTraceDistance, 0.0F, true); + Entity entity = this.mc.getCameraEntity(); + this.block = entity.pick(rayTraceDistance, 0.0F, false); + this.liquid = entity.pick(rayTraceDistance, 0.0F, true); } - @Override protected void renderDebugInfoLeft(MatrixStack mStack){} - @Override protected void renderDebugInfoRight(MatrixStack mStack){} + @Override protected void drawGameInformation(MatrixStack mStack){} + @Override protected void drawSystemInformation(MatrixStack mStack){} private List getLeft() { - List ret = this.getDebugInfoLeft(); + List ret = this.getGameInformation(); ret.add(""); - ret.add("Debug: Pie [shift]: " + (this.mc.gameSettings.showDebugProfilerChart ? "visible" : "hidden") + " FPS [alt]: " + (this.mc.gameSettings.showLagometer ? "visible" : "hidden")); + ret.add("Debug: Pie [shift]: " + (this.mc.options.renderDebugCharts ? "visible" : "hidden") + " FPS [alt]: " + (this.mc.options.renderFpsChart ? "visible" : "hidden")); ret.add("For help: press F3 + Q"); return ret; } - private List getRight(){ return this.getDebugInfoRight(); } + private List getRight(){ return this.getSystemInformation(); } } } diff --git a/src/main/java/net/minecraftforge/client/gui/NotificationModUpdateScreen.java b/src/main/java/net/minecraftforge/client/gui/NotificationModUpdateScreen.java index 53e9913426..405c8516ff 100644 --- a/src/main/java/net/minecraftforge/client/gui/NotificationModUpdateScreen.java +++ b/src/main/java/net/minecraftforge/client/gui/NotificationModUpdateScreen.java @@ -73,13 +73,13 @@ public class NotificationModUpdateScreen extends Screen return; } - Minecraft.getInstance().getTextureManager().bindTexture(VERSION_CHECK_ICONS); + Minecraft.getInstance().getTextureManager().bind(VERSION_CHECK_ICONS); RenderSystem.color4f(1, 1, 1, 1); int x = modButton.x; int y = modButton.y; int w = modButton.getWidth(); - int h = modButton.getHeightRealms(); + int h = modButton.getHeight(); blit(mStack, x + w - (h / 2 + 4), y + (h / 2 - 4), showNotification.getSheetOffset() * 8, (showNotification.isAnimated() && ((System.currentTimeMillis() / 800 & 1) == 1)) ? 8 : 0, 8, 8, 64, 16); } diff --git a/src/main/java/net/minecraftforge/client/gui/ScrollPanel.java b/src/main/java/net/minecraftforge/client/gui/ScrollPanel.java index 0a4d306935..9b0b8de4bd 100644 --- a/src/main/java/net/minecraftforge/client/gui/ScrollPanel.java +++ b/src/main/java/net/minecraftforge/client/gui/ScrollPanel.java @@ -189,14 +189,14 @@ public abstract class ScrollPanel extends FocusableGui implements IRenderable this.drawBackground(); Tessellator tess = Tessellator.getInstance(); - BufferBuilder worldr = tess.getBuffer(); + BufferBuilder worldr = tess.getBuilder(); - double scale = client.getMainWindow().getGuiScaleFactor(); + double scale = client.getWindow().getGuiScale(); GL11.glEnable(GL11.GL_SCISSOR_TEST); - GL11.glScissor((int)(left * scale), (int)(client.getMainWindow().getFramebufferHeight() - (bottom * scale)), + GL11.glScissor((int)(left * scale), (int)(client.getWindow().getHeight() - (bottom * scale)), (int)(width * scale), (int)(height * scale)); - if (this.client.world != null) + if (this.client.level != null) { this.drawGradientRect(matrix, this.left, this.top, this.right, this.bottom, 0xC0101010, 0xD0101010); } @@ -204,15 +204,15 @@ public abstract class ScrollPanel extends FocusableGui implements IRenderable { RenderSystem.disableLighting(); RenderSystem.disableFog(); - this.client.getTextureManager().bindTexture(AbstractGui.BACKGROUND_LOCATION); + this.client.getTextureManager().bind(AbstractGui.BACKGROUND_LOCATION); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); final float texScale = 32.0F; worldr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); - worldr.pos(this.left, this.bottom, 0.0D).tex(this.left / texScale, (this.bottom + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); - worldr.pos(this.right, this.bottom, 0.0D).tex(this.right / texScale, (this.bottom + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); - worldr.pos(this.right, this.top, 0.0D).tex(this.right / texScale, (this.top + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); - worldr.pos(this.left, this.top, 0.0D).tex(this.left / texScale, (this.top + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); - tess.draw(); + worldr.vertex(this.left, this.bottom, 0.0D).uv(this.left / texScale, (this.bottom + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); + worldr.vertex(this.right, this.bottom, 0.0D).uv(this.right / texScale, (this.bottom + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); + worldr.vertex(this.right, this.top, 0.0D).uv(this.right / texScale, (this.top + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); + worldr.vertex(this.left, this.top, 0.0D).uv(this.left / texScale, (this.top + (int)this.scrollDistance) / texScale).color(0x20, 0x20, 0x20, 0xFF).endVertex(); + tess.end(); } int baseY = this.top + border - (int)this.scrollDistance; @@ -233,23 +233,23 @@ public abstract class ScrollPanel extends FocusableGui implements IRenderable RenderSystem.disableTexture(); worldr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); - worldr.pos(barLeft, this.bottom, 0.0D).tex(0.0F, 1.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth, this.bottom, 0.0D).tex(1.0F, 1.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth, this.top, 0.0D).tex(1.0F, 0.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); - worldr.pos(barLeft, this.top, 0.0D).tex(0.0F, 0.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); - tess.draw(); + worldr.vertex(barLeft, this.bottom, 0.0D).uv(0.0F, 1.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth, this.bottom, 0.0D).uv(1.0F, 1.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth, this.top, 0.0D).uv(1.0F, 0.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); + worldr.vertex(barLeft, this.top, 0.0D).uv(0.0F, 0.0F).color(0x00, 0x00, 0x00, 0xFF).endVertex(); + tess.end(); worldr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); - worldr.pos(barLeft, barTop + barHeight, 0.0D).tex(0.0F, 1.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth, barTop + barHeight, 0.0D).tex(1.0F, 1.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth, barTop, 0.0D).tex(1.0F, 0.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); - worldr.pos(barLeft, barTop, 0.0D).tex(0.0F, 0.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); - tess.draw(); + worldr.vertex(barLeft, barTop + barHeight, 0.0D).uv(0.0F, 1.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth, barTop + barHeight, 0.0D).uv(1.0F, 1.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth, barTop, 0.0D).uv(1.0F, 0.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); + worldr.vertex(barLeft, barTop, 0.0D).uv(0.0F, 0.0F).color(0x80, 0x80, 0x80, 0xFF).endVertex(); + tess.end(); worldr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); - worldr.pos(barLeft, barTop + barHeight - 1, 0.0D).tex(0.0F, 1.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth - 1, barTop + barHeight - 1, 0.0D).tex(1.0F, 1.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); - worldr.pos(barLeft + barWidth - 1, barTop, 0.0D).tex(1.0F, 0.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); - worldr.pos(barLeft, barTop, 0.0D).tex(0.0F, 0.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); - tess.draw(); + worldr.vertex(barLeft, barTop + barHeight - 1, 0.0D).uv(0.0F, 1.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth - 1, barTop + barHeight - 1, 0.0D).uv(1.0F, 1.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); + worldr.vertex(barLeft + barWidth - 1, barTop, 0.0D).uv(1.0F, 0.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); + worldr.vertex(barLeft, barTop, 0.0D).uv(0.0F, 0.0F).color(0xC0, 0xC0, 0xC0, 0xFF).endVertex(); + tess.end(); } RenderSystem.enableTexture(); @@ -261,11 +261,11 @@ public abstract class ScrollPanel extends FocusableGui implements IRenderable protected void drawGradientRect(MatrixStack mStack, int left, int top, int right, int bottom, int color1, int color2) { - GuiUtils.drawGradientRect(mStack.getLast().getMatrix(), 0, left, top, right, bottom, color1, color2); + GuiUtils.drawGradientRect(mStack.last().pose(), 0, left, top, right, bottom, color1, color2); } @Override - public List getEventListeners() + public List children() { return Collections.emptyList(); } diff --git a/src/main/java/net/minecraftforge/client/model/BakedItemModel.java b/src/main/java/net/minecraftforge/client/model/BakedItemModel.java index e0cf934546..be2e60efdd 100644 --- a/src/main/java/net/minecraftforge/client/model/BakedItemModel.java +++ b/src/main/java/net/minecraftforge/client/model/BakedItemModel.java @@ -61,11 +61,11 @@ public class BakedItemModel implements IBakedModel return guiTransform == null || guiTransform.isIdentity(); } - @Override public boolean isAmbientOcclusion() { return true; } + @Override public boolean useAmbientOcclusion() { return true; } @Override public boolean isGui3d() { return false; } - @Override public boolean isSideLit() { return isSideLit; } - @Override public boolean isBuiltInRenderer() { return false; } - @Override public TextureAtlasSprite getParticleTexture() { return particle; } + @Override public boolean usesBlockLight() { return isSideLit; } + @Override public boolean isCustomRenderer() { return false; } + @Override public TextureAtlasSprite getParticleIcon() { return particle; } @Override public ItemOverrideList getOverrides() { return overrides; } @Override @@ -98,7 +98,7 @@ public class BakedItemModel implements IBakedModel ImmutableList.Builder builder = ImmutableList.builder(); for (BakedQuad quad : originalModel.quads) { - if (quad.getFace() == Direction.SOUTH) + if (quad.getDirection() == Direction.SOUTH) { builder.add(quad); } diff --git a/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java b/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java index 74c863b03d..304a351491 100644 --- a/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java +++ b/src/main/java/net/minecraftforge/client/model/BakedModelWrapper.java @@ -52,9 +52,9 @@ public abstract class BakedModelWrapper implements IBaked } @Override - public boolean isAmbientOcclusion() + public boolean useAmbientOcclusion() { - return originalModel.isAmbientOcclusion(); + return originalModel.useAmbientOcclusion(); } @Override @@ -70,27 +70,27 @@ public abstract class BakedModelWrapper implements IBaked } @Override - public boolean isSideLit() + public boolean usesBlockLight() { - return originalModel.isSideLit(); + return originalModel.usesBlockLight(); } @Override - public boolean isBuiltInRenderer() + public boolean isCustomRenderer() { - return originalModel.isBuiltInRenderer(); + return originalModel.isCustomRenderer(); } @Override - public TextureAtlasSprite getParticleTexture() + public TextureAtlasSprite getParticleIcon() { - return originalModel.getParticleTexture(); + return originalModel.getParticleIcon(); } @Override - public ItemCameraTransforms getItemCameraTransforms() + public ItemCameraTransforms getTransforms() { - return originalModel.getItemCameraTransforms(); + return originalModel.getTransforms(); } @Override diff --git a/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java b/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java index f8e1a9dd29..f749c62159 100644 --- a/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java +++ b/src/main/java/net/minecraftforge/client/model/BlockModelConfiguration.java @@ -95,13 +95,13 @@ public class BlockModelConfiguration implements IModelConfiguration @Override public boolean isTexturePresent(String name) { - return owner.isTexturePresent(name); + return owner.hasTexture(name); } @Override public RenderMaterial resolveTexture(String name) { - return owner.resolveTextureName(name); + return owner.getMaterial(name); } @Override @@ -112,19 +112,19 @@ public class BlockModelConfiguration implements IModelConfiguration @Override public boolean isSideLit() { - return owner.getGuiLight().isSideLit(); + return owner.getGuiLight().lightLikeBlock(); } @Override public boolean useSmoothLighting() { - return owner.isAmbientOcclusion(); + return owner.hasAmbientOcclusion(); } @Override public ItemCameraTransforms getCameraTransforms() { - return owner.getAllTransforms(); + return owner.getTransforms(); } @Override diff --git a/src/main/java/net/minecraftforge/client/model/CompositeModel.java b/src/main/java/net/minecraftforge/client/model/CompositeModel.java index cb1ee14a43..8baa7a9167 100644 --- a/src/main/java/net/minecraftforge/client/model/CompositeModel.java +++ b/src/main/java/net/minecraftforge/client/model/CompositeModel.java @@ -88,7 +88,7 @@ public class CompositeModel implements IDynamicBakedModel } @Override - public boolean isAmbientOcclusion() + public boolean useAmbientOcclusion() { return isAmbientOcclusion; } @@ -100,19 +100,19 @@ public class CompositeModel implements IDynamicBakedModel } @Override - public boolean isSideLit() + public boolean usesBlockLight() { return isSideLit; } @Override - public boolean isBuiltInRenderer() + public boolean isCustomRenderer() { return false; } @Override - public TextureAtlasSprite getParticleTexture() + public TextureAtlasSprite getParticleIcon() { return particle; } @@ -168,14 +168,14 @@ public class CompositeModel implements IDynamicBakedModel public IBakedModel bakeModel(ModelBakery bakery, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation) { - return model.bakeModel(bakery, spriteGetter, new ModelTransformComposition(this.modelTransform, modelTransform, - this.modelTransform.isUvLock() || modelTransform.isUvLock()), modelLocation); + return model.bake(bakery, spriteGetter, new ModelTransformComposition(this.modelTransform, modelTransform, + this.modelTransform.isUvLocked() || modelTransform.isUvLocked()), modelLocation); } @Override public Collection getTextures(IModelConfiguration owner, Function modelGetter, Set> missingTextureErrors) { - return model.getTextures(modelGetter, missingTextureErrors); + return model.getMaterials(modelGetter, missingTextureErrors); } } diff --git a/src/main/java/net/minecraftforge/client/model/DynamicBucketModel.java b/src/main/java/net/minecraftforge/client/model/DynamicBucketModel.java index a3fe1b5f69..5091f267a6 100644 --- a/src/main/java/net/minecraftforge/client/model/DynamicBucketModel.java +++ b/src/main/java/net/minecraftforge/client/model/DynamicBucketModel.java @@ -118,7 +118,7 @@ public final class DynamicBucketModel implements IModelGeometry { diff --git a/src/main/java/net/minecraftforge/client/model/FluidModel.java b/src/main/java/net/minecraftforge/client/model/FluidModel.java index 17d4133039..da277f64ff 100644 --- a/src/main/java/net/minecraftforge/client/model/FluidModel.java +++ b/src/main/java/net/minecraftforge/client/model/FluidModel.java @@ -320,8 +320,8 @@ public final class FluidModel implements IModelGeometry // sides for (int i = 0; i < 4; i++) { - Direction side = Direction.byHorizontalIndex((5 - i) % 4); // [W, S, E, N] - boolean useOverlay = overlay.isPresent() && sideOverlays[side.getHorizontalIndex()]; + Direction side = Direction.from2DDataValue((5 - i) % 4); // [W, S, E, N] + boolean useOverlay = overlay.isPresent() && sideOverlays[side.get2DDataValue()]; int si = i; // local var for lambda capture VertexParameter sideX = j -> x[(si + x[j]) % 4]; @@ -377,8 +377,8 @@ public final class FluidModel implements IModelGeometry putVertex( consumer, side, offset, x.get(vertex), y.get(vertex), z.get(vertex), - texture.getInterpolatedU(u.get(vertex)), - texture.getInterpolatedV(v.get(vertex)) + texture.getU(u.get(vertex)), + texture.getV(v.get(vertex)) ); } @@ -394,9 +394,9 @@ public final class FluidModel implements IModelGeometry switch(elements.get(e).getUsage()) { case POSITION: - float dx = offset ? side.getDirectionVec().getX() * eps : 0f; - float dy = offset ? side.getDirectionVec().getY() * eps : 0f; - float dz = offset ? side.getDirectionVec().getZ() * eps : 0f; + float dx = offset ? side.getNormal().getX() * eps : 0f; + float dy = offset ? side.getNormal().getY() * eps : 0f; + float dz = offset ? side.getNormal().getZ() * eps : 0f; consumer.put(e, x - dx, y - dy, z - dz, 1f); break; case COLOR: @@ -407,9 +407,9 @@ public final class FluidModel implements IModelGeometry consumer.put(e, r, g, b, a); break; case NORMAL: - float offX = (float) side.getXOffset(); - float offY = (float) side.getYOffset(); - float offZ = (float) side.getZOffset(); + float offX = (float) side.getStepX(); + float offY = (float) side.getStepY(); + float offZ = (float) side.getStepZ(); consumer.put(e, offX, offY, offZ, 0f); break; case UV: @@ -427,7 +427,7 @@ public final class FluidModel implements IModelGeometry } @Override - public boolean isAmbientOcclusion() + public boolean useAmbientOcclusion() { return true; } @@ -439,19 +439,19 @@ public final class FluidModel implements IModelGeometry } @Override - public boolean isSideLit() + public boolean usesBlockLight() { return false; } @Override - public boolean isBuiltInRenderer() + public boolean isCustomRenderer() { return false; } @Override - public TextureAtlasSprite getParticleTexture() + public TextureAtlasSprite getParticleIcon() { return still; } diff --git a/src/main/java/net/minecraftforge/client/model/IModelBuilder.java b/src/main/java/net/minecraftforge/client/model/IModelBuilder.java index 77e21b3dd6..c7d945fbf7 100644 --- a/src/main/java/net/minecraftforge/client/model/IModelBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/IModelBuilder.java @@ -30,7 +30,7 @@ public interface IModelBuilder> { static IModelBuilder of(IModelConfiguration owner, ItemOverrideList overrides, TextureAtlasSprite particle) { - return new Simple(new SimpleBakedModel.Builder(owner, overrides).setTexture(particle)); + return new Simple(new SimpleBakedModel.Builder(owner, overrides).particle(particle)); } T addFaceQuad(Direction facing, BakedQuad quad); @@ -49,14 +49,14 @@ public interface IModelBuilder> @Override public Simple addFaceQuad(Direction facing, BakedQuad quad) { - builder.addFaceQuad(facing, quad); + builder.addCulledFace(facing, quad); return this; } @Override public Simple addGeneralQuad(BakedQuad quad) { - builder.addGeneralQuad(quad); + builder.addUnculledFace(quad); return this; } diff --git a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java index cb8f46627d..3a756888af 100644 --- a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java @@ -296,17 +296,17 @@ public final class ItemLayerModel implements IModelGeometry // front builder.add(buildQuad(transform, Direction.NORTH, sprite, tint, fullbright, - 0, 0, 7.5f / 16f, sprite.getMinU(), sprite.getMaxV(), - 0, 1, 7.5f / 16f, sprite.getMinU(), sprite.getMinV(), - 1, 1, 7.5f / 16f, sprite.getMaxU(), sprite.getMinV(), - 1, 0, 7.5f / 16f, sprite.getMaxU(), sprite.getMaxV() + 0, 0, 7.5f / 16f, sprite.getU0(), sprite.getV1(), + 0, 1, 7.5f / 16f, sprite.getU0(), sprite.getV0(), + 1, 1, 7.5f / 16f, sprite.getU1(), sprite.getV0(), + 1, 0, 7.5f / 16f, sprite.getU1(), sprite.getV1() )); // back builder.add(buildQuad(transform, Direction.SOUTH, sprite, tint, fullbright, - 0, 0, 8.5f / 16f, sprite.getMinU(), sprite.getMaxV(), - 1, 0, 8.5f / 16f, sprite.getMaxU(), sprite.getMaxV(), - 1, 1, 8.5f / 16f, sprite.getMaxU(), sprite.getMinV(), - 0, 1, 8.5f / 16f, sprite.getMinU(), sprite.getMinV() + 0, 0, 8.5f / 16f, sprite.getU0(), sprite.getV1(), + 1, 0, 8.5f / 16f, sprite.getU1(), sprite.getV1(), + 1, 1, 8.5f / 16f, sprite.getU1(), sprite.getV0(), + 0, 1, 8.5f / 16f, sprite.getU0(), sprite.getV0() )); return builder.build(); @@ -381,8 +381,8 @@ public final class ItemLayerModel implements IModelGeometry throw new IllegalArgumentException("can't handle z-oriented side"); } - float dx = side.getDirectionVec().getX() * eps / width; - float dy = side.getDirectionVec().getY() * eps / height; + float dx = side.getNormal().getX() * eps / width; + float dy = side.getNormal().getY() * eps / height; float u0 = 16f * (x0 - dx); float u1 = 16f * (x1 - dx); @@ -391,10 +391,10 @@ public final class ItemLayerModel implements IModelGeometry return buildQuad( transform, remap(side), sprite, tint, fullbright, - x0, y0, z0, sprite.getInterpolatedU(u0), sprite.getInterpolatedV(v0), - x1, y1, z0, sprite.getInterpolatedU(u1), sprite.getInterpolatedV(v1), - x1, y1, z1, sprite.getInterpolatedU(u1), sprite.getInterpolatedV(v1), - x0, y0, z1, sprite.getInterpolatedU(u0), sprite.getInterpolatedV(v0) + x0, y0, z0, sprite.getU(u0), sprite.getV(v0), + x1, y1, z0, sprite.getU(u1), sprite.getV(v1), + x1, y1, z1, sprite.getU(u1), sprite.getV(v1), + x0, y0, z1, sprite.getU(u0), sprite.getV(v0) ); } @@ -445,9 +445,9 @@ public final class ItemLayerModel implements IModelGeometry consumer.put(e, 1f, 1f, 1f, 1f); break; case NORMAL: - float offX = (float) side.getXOffset(); - float offY = (float) side.getYOffset(); - float offZ = (float) side.getZOffset(); + float offX = (float) side.getStepX(); + float offY = (float) side.getStepY(); + float offZ = (float) side.getStepZ(); consumer.put(e, offX, offY, offZ, 0f); break; case UV: @@ -484,7 +484,7 @@ public final class ItemLayerModel implements IModelGeometry ImmutableSet.Builder fullbrightLayers = ImmutableSet.builder(); if (modelContents.has("fullbright_layers")) { - JsonArray arr = JSONUtils.getJsonArray(modelContents, "fullbright_layers"); + JsonArray arr = JSONUtils.getAsJsonArray(modelContents, "fullbright_layers"); for(int i=0;i(world); @@ -66,11 +66,11 @@ public class ModelDataManager public static void requestModelDataRefresh(TileEntity te) { Preconditions.checkNotNull(te, "Tile entity must not be null"); - World world = te.getWorld(); + World world = te.getLevel(); cleanCaches(world); - needModelDataRefresh.computeIfAbsent(new ChunkPos(te.getPos()), $ -> Collections.synchronizedSet(new HashSet<>())) - .add(te.getPos()); + needModelDataRefresh.computeIfAbsent(new ChunkPos(te.getBlockPos()), $ -> Collections.synchronizedSet(new HashSet<>())) + .add(te.getBlockPos()); } private static void refreshModelData(World world, ChunkPos chunk) @@ -83,7 +83,7 @@ public class ModelDataManager Map data = modelDataCache.computeIfAbsent(chunk, $ -> new ConcurrentHashMap<>()); for (BlockPos pos : needUpdate) { - TileEntity toUpdate = world.getTileEntity(pos); + TileEntity toUpdate = world.getBlockEntity(pos); if (toUpdate != null && !toUpdate.isRemoved()) { data.put(pos, toUpdate.getModelData()); @@ -99,7 +99,7 @@ public class ModelDataManager @SubscribeEvent public static void onChunkUnload(ChunkEvent.Unload event) { - if (!event.getChunk().getWorldForge().isRemote()) return; + if (!event.getChunk().getWorldForge().isClientSide()) return; ChunkPos chunk = event.getChunk().getPos(); needModelDataRefresh.remove(chunk); @@ -113,7 +113,7 @@ public class ModelDataManager public static Map getModelData(World world, ChunkPos pos) { - Preconditions.checkArgument(world.isRemote, "Cannot request model data for server world"); + Preconditions.checkArgument(world.isClientSide, "Cannot request model data for server world"); refreshModelData(world, pos); return modelDataCache.getOrDefault(pos, Collections.emptyMap()); } diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoader.java b/src/main/java/net/minecraftforge/client/model/ModelLoader.java index 1a1850dd86..3413ae6426 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoader.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoader.java @@ -113,7 +113,7 @@ public final class ModelLoader extends ModelBakery { try { - missingModel = getUnbakedModel(MODEL_MISSING); + missingModel = getModel(MISSING_MODEL_LOCATION); } catch(Exception e) { @@ -130,7 +130,7 @@ public final class ModelLoader extends ModelBakery { try { - return getUnbakedModel(location); + return getModel(location); } catch(Exception e) { @@ -145,7 +145,7 @@ public final class ModelLoader extends ModelBakery { try { - return getUnbakedModel(location); + return getModel(location); } catch(Exception e) { @@ -163,7 +163,7 @@ public final class ModelLoader extends ModelBakery { if (instance == null) { - instance = new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, LOCATION).getSprite(); + instance = new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, LOCATION).sprite(); } return instance; } @@ -230,7 +230,7 @@ public final class ModelLoader extends ModelBakery */ public void onPostBakeEvent(Map modelRegistry) { - IBakedModel missingModel = modelRegistry.get(MODEL_MISSING); + IBakedModel missingModel = modelRegistry.get(MISSING_MODEL_LOCATION); for(Map.Entry entry : loadingExceptions.entrySet()) { // ignoring pure ResourceLocation arguments, all things we care about pass ModelResourceLocation @@ -265,7 +265,7 @@ public final class ModelLoader extends ModelBakery */ public static Function defaultTextureGetter() { - return RenderMaterial::getSprite; + return RenderMaterial::sprite; } public static Function defaultModelGetter() diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java index bf9deb2609..c3a9bd2b8a 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoaderRegistry.java @@ -102,7 +102,7 @@ public class ModelLoaderRegistry synchronized(loaders) { loaders.put(id, loader); - ((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).addReloadListener(loader); + ((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).registerReloadListener(loader); } } @@ -133,7 +133,7 @@ public class ModelLoaderRegistry return null; } - ResourceLocation loader = new ResourceLocation(JSONUtils.getString(object,"loader")); + ResourceLocation loader = new ResourceLocation(JSONUtils.getAsString(object,"loader")); return getModel(loader, deserializationContext, object); } @@ -178,13 +178,13 @@ public class ModelLoaderRegistry @SuppressWarnings("deprecation") public static RenderMaterial blockMaterial(String location) { - return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, new ResourceLocation(location)); + return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, new ResourceLocation(location)); } @SuppressWarnings("deprecation") public static RenderMaterial blockMaterial(ResourceLocation location) { - return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, location); + return new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, location); } @Nullable @@ -264,15 +264,15 @@ public class ModelLoaderRegistry IModelGeometry customModel = blockModel.customData.getCustomGeometry(); IModelTransform customModelState = blockModel.customData.getCustomModelState(); if (customModelState != null) - modelTransform = new ModelTransformComposition(modelTransform, customModelState, modelTransform.isUvLock()); + modelTransform = new ModelTransformComposition(modelTransform, customModelState, modelTransform.isUvLocked()); if (customModel != null) model = customModel.bake(blockModel.customData, modelBakery, spriteGetter, modelTransform, blockModel.getOverrides(modelBakery, otherModel, spriteGetter), modelLocation); else { // handle vanilla item models here, since vanilla has a shortcut for them - if (blockModel.getRootModel() == ModelBakery.MODEL_GENERATED) { - model = ITEM_MODEL_GENERATOR.makeItemModel(spriteGetter, blockModel).bakeModel(modelBakery, blockModel, spriteGetter, modelTransform, modelLocation, guiLight3d); + if (blockModel.getRootModel() == ModelBakery.GENERATION_MARKER) { + model = ITEM_MODEL_GENERATOR.generateBlockModel(spriteGetter, blockModel).bake(modelBakery, blockModel, spriteGetter, modelTransform, modelLocation, guiLight3d); } else { @@ -299,14 +299,14 @@ public class ModelLoaderRegistry public void addQuads(IModelConfiguration owner, IModelBuilder modelBuilder, ModelBakery bakery, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation) { for(BlockPart blockpart : elements) { - for(Direction direction : blockpart.mapFaces.keySet()) { - BlockPartFace blockpartface = blockpart.mapFaces.get(direction); + for(Direction direction : blockpart.faces.keySet()) { + BlockPartFace blockpartface = blockpart.faces.get(direction); TextureAtlasSprite textureatlassprite1 = spriteGetter.apply(owner.resolveTexture(blockpartface.texture)); - if (blockpartface.cullFace == null) { + if (blockpartface.cullForDirection == null) { modelBuilder.addGeneralQuad(BlockModel.makeBakedQuad(blockpart, blockpartface, textureatlassprite1, direction, modelTransform, modelLocation)); } else { modelBuilder.addFaceQuad( - modelTransform.getRotation().rotateTransform(blockpartface.cullFace), + modelTransform.getRotation().rotateTransform(blockpartface.cullForDirection), BlockModel.makeBakedQuad(blockpart, blockpartface, textureatlassprite1, direction, modelTransform, modelLocation)); } } @@ -319,7 +319,7 @@ public class ModelLoaderRegistry Set textures = Sets.newHashSet(); for(BlockPart part : elements) { - for(BlockPartFace face : part.mapFaces.values()) { + for(BlockPartFace face : part.faces.values()) { RenderMaterial texture = owner.resolveTexture(face.texture); if (Objects.equals(texture, MissingTextureSprite.getLocation().toString())) { missingTextureErrors.add(Pair.of(face.texture, owner.getModelName())); @@ -356,7 +356,7 @@ public class ModelLoaderRegistry private List getModelElements(JsonDeserializationContext deserializationContext, JsonObject object) { List list = Lists.newArrayList(); if (object.has("elements")) { - for(JsonElement jsonelement : JSONUtils.getJsonArray(object, "elements")) { + for(JsonElement jsonelement : JSONUtils.getAsJsonArray(object, "elements")) { list.add(deserializationContext.deserialize(jsonelement, BlockPart.class)); } } @@ -398,7 +398,7 @@ public class ModelLoaderRegistry if (jsonobject.has("visibility")) { - JsonObject visibility = JSONUtils.getJsonObject(jsonobject, "visibility"); + JsonObject visibility = JSONUtils.getAsJsonObject(jsonobject, "visibility"); for(Map.Entry part : visibility.entrySet()) { model.customData.visibilityData.setVisibilityState(part.getKey(), part.getValue().getAsBoolean()); diff --git a/src/main/java/net/minecraftforge/client/model/ModelTransformComposition.java b/src/main/java/net/minecraftforge/client/model/ModelTransformComposition.java index 06f0a58ef9..70e1739768 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelTransformComposition.java +++ b/src/main/java/net/minecraftforge/client/model/ModelTransformComposition.java @@ -45,7 +45,7 @@ public class ModelTransformComposition implements IModelTransform } @Override - public boolean isUvLock() + public boolean isUvLocked() { return uvLock; } diff --git a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java index 4191e01ec0..fe561115cd 100644 --- a/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/MultiLayerModel.java @@ -79,7 +79,7 @@ public final class MultiLayerModel implements IModelGeometry Set materials = Sets.newHashSet(); materials.add(owner.resolveTexture("particle")); for (Pair m : models) - materials.addAll(m.getSecond().getTextures(modelGetter, missingTextureErrors)); + materials.addAll(m.getSecond().getMaterials(modelGetter, missingTextureErrors)); return materials; } @@ -89,7 +89,7 @@ public final class MultiLayerModel implements IModelGeometry ImmutableList.Builder> builder = ImmutableList.builder(); for(Pair entry : models) { - builder.add(Pair.of(entry.getFirst(), entry.getSecond().bakeModel(bakery, spriteGetter, modelTransform, modelLocation))); + builder.add(Pair.of(entry.getFirst(), entry.getSecond().bake(bakery, spriteGetter, modelTransform, modelLocation))); } return builder.build(); } @@ -102,7 +102,7 @@ public final class MultiLayerModel implements IModelGeometry return new MultiLayerBakedModel( owner.useSmoothLighting(), owner.isShadedInGui(), owner.isSideLit(), spriteGetter.apply(owner.resolveTexture("particle")), overrides, convertRenderTypes, - missing.bakeModel(bakery, spriteGetter, modelTransform, modelLocation), + missing.bake(bakery, spriteGetter, modelTransform, modelLocation), buildModels(models, modelTransform, bakery, spriteGetter, modelLocation), PerspectiveMapWrapper.getTransforms(new ModelTransformComposition(owner.getCombinedTransform(), modelTransform)) ); @@ -164,7 +164,7 @@ public final class MultiLayerModel implements IModelGeometry } @Override - public boolean isAmbientOcclusion() + public boolean useAmbientOcclusion() { return ambientOcclusion; } @@ -182,19 +182,19 @@ public final class MultiLayerModel implements IModelGeometry } @Override - public boolean isSideLit() + public boolean usesBlockLight() { return isSideLit; } @Override - public boolean isBuiltInRenderer() + public boolean isCustomRenderer() { return false; } @Override - public TextureAtlasSprite getParticleTexture() + public TextureAtlasSprite getParticleIcon() { return particle; } @@ -231,21 +231,21 @@ public final class MultiLayerModel implements IModelGeometry public static BiMap ITEM_RENDER_TYPE_MAPPING = HashBiMap.create(); static { - ITEM_RENDER_TYPE_MAPPING.put(RenderType.getSolid(), ForgeRenderTypes.ITEM_LAYERED_SOLID.get()); - ITEM_RENDER_TYPE_MAPPING.put(RenderType.getCutout(), ForgeRenderTypes.ITEM_LAYERED_CUTOUT.get()); - ITEM_RENDER_TYPE_MAPPING.put(RenderType.getCutoutMipped(), ForgeRenderTypes.ITEM_LAYERED_CUTOUT_MIPPED.get()); - ITEM_RENDER_TYPE_MAPPING.put(RenderType.getTranslucent(), ForgeRenderTypes.ITEM_LAYERED_TRANSLUCENT.get()); + ITEM_RENDER_TYPE_MAPPING.put(RenderType.solid(), ForgeRenderTypes.ITEM_LAYERED_SOLID.get()); + ITEM_RENDER_TYPE_MAPPING.put(RenderType.cutout(), ForgeRenderTypes.ITEM_LAYERED_CUTOUT.get()); + ITEM_RENDER_TYPE_MAPPING.put(RenderType.cutoutMipped(), ForgeRenderTypes.ITEM_LAYERED_CUTOUT_MIPPED.get()); + ITEM_RENDER_TYPE_MAPPING.put(RenderType.translucent(), ForgeRenderTypes.ITEM_LAYERED_TRANSLUCENT.get()); } } public static final class Loader implements IModelLoader { public static final ImmutableBiMap BLOCK_LAYERS = ImmutableBiMap.builder() - .put("solid", RenderType.getSolid()) - .put("cutout", RenderType.getCutout()) - .put("cutout_mipped", RenderType.getCutoutMipped()) - .put("translucent", RenderType.getTranslucent()) - .put("tripwire", RenderType.getTripwire()) + .put("solid", RenderType.solid()) + .put("cutout", RenderType.cutout()) + .put("cutout_mipped", RenderType.cutoutMipped()) + .put("translucent", RenderType.translucent()) + .put("tripwire", RenderType.tripwire()) .build(); public static final Loader INSTANCE = new Loader(); @@ -262,16 +262,16 @@ public final class MultiLayerModel implements IModelGeometry public MultiLayerModel read(JsonDeserializationContext deserializationContext, JsonObject modelContents) { ImmutableList.Builder> builder = ImmutableList.builder(); - JsonObject layersObject = JSONUtils.getJsonObject(modelContents, "layers"); + JsonObject layersObject = JSONUtils.getAsJsonObject(modelContents, "layers"); for(Map.Entry layer : BLOCK_LAYERS.entrySet()) // block layers { String layerName = layer.getKey(); // mc overrides toString to return the ID for the layer if(layersObject.has(layerName)) { - builder.add(Pair.of(layer.getValue(), deserializationContext.deserialize(JSONUtils.getJsonObject(layersObject, layerName), BlockModel.class))); + builder.add(Pair.of(layer.getValue(), deserializationContext.deserialize(JSONUtils.getAsJsonObject(layersObject, layerName), BlockModel.class))); } } - boolean convertRenderTypes = JSONUtils.getBoolean(modelContents, "convert_render_types", true); + boolean convertRenderTypes = JSONUtils.getAsBoolean(modelContents, "convert_render_types", true); return new MultiLayerModel(builder.build(), convertRenderTypes); } } diff --git a/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java b/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java index 58af81f539..8dbf3eca56 100644 --- a/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java +++ b/src/main/java/net/minecraftforge/client/model/PerspectiveMapWrapper.java @@ -78,7 +78,7 @@ public class PerspectiveMapWrapper implements IDynamicBakedModel EnumMap map = new EnumMap<>(ItemCameraTransforms.TransformType.class); for(ItemCameraTransforms.TransformType type : ItemCameraTransforms.TransformType.values()) { - if (transforms.hasCustomTransform(type)) + if (transforms.hasTransform(type)) { map.put(type, TransformationHelper.toTransformation(transforms.getTransform(type))); } @@ -97,7 +97,7 @@ public class PerspectiveMapWrapper implements IDynamicBakedModel { map.put(type, tr); } - else if (transforms.hasCustomTransform(type)) + else if (transforms.hasTransform(type)) { map.put(type, TransformationHelper.toTransformation(transforms.getTransform(type))); } @@ -125,14 +125,14 @@ public class PerspectiveMapWrapper implements IDynamicBakedModel return model; } - @Override public boolean isAmbientOcclusion() { return parent.isAmbientOcclusion(); } + @Override public boolean useAmbientOcclusion() { return parent.useAmbientOcclusion(); } @Override public boolean isAmbientOcclusion(BlockState state) { return parent.isAmbientOcclusion(state); } @Override public boolean isGui3d() { return parent.isGui3d(); } - @Override public boolean isSideLit() { return parent.isSideLit(); } - @Override public boolean isBuiltInRenderer() { return parent.isBuiltInRenderer(); } - @Override public TextureAtlasSprite getParticleTexture() { return parent.getParticleTexture(); } + @Override public boolean usesBlockLight() { return parent.usesBlockLight(); } + @Override public boolean isCustomRenderer() { return parent.isCustomRenderer(); } + @Override public TextureAtlasSprite getParticleIcon() { return parent.getParticleIcon(); } @SuppressWarnings("deprecation") - @Override public ItemCameraTransforms getItemCameraTransforms() { return parent.getItemCameraTransforms(); } + @Override public ItemCameraTransforms getTransforms() { return parent.getTransforms(); } @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, Random rand, IModelData extraData) { return parent.getQuads(state, side, rand, extraData); @@ -165,9 +165,9 @@ public class PerspectiveMapWrapper implements IDynamicBakedModel @Nullable @Override - public IBakedModel getOverrideModel(IBakedModel model, ItemStack stack, @Nullable ClientWorld worldIn, @Nullable LivingEntity entityIn) + public IBakedModel resolve(IBakedModel model, ItemStack stack, @Nullable ClientWorld worldIn, @Nullable LivingEntity entityIn) { - model = parent.getOverrides().getOverrideModel(parent, stack, worldIn, entityIn); + model = parent.getOverrides().resolve(parent, stack, worldIn, entityIn); return new PerspectiveMapWrapper(model, transforms); } diff --git a/src/main/java/net/minecraftforge/client/model/QuadTransformer.java b/src/main/java/net/minecraftforge/client/model/QuadTransformer.java index acdde7aa57..ab8c229bca 100644 --- a/src/main/java/net/minecraftforge/client/model/QuadTransformer.java +++ b/src/main/java/net/minecraftforge/client/model/QuadTransformer.java @@ -46,7 +46,7 @@ public class QuadTransformer private void processVertices(int[] inData, int[] outData) { - int stride = DefaultVertexFormats.BLOCK.getSize(); + int stride = DefaultVertexFormats.BLOCK.getVertexSize(); int count = (inData.length * 4) / stride; for (int i=0;i outputs = Lists.newArrayList(); for(BakedQuad input : inputs) { - int[] inData = input.getVertexData(); + int[] inData = input.getVertices(); int[] outData = Arrays.copyOf(inData, inData.length); processVertices(inData, outData); - outputs.add(new BakedQuad(outData, input.getTintIndex(), input.getFace(), input.getSprite(), input.applyDiffuseLighting())); + outputs.add(new BakedQuad(outData, input.getTintIndex(), input.getDirection(), input.getSprite(), input.isShade())); } return outputs; } @@ -224,7 +224,7 @@ public class QuadTransformer for(BakedQuad input : inputs) { - int[] data = input.getVertexData(); + int[] data = input.getVertices(); processVertices(data, data); } } diff --git a/src/main/java/net/minecraftforge/client/model/SeparatePerspectiveModel.java b/src/main/java/net/minecraftforge/client/model/SeparatePerspectiveModel.java index a24a9551bc..d5fc9f7a55 100644 --- a/src/main/java/net/minecraftforge/client/model/SeparatePerspectiveModel.java +++ b/src/main/java/net/minecraftforge/client/model/SeparatePerspectiveModel.java @@ -57,9 +57,9 @@ public class SeparatePerspectiveModel implements IModelGeometry { - return value.bakeModel(bakery, value, spriteGetter, modelTransform, modelLocation, owner.isSideLit()); + return value.bake(bakery, value, spriteGetter, modelTransform, modelLocation, owner.isSideLit()); })) ); } @@ -68,9 +68,9 @@ public class SeparatePerspectiveModel implements IModelGeometry getTextures(IModelConfiguration owner, Function modelGetter, Set> missingTextureErrors) { Set textures = Sets.newHashSet(); - textures.addAll(baseModel.getTextures(modelGetter, missingTextureErrors)); + textures.addAll(baseModel.getMaterials(modelGetter, missingTextureErrors)); for(BlockModel model : perspectives.values()) - textures.addAll(model.getTextures(modelGetter, missingTextureErrors)); + textures.addAll(model.getMaterials(modelGetter, missingTextureErrors)); return textures; } @@ -102,7 +102,7 @@ public class SeparatePerspectiveModel implements IModelGeometry perspectives = ImmutableMap.builder(); for(Map.Entry perspective : PERSPECTIVES.entrySet()) { if (perspectiveData.has(perspective.getKey())) { - BlockModel perspectiveModel = deserializationContext.deserialize(JSONUtils.getJsonObject(perspectiveData, perspective.getKey()), BlockModel.class); + BlockModel perspectiveModel = deserializationContext.deserialize(JSONUtils.getAsJsonObject(perspectiveData, perspective.getKey()), BlockModel.class); perspectives.put(perspective.getValue(), perspectiveModel); } } diff --git a/src/main/java/net/minecraftforge/client/model/animation/AnimationItemOverrideList.java b/src/main/java/net/minecraftforge/client/model/animation/AnimationItemOverrideList.java index 33f6c045f7..61208fa254 100644 --- a/src/main/java/net/minecraftforge/client/model/animation/AnimationItemOverrideList.java +++ b/src/main/java/net/minecraftforge/client/model/animation/AnimationItemOverrideList.java @@ -63,7 +63,7 @@ public final class AnimationItemOverrideList extends ItemOverrideList @SuppressWarnings("resource") @Override - public IBakedModel getOverrideModel(IBakedModel originalModel, ItemStack stack, @Nullable ClientWorld world, @Nullable LivingEntity entity) + public IBakedModel resolve(IBakedModel originalModel, ItemStack stack, @Nullable ClientWorld world, @Nullable LivingEntity entity) { return stack.getCapability(CapabilityAnimation.ANIMATION_CAPABILITY, null) .map(asm -> @@ -72,16 +72,16 @@ public final class AnimationItemOverrideList extends ItemOverrideList // TODO caching? if(w == null && entity != null) { - w = entity.world; + w = entity.level; } if(world == null) { - w = Minecraft.getInstance().world; + w = Minecraft.getInstance().level; } return asm.apply(Animation.getWorldTime(world, Animation.getPartialTickTime())).getLeft(); }) // TODO where should uvlock data come from? - .map(state -> model.bakeModel(bakery, bakedTextureGetter, new ModelTransformComposition(state, this.state), modelLoc)) - .orElseGet(() -> super.getOverrideModel(originalModel, stack, world, entity)); + .map(state -> model.bake(bakery, bakedTextureGetter, new ModelTransformComposition(state, this.state), modelLoc)) + .orElseGet(() -> super.resolve(originalModel, stack, world, entity)); } } diff --git a/src/main/java/net/minecraftforge/client/model/animation/ModelBlockAnimation.java b/src/main/java/net/minecraftforge/client/model/animation/ModelBlockAnimation.java index 2cba338f34..d6724b3290 100644 --- a/src/main/java/net/minecraftforge/client/model/animation/ModelBlockAnimation.java +++ b/src/main/java/net/minecraftforge/client/model/animation/ModelBlockAnimation.java @@ -540,7 +540,7 @@ public class ModelBlockAnimation { float w = info.getWeights().get(i)[0]; tmp = trOp.getMatrix(); - tmp.mul(w); + tmp.multiply(w); m.add(tmp); weight += w; } @@ -548,7 +548,7 @@ public class ModelBlockAnimation } if(weight > 1e-5) { - m.mul(1f / weight); + m.multiply(1f / weight); return new TransformationMatrix(m); } } diff --git a/src/main/java/net/minecraftforge/client/model/animation/TileEntityRendererAnimation.java b/src/main/java/net/minecraftforge/client/model/animation/TileEntityRendererAnimation.java index 288de4e4d1..c665f2a3a4 100644 --- a/src/main/java/net/minecraftforge/client/model/animation/TileEntityRendererAnimation.java +++ b/src/main/java/net/minecraftforge/client/model/animation/TileEntityRendererAnimation.java @@ -64,17 +64,17 @@ public class TileEntityRendererAnimation extends TileEntit { return; } - if(blockRenderer == null) blockRenderer = Minecraft.getInstance().getBlockRendererDispatcher(); - BlockPos pos = te.getPos(); - IBlockDisplayReader world = MinecraftForgeClient.getRegionRenderCacheOptional(te.getWorld(), pos) - .map(IBlockDisplayReader.class::cast).orElseGet(() -> te.getWorld()); + if(blockRenderer == null) blockRenderer = Minecraft.getInstance().getBlockRenderer(); + BlockPos pos = te.getBlockPos(); + IBlockDisplayReader world = MinecraftForgeClient.getRegionRenderCacheOptional(te.getLevel(), pos) + .map(IBlockDisplayReader.class::cast).orElseGet(() -> te.getLevel()); BlockState state = world.getBlockState(pos); - IBakedModel model = blockRenderer.getBlockModelShapes().getModel(state); - IModelData data = model.getModelData(world, pos, state, ModelDataManager.getModelData(te.getWorld(), pos)); + IBakedModel model = blockRenderer.getBlockModelShaper().getBlockModel(state); + IModelData data = model.getModelData(world, pos, state, ModelDataManager.getModelData(te.getLevel(), pos)); if (data.hasProperty(Properties.AnimationProperty)) { @SuppressWarnings("resource") - float time = Animation.getWorldTime(Minecraft.getInstance().world, partialTick); + float time = Animation.getWorldTime(Minecraft.getInstance().level, partialTick); cap .map(asm -> asm.apply(time)) .ifPresent(pair -> { @@ -82,7 +82,7 @@ public class TileEntityRendererAnimation extends TileEntit // TODO: caching? data.setData(Properties.AnimationProperty, pair.getLeft()); - blockRenderer.getBlockModelRenderer().renderModel(world, model, state, pos, mat, renderer.getBuffer(Atlases.getSolidBlockType()), false, new Random(), 42, light, data); + blockRenderer.getModelRenderer().renderModel(world, model, state, pos, mat, renderer.getBuffer(Atlases.solidBlockSheet()), false, new Random(), 42, light, data); }); } } 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 c1afcca040..3ee3bd2ea0 100644 --- a/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java +++ b/src/main/java/net/minecraftforge/client/model/b3d/B3DLoader.java @@ -447,10 +447,10 @@ public enum B3DLoader implements ISelectiveResourceReloadListener @SuppressWarnings("deprecation") @Override - public Collection getTextures(Function modelGetter, Set> missingTextureErrors) + public Collection getMaterials(Function modelGetter, Set> missingTextureErrors) { return textures.values().stream().filter(loc -> !loc.startsWith("#")) - .map(t -> new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, new ResourceLocation(t))) + .map(t -> new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, new ResourceLocation(t))) .collect(Collectors.toList()); } @@ -463,10 +463,10 @@ public enum B3DLoader implements ISelectiveResourceReloadListener @SuppressWarnings("deprecation") @Nullable @Override - public IBakedModel bakeModel(ModelBakery bakery, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation) + public IBakedModel bake(ModelBakery bakery, Function spriteGetter, IModelTransform modelTransform, ResourceLocation modelLocation) { ImmutableMap.Builder builder = ImmutableMap.builder(); - TextureAtlasSprite missing = spriteGetter.apply(new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, MissingTextureSprite.getLocation())); + TextureAtlasSprite missing = spriteGetter.apply(new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, MissingTextureSprite.getLocation())); for(Map.Entry e : textures.entrySet()) { if(e.getValue().startsWith("#")) @@ -476,7 +476,7 @@ public enum B3DLoader implements ISelectiveResourceReloadListener } else { - builder.put(e.getKey(), spriteGetter.apply(new RenderMaterial(AtlasTexture.LOCATION_BLOCKS_TEXTURE, new ResourceLocation(e.getValue())))); + builder.put(e.getKey(), spriteGetter.apply(new RenderMaterial(AtlasTexture.LOCATION_BLOCKS, new ResourceLocation(e.getValue())))); } } builder.put("missingno", missing); @@ -724,7 +724,7 @@ public enum B3DLoader implements ISelectiveResourceReloadListener else sprite = this.textures.get(textures.get(0).getPath()); BakedQuadBuilder quadBuilder = new BakedQuadBuilder(sprite); quadBuilder.setContractUVs(true); - quadBuilder.setQuadOrientation(Direction.getFacingFromVector(f.getNormal().getX(), f.getNormal().getY(), f.getNormal().getZ())); + quadBuilder.setQuadOrientation(Direction.getNearest(f.getNormal().x(), f.getNormal().y(), f.getNormal().z())); putVertexData(quadBuilder, f.getV1(), f.getNormal(), sprite); putVertexData(quadBuilder, f.getV2(), f.getNormal(), sprite); putVertexData(quadBuilder, f.getV3(), f.getNormal(), sprite); @@ -743,12 +743,12 @@ public enum B3DLoader implements ISelectiveResourceReloadListener switch(vertexFormatElements.get(e).getUsage()) { case POSITION: - consumer.put(e, v.getPos().getX(), v.getPos().getY(), v.getPos().getZ(), 1); + consumer.put(e, v.getPos().x(), v.getPos().y(), v.getPos().z(), 1); break; case COLOR: if(v.getColor() != null) { - consumer.put(e, v.getColor().getX(), v.getColor().getY(), v.getColor().getZ(), v.getColor().getW()); + consumer.put(e, v.getColor().x(), v.getColor().y(), v.getColor().z(), v.getColor().w()); } else { @@ -760,8 +760,8 @@ public enum B3DLoader implements ISelectiveResourceReloadListener if(vertexFormatElements.get(e).getIndex() < v.getTexCoords().length) { consumer.put(e, - sprite.getInterpolatedU(v.getTexCoords()[0].getX() * 16), - sprite.getInterpolatedV(v.getTexCoords()[0].getY() * 16), + sprite.getU(v.getTexCoords()[0].x() * 16), + sprite.getV(v.getTexCoords()[0].y() * 16), 0, 1 ); @@ -774,11 +774,11 @@ public enum B3DLoader implements ISelectiveResourceReloadListener case NORMAL: if(v.getNormal() != null) { - consumer.put(e, v.getNormal().getX(), v.getNormal().getY(), v.getNormal().getZ(), 0); + consumer.put(e, v.getNormal().x(), v.getNormal().y(), v.getNormal().z(), 0); } else { - consumer.put(e, faceNormal.getX(), faceNormal.getY(), faceNormal.getZ(), 0); + consumer.put(e, faceNormal.x(), faceNormal.y(), faceNormal.z(), 0); } break; default: @@ -788,7 +788,7 @@ public enum B3DLoader implements ISelectiveResourceReloadListener } @Override - public boolean isAmbientOcclusion() + public boolean useAmbientOcclusion() { return smooth; } @@ -800,19 +800,19 @@ public enum B3DLoader implements ISelectiveResourceReloadListener } @Override - public boolean isSideLit() + public boolean usesBlockLight() { return isSideLit; } @Override - public boolean isBuiltInRenderer() + public boolean isCustomRenderer() { return false; } @Override - public TextureAtlasSprite getParticleTexture() + public TextureAtlasSprite getParticleIcon() { // FIXME somehow specify particle texture in the model return textures.values().asList().get(0); diff --git a/src/main/java/net/minecraftforge/client/model/b3d/B3DModel.java b/src/main/java/net/minecraftforge/client/model/b3d/B3DModel.java index e21f89f189..0cf56441c7 100644 --- a/src/main/java/net/minecraftforge/client/model/b3d/B3DModel.java +++ b/src/main/java/net/minecraftforge/client/model/b3d/B3DModel.java @@ -670,10 +670,10 @@ public class B3DModel { totalWeight += bone.getLeft(); Matrix4f bm = animator.apply(bone.getRight()); - bm.mul(bone.getLeft()); + bm.multiply(bone.getLeft()); t.add(bm); } - if(Math.abs(totalWeight) > 1e-4) t.mul(1f / totalWeight); + if(Math.abs(totalWeight) > 1e-4) t.multiply(1f / totalWeight); else t.setIdentity(); } @@ -684,7 +684,7 @@ public class B3DModel pos.setW(1); trsr.transformPosition(pos); pos.normalize(); - Vector3f rPos = new Vector3f(pos.getX(), pos.getY(), pos.getZ()); + Vector3f rPos = new Vector3f(pos.x(), pos.y(), pos.z()); // normal Vector3f rNormal = null; diff --git a/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java b/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java index e13ac9fe8c..ec56d1f9b1 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java @@ -101,7 +101,7 @@ public abstract class BlockStateProvider implements IDataProvider { } @Override - public void act(DirectoryCache cache) throws IOException { + public void run(DirectoryCache cache) throws IOException { models().clear(); itemModels().clear(); registeredBlocks.clear(); @@ -241,7 +241,7 @@ public abstract class BlockStateProvider implements IDataProvider { getVariantBuilder(block) .forAllStates(state -> ConfiguredModel.builder() .modelFile(modelFunc.apply(state)) - .rotationY(((int) state.get(BlockStateProperties.HORIZONTAL_FACING).getHorizontalAngle() + angleOffset) % 360) + .rotationY(((int) state.getValue(BlockStateProperties.HORIZONTAL_FACING).toYRot() + angleOffset) % 360) .build() ); } @@ -262,8 +262,8 @@ public abstract class BlockStateProvider implements IDataProvider { getVariantBuilder(block) .forAllStates(state -> ConfiguredModel.builder() .modelFile(modelFunc.apply(state)) - .rotationX(state.get(BlockStateProperties.FACE).ordinal() * 90) - .rotationY((((int) state.get(BlockStateProperties.HORIZONTAL_FACING).getHorizontalAngle() + angleOffset) + (state.get(BlockStateProperties.FACE) == AttachFace.CEILING ? 180 : 0)) % 360) + .rotationX(state.getValue(BlockStateProperties.ATTACH_FACE).ordinal() * 90) + .rotationY((((int) state.getValue(BlockStateProperties.HORIZONTAL_FACING).toYRot() + angleOffset) + (state.getValue(BlockStateProperties.ATTACH_FACE) == AttachFace.CEILING ? 180 : 0)) % 360) .build() ); } @@ -283,11 +283,11 @@ public abstract class BlockStateProvider implements IDataProvider { public void directionalBlock(Block block, Function modelFunc, int angleOffset) { getVariantBuilder(block) .forAllStates(state -> { - Direction dir = state.get(BlockStateProperties.FACING); + Direction dir = state.getValue(BlockStateProperties.FACING); return ConfiguredModel.builder() .modelFile(modelFunc.apply(state)) .rotationX(dir == Direction.DOWN ? 180 : dir.getAxis().isHorizontal() ? 90 : 0) - .rotationY(dir.getAxis().isVertical() ? 0 : (((int) dir.getHorizontalAngle()) + angleOffset) % 360) + .rotationY(dir.getAxis().isVertical() ? 0 : (((int) dir.toYRot()) + angleOffset) % 360) .build(); }); } @@ -318,10 +318,10 @@ public abstract class BlockStateProvider implements IDataProvider { public void stairsBlock(StairsBlock block, ModelFile stairs, ModelFile stairsInner, ModelFile stairsOuter) { getVariantBuilder(block) .forAllStatesExcept(state -> { - Direction facing = state.get(StairsBlock.FACING); - Half half = state.get(StairsBlock.HALF); - StairsShape shape = state.get(StairsBlock.SHAPE); - int yRot = (int) facing.rotateY().getHorizontalAngle(); // Stairs model is rotated 90 degrees clockwise for some reason + Direction facing = state.getValue(StairsBlock.FACING); + Half half = state.getValue(StairsBlock.HALF); + StairsShape shape = state.getValue(StairsBlock.SHAPE); + int yRot = (int) facing.getClockWise().toYRot(); // Stairs model is rotated 90 degrees clockwise for some reason if (shape == StairsShape.INNER_LEFT || shape == StairsShape.OUTER_LEFT) { yRot += 270; // Left facing stairs are rotated 90 degrees clockwise } @@ -361,10 +361,10 @@ public abstract class BlockStateProvider implements IDataProvider { } public void fourWayMultipart(MultiPartBlockStateBuilder builder, ModelFile side) { - SixWayBlock.FACING_TO_PROPERTY_MAP.entrySet().forEach(e -> { + SixWayBlock.PROPERTY_BY_DIRECTION.entrySet().forEach(e -> { Direction dir = e.getKey(); if (dir.getAxis().isHorizontal()) { - builder.part().modelFile(side).rotationY((((int) dir.getHorizontalAngle()) + 180) % 360).uvLock(true).addModel() + builder.part().modelFile(side).rotationY((((int) dir.toYRot()) + 180) % 360).uvLock(true).addModel() .condition(e.getValue(), true); } }); @@ -398,15 +398,15 @@ public abstract class BlockStateProvider implements IDataProvider { public void fenceGateBlock(FenceGateBlock block, ModelFile gate, ModelFile gateOpen, ModelFile gateWall, ModelFile gateWallOpen) { getVariantBuilder(block).forAllStatesExcept(state -> { ModelFile model = gate; - if (state.get(FenceGateBlock.IN_WALL)) { + if (state.getValue(FenceGateBlock.IN_WALL)) { model = gateWall; } - if (state.get(FenceGateBlock.OPEN)) { + if (state.getValue(FenceGateBlock.OPEN)) { model = model == gateWall ? gateWallOpen : gateOpen; } return ConfiguredModel.builder() .modelFile(model) - .rotationY((int) state.get(FenceGateBlock.HORIZONTAL_FACING).getHorizontalAngle()) + .rotationY((int) state.getValue(FenceGateBlock.FACING).toYRot()) .uvLock(true) .build(); }, FenceGateBlock.POWERED); @@ -425,10 +425,10 @@ public abstract class BlockStateProvider implements IDataProvider { } public static final ImmutableMap> WALL_PROPS = ImmutableMap.>builder() - .put(Direction.EAST, BlockStateProperties.WALL_HEIGHT_EAST) - .put(Direction.NORTH, BlockStateProperties.WALL_HEIGHT_NORTH) - .put(Direction.SOUTH, BlockStateProperties.WALL_HEIGHT_SOUTH) - .put(Direction.WEST, BlockStateProperties.WALL_HEIGHT_WEST) + .put(Direction.EAST, BlockStateProperties.EAST_WALL) + .put(Direction.NORTH, BlockStateProperties.NORTH_WALL) + .put(Direction.SOUTH, BlockStateProperties.SOUTH_WALL) + .put(Direction.WEST, BlockStateProperties.WEST_WALL) .build(); public void wallBlock(WallBlock block, ModelFile post, ModelFile side, ModelFile sideTall) { @@ -446,7 +446,7 @@ public abstract class BlockStateProvider implements IDataProvider { private void wallSidePart(MultiPartBlockStateBuilder builder, ModelFile model, Map.Entry> entry, WallHeight height) { builder.part() .modelFile(model) - .rotationY((((int) entry.getKey().getHorizontalAngle()) + 180) % 360) + .rotationY((((int) entry.getKey().toYRot()) + 180) % 360) .uvLock(true) .addModel() .condition(entry.getValue(), height); @@ -472,7 +472,7 @@ public abstract class BlockStateProvider implements IDataProvider { public void paneBlock(PaneBlock block, ModelFile post, ModelFile side, ModelFile sideAlt, ModelFile noSide, ModelFile noSideAlt) { MultiPartBlockStateBuilder builder = getMultipartBuilder(block) .part().modelFile(post).addModel().end(); - SixWayBlock.FACING_TO_PROPERTY_MAP.entrySet().forEach(e -> { + SixWayBlock.PROPERTY_BY_DIRECTION.entrySet().forEach(e -> { Direction dir = e.getKey(); if (dir.getAxis().isHorizontal()) { boolean alt = dir == Direction.SOUTH; @@ -502,9 +502,9 @@ public abstract class BlockStateProvider implements IDataProvider { public void doorBlock(DoorBlock block, ModelFile bottomLeft, ModelFile bottomRight, ModelFile topLeft, ModelFile topRight) { getVariantBuilder(block).forAllStatesExcept(state -> { - int yRot = ((int) state.get(DoorBlock.FACING).getHorizontalAngle()) + 90; - boolean rh = state.get(DoorBlock.HINGE) == DoorHingeSide.RIGHT; - boolean open = state.get(DoorBlock.OPEN); + int yRot = ((int) state.getValue(DoorBlock.FACING).toYRot()) + 90; + boolean rh = state.getValue(DoorBlock.HINGE) == DoorHingeSide.RIGHT; + boolean open = state.getValue(DoorBlock.OPEN); boolean right = rh ^ open; if (open) { yRot += 90; @@ -513,7 +513,7 @@ public abstract class BlockStateProvider implements IDataProvider { yRot += 180; } yRot %= 360; - return ConfiguredModel.builder().modelFile(state.get(DoorBlock.HALF) == DoubleBlockHalf.LOWER ? (right ? bottomRight : bottomLeft) : (right ? topRight : topLeft)) + return ConfiguredModel.builder().modelFile(state.getValue(DoorBlock.HALF) == DoubleBlockHalf.LOWER ? (right ? bottomRight : bottomLeft) : (right ? topRight : topLeft)) .rotationY(yRot) .build(); }, DoorBlock.POWERED); @@ -537,9 +537,9 @@ public abstract class BlockStateProvider implements IDataProvider { public void trapdoorBlock(TrapDoorBlock block, ModelFile bottom, ModelFile top, ModelFile open, boolean orientable) { getVariantBuilder(block).forAllStatesExcept(state -> { int xRot = 0; - int yRot = ((int) state.get(TrapDoorBlock.HORIZONTAL_FACING).getHorizontalAngle()) + 180; - boolean isOpen = state.get(TrapDoorBlock.OPEN); - if (orientable && isOpen && state.get(TrapDoorBlock.HALF) == Half.TOP) { + int yRot = ((int) state.getValue(TrapDoorBlock.FACING).toYRot()) + 180; + boolean isOpen = state.getValue(TrapDoorBlock.OPEN); + if (orientable && isOpen && state.getValue(TrapDoorBlock.HALF) == Half.TOP) { xRot += 180; yRot += 180; } @@ -547,7 +547,7 @@ public abstract class BlockStateProvider implements IDataProvider { yRot = 0; } yRot %= 360; - return ConfiguredModel.builder().modelFile(isOpen ? open : state.get(TrapDoorBlock.HALF) == Half.TOP ? top : bottom) + return ConfiguredModel.builder().modelFile(isOpen ? open : state.getValue(TrapDoorBlock.HALF) == Half.TOP ? top : bottom) .rotationX(xRot) .rotationY(yRot) .build(); diff --git a/src/main/java/net/minecraftforge/client/model/generators/ConfiguredModel.java b/src/main/java/net/minecraftforge/client/model/generators/ConfiguredModel.java index 00a0696749..a362682a50 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/ConfiguredModel.java +++ b/src/main/java/net/minecraftforge/client/model/generators/ConfiguredModel.java @@ -135,7 +135,7 @@ public final class ConfiguredModel { } static void checkRotation(int rotationX, int rotationY) { - Preconditions.checkArgument(ModelRotation.getModelRotation(rotationX, rotationY) != null, "Invalid model rotation x=%d, y=%d", rotationX, rotationY); + Preconditions.checkArgument(ModelRotation.by(rotationX, rotationY) != null, "Invalid model rotation x=%d, y=%d", rotationX, rotationY); } static void checkWeight(int weight) { diff --git a/src/main/java/net/minecraftforge/client/model/generators/ModelBuilder.java b/src/main/java/net/minecraftforge/client/model/generators/ModelBuilder.java index 6d10dc07c2..6c5a00c441 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/ModelBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/generators/ModelBuilder.java @@ -235,14 +235,14 @@ public class ModelBuilder> extends ModelFile { for (Entry e : transforms.entrySet()) { JsonObject transform = new JsonObject(); ItemTransformVec3f vec = e.getValue(); - if (vec.equals(ItemTransformVec3f.DEFAULT)) continue; - if (!vec.rotation.equals(ItemTransformVec3f.Deserializer.ROTATION_DEFAULT)) { + if (vec.equals(ItemTransformVec3f.NO_TRANSFORM)) continue; + if (!vec.rotation.equals(ItemTransformVec3f.Deserializer.DEFAULT_ROTATION)) { transform.add("rotation", serializeVector3f(vec.rotation)); } - if (!vec.translation.equals(ItemTransformVec3f.Deserializer.TRANSLATION_DEFAULT)) { + if (!vec.translation.equals(ItemTransformVec3f.Deserializer.DEFAULT_TRANSLATION)) { transform.add("translation", serializeVector3f(e.getValue().translation)); } - if (!vec.scale.equals(ItemTransformVec3f.Deserializer.SCALE_DEFAULT)) { + if (!vec.scale.equals(ItemTransformVec3f.Deserializer.DEFAULT_SCALE)) { transform.add("scale", serializeVector3f(e.getValue().scale)); } display.add(e.getKey().name, transform); @@ -262,16 +262,16 @@ public class ModelBuilder> extends ModelFile { JsonArray elements = new JsonArray(); this.elements.stream().map(ElementBuilder::build).forEach(part -> { JsonObject partObj = new JsonObject(); - partObj.add("from", serializeVector3f(part.positionFrom)); - partObj.add("to", serializeVector3f(part.positionTo)); + partObj.add("from", serializeVector3f(part.from)); + partObj.add("to", serializeVector3f(part.to)); - if (part.partRotation != null) { + if (part.rotation != null) { JsonObject rotation = new JsonObject(); - rotation.add("origin", serializeVector3f(part.partRotation.origin)); - rotation.addProperty("axis", part.partRotation.axis.getString()); - rotation.addProperty("angle", part.partRotation.angle); - if (part.partRotation.rescale) { - rotation.addProperty("rescale", part.partRotation.rescale); + rotation.add("origin", serializeVector3f(part.rotation.origin)); + rotation.addProperty("axis", part.rotation.axis.getSerializedName()); + rotation.addProperty("angle", part.rotation.angle); + if (part.rotation.rescale) { + rotation.addProperty("rescale", part.rotation.rescale); } partObj.add("rotation", rotation); } @@ -282,26 +282,26 @@ public class ModelBuilder> extends ModelFile { JsonObject faces = new JsonObject(); for (Direction dir : Direction.values()) { - BlockPartFace face = part.mapFaces.get(dir); + BlockPartFace face = part.faces.get(dir); if (face == null) continue; JsonObject faceObj = new JsonObject(); faceObj.addProperty("texture", serializeLocOrKey(face.texture)); - if (!Arrays.equals(face.blockFaceUV.uvs, part.getFaceUvs(dir))) { - faceObj.add("uv", new Gson().toJsonTree(face.blockFaceUV.uvs)); + if (!Arrays.equals(face.uv.uvs, part.uvsByFace(dir))) { + faceObj.add("uv", new Gson().toJsonTree(face.uv.uvs)); } - if (face.cullFace != null) { - faceObj.addProperty("cullface", face.cullFace.getString()); + if (face.cullForDirection != null) { + faceObj.addProperty("cullface", face.cullForDirection.getSerializedName()); } - if (face.blockFaceUV.rotation != 0) { - faceObj.addProperty("rotation", face.blockFaceUV.rotation); + if (face.uv.rotation != 0) { + faceObj.addProperty("rotation", face.uv.rotation); } if (face.tintIndex != -1) { faceObj.addProperty("tintindex", face.tintIndex); } - faces.add(dir.getString(), faceObj); + faces.add(dir.getSerializedName(), faceObj); } - if (!part.mapFaces.isEmpty()) { + if (!part.faces.isEmpty()) { partObj.add("faces", faces); } elements.add(partObj); @@ -324,9 +324,9 @@ public class ModelBuilder> extends ModelFile { private JsonArray serializeVector3f(Vector3f vec) { JsonArray ret = new JsonArray(); - ret.add(serializeFloat(vec.getX())); - ret.add(serializeFloat(vec.getY())); - ret.add(serializeFloat(vec.getZ())); + ret.add(serializeFloat(vec.x())); + ret.add(serializeFloat(vec.y())); + ret.add(serializeFloat(vec.z())); return ret; } @@ -350,9 +350,9 @@ public class ModelBuilder> extends ModelFile { } private void validatePosition(Vector3f pos) { - validateCoordinate(pos.getX(), 'x'); - validateCoordinate(pos.getY(), 'y'); - validateCoordinate(pos.getZ(), 'z'); + validateCoordinate(pos.x(), 'x'); + validateCoordinate(pos.y(), 'y'); + validateCoordinate(pos.z(), 'z'); } /** diff --git a/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java b/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java index b1bedb8097..623e146685 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java @@ -363,7 +363,7 @@ public abstract class ModelProvider> implements IDataP } @Override - public void act(DirectoryCache cache) throws IOException { + public void run(DirectoryCache cache) throws IOException { clear(); registerModels(); generateAll(cache); diff --git a/src/main/java/net/minecraftforge/client/model/generators/MultiPartBlockStateBuilder.java b/src/main/java/net/minecraftforge/client/model/generators/MultiPartBlockStateBuilder.java index abb3688180..7896dace30 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/MultiPartBlockStateBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/generators/MultiPartBlockStateBuilder.java @@ -138,7 +138,7 @@ public final class MultiPartBlockStateBuilder implements IGeneratedBlockstate { } public boolean canApplyTo(Block b) { - return b.getStateContainer().getProperties().containsAll(conditions.keySet()); + return b.getStateDefinition().getProperties().containsAll(conditions.keySet()); } } } diff --git a/src/main/java/net/minecraftforge/client/model/generators/VariantBlockStateBuilder.java b/src/main/java/net/minecraftforge/client/model/generators/VariantBlockStateBuilder.java index b9b348daed..7d21ef6b6f 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/VariantBlockStateBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/generators/VariantBlockStateBuilder.java @@ -86,7 +86,7 @@ public class VariantBlockStateBuilder implements IGeneratedBlockstate { @Override public JsonObject toJson() { - List missingStates = Lists.newArrayList(owner.getStateContainer().getValidStates()); + List missingStates = Lists.newArrayList(owner.getStateDefinition().getPossibleStates()); missingStates.removeAll(coveredStates); Preconditions.checkState(missingStates.isEmpty(), "Blockstate for block %s does not cover all states. Missing: %s", owner, missingStates); JsonObject variants = new JsonObject(); @@ -119,7 +119,7 @@ public class VariantBlockStateBuilder implements IGeneratedBlockstate { if (!this.models.containsKey(state)) { Preconditions.checkArgument(disjointToAll(state), "Cannot set models for a state for which a partial match has already been configured"); this.models.put(state, new ConfiguredModelList(models)); - for (BlockState fullState : owner.getStateContainer().getValidStates()) { + for (BlockState fullState : owner.getStateDefinition().getPossibleStates()) { if (state.test(fullState)) { coveredStates.add(fullState); } @@ -162,7 +162,7 @@ public class VariantBlockStateBuilder implements IGeneratedBlockstate { public VariantBlockStateBuilder forAllStatesExcept(Function mapper, Property... ignored) { Set seen = new HashSet<>(); - for (BlockState fullState : owner.getStateContainer().getValidStates()) { + for (BlockState fullState : owner.getStateDefinition().getPossibleStates()) { Map, Comparable> propertyValues = Maps.newLinkedHashMap(fullState.getValues()); for (Property p : ignored) { propertyValues.remove(p); @@ -191,8 +191,8 @@ public class VariantBlockStateBuilder implements IGeneratedBlockstate { for (Map.Entry, Comparable> entry : setStates.entrySet()) { Property prop = entry.getKey(); Comparable value = entry.getValue(); - Preconditions.checkArgument(owner.getStateContainer().getProperties().contains(prop), "Property %s not found on block %s", entry, this.owner); - Preconditions.checkArgument(prop.getAllowedValues().contains(value), "%s is not a valid value for %s", value, prop); + Preconditions.checkArgument(owner.getStateDefinition().getProperties().contains(prop), "Property %s not found on block %s", entry, this.owner); + Preconditions.checkArgument(prop.getPossibleValues().contains(value), "%s is not a valid value for %s", value, prop); } this.setStates = Maps.newTreeMap(Comparator.comparing(Property::getName)); this.setStates.putAll(setStates); @@ -291,7 +291,7 @@ public class VariantBlockStateBuilder implements IGeneratedBlockstate { return false; } for (Map.Entry, Comparable> entry : setStates.entrySet()) { - if (blockState.get(entry.getKey()) != entry.getValue()) { + if (blockState.getValue(entry.getKey()) != entry.getValue()) { return false; } } diff --git a/src/main/java/net/minecraftforge/client/model/obj/OBJLoader.java b/src/main/java/net/minecraftforge/client/model/obj/OBJLoader.java index d669986831..a61192f9f9 100644 --- a/src/main/java/net/minecraftforge/client/model/obj/OBJLoader.java +++ b/src/main/java/net/minecraftforge/client/model/obj/OBJLoader.java @@ -59,12 +59,12 @@ public class OBJLoader implements IModelLoader String modelLocation = modelContents.get("model").getAsString(); - boolean detectCullableFaces = JSONUtils.getBoolean(modelContents, "detectCullableFaces", true); - boolean diffuseLighting = JSONUtils.getBoolean(modelContents, "diffuseLighting", false); - boolean flipV = JSONUtils.getBoolean(modelContents, "flip-v", false); - boolean ambientToFullbright = JSONUtils.getBoolean(modelContents, "ambientToFullbright", true); + boolean detectCullableFaces = JSONUtils.getAsBoolean(modelContents, "detectCullableFaces", true); + boolean diffuseLighting = JSONUtils.getAsBoolean(modelContents, "diffuseLighting", false); + boolean flipV = JSONUtils.getAsBoolean(modelContents, "flip-v", false); + boolean ambientToFullbright = JSONUtils.getAsBoolean(modelContents, "ambientToFullbright", true); @Nullable - String materialLibraryOverrideLocation = modelContents.has("materialLibraryOverride") ? JSONUtils.getString(modelContents, "materialLibraryOverride") : null; + String materialLibraryOverrideLocation = modelContents.has("materialLibraryOverride") ? JSONUtils.getAsString(modelContents, "materialLibraryOverride") : null; return loadModel(new OBJModel.ModelSettings(new ResourceLocation(modelLocation), detectCullableFaces, diffuseLighting, flipV, ambientToFullbright, materialLibraryOverrideLocation)); } diff --git a/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java b/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java index 637cb7b2d8..bdd87e2f65 100644 --- a/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java +++ b/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java @@ -287,9 +287,9 @@ public class OBJModel implements IMultipartModelGeometry { Vector4f vec4 = parseVector4(line); return new Vector3f( - vec4.getX() / vec4.getW(), - vec4.getY() / vec4.getW(), - vec4.getZ() / vec4.getW() + vec4.x() / vec4.w(), + vec4.y() / vec4.w(), + vec4.z() / vec4.w() ); } } @@ -368,7 +368,7 @@ public class OBJModel implements IMultipartModelGeometry Vector2f uv2 = new Vector2f(0, 0); if (ambientToFullbright) { - int fakeLight = (int) ((ambientColor.getX() + ambientColor.getY() + ambientColor.getZ()) * 15 / 3.0f); + int fakeLight = (int) ((ambientColor.x() + ambientColor.y() + ambientColor.z()) * 15 / 3.0f); uv2 = new Vector2f((fakeLight << 4) / 32767.0f, (fakeLight << 4) / 32767.0f); builder.setApplyDiffuseLighting(fakeLight == 0); } @@ -397,65 +397,65 @@ public class OBJModel implements IMultipartModelGeometry transformation.transformNormal(normal); }; Vector4f tintedColor = new Vector4f( - color.getX() * colorTint.getX(), - color.getY() * colorTint.getY(), - color.getZ() * colorTint.getZ(), - color.getW() * colorTint.getW()); + color.x() * colorTint.x(), + color.y() * colorTint.y(), + color.z() * colorTint.z(), + color.w() * colorTint.w()); putVertexData(builder, position, texCoord, normal, tintedColor, uv2, texture); pos[i] = position; norm[i] = normal; } - builder.setQuadOrientation(Direction.getFacingFromVector(norm[0].getX(), norm[0].getY(),norm[0].getZ())); + builder.setQuadOrientation(Direction.getNearest(norm[0].x(), norm[0].y(),norm[0].z())); Direction cull = null; if (detectCullableFaces) { - if (MathHelper.epsilonEquals(pos[0].getX(), 0) && // vertex.position.x - MathHelper.epsilonEquals(pos[1].getX(), 0) && - MathHelper.epsilonEquals(pos[2].getX(), 0) && - MathHelper.epsilonEquals(pos[3].getX(), 0) && - norm[0].getX() < 0) // vertex.normal.x + if (MathHelper.equal(pos[0].x(), 0) && // vertex.position.x + MathHelper.equal(pos[1].x(), 0) && + MathHelper.equal(pos[2].x(), 0) && + MathHelper.equal(pos[3].x(), 0) && + norm[0].x() < 0) // vertex.normal.x { cull = Direction.WEST; } - else if (MathHelper.epsilonEquals(pos[0].getX(), 1) && // vertex.position.x - MathHelper.epsilonEquals(pos[1].getX(), 1) && - MathHelper.epsilonEquals(pos[2].getX(), 1) && - MathHelper.epsilonEquals(pos[3].getX(), 1) && - norm[0].getX() > 0) // vertex.normal.x + else if (MathHelper.equal(pos[0].x(), 1) && // vertex.position.x + MathHelper.equal(pos[1].x(), 1) && + MathHelper.equal(pos[2].x(), 1) && + MathHelper.equal(pos[3].x(), 1) && + norm[0].x() > 0) // vertex.normal.x { cull = Direction.EAST; } - else if (MathHelper.epsilonEquals(pos[0].getZ(), 0) && // vertex.position.z - MathHelper.epsilonEquals(pos[1].getZ(), 0) && - MathHelper.epsilonEquals(pos[2].getZ(), 0) && - MathHelper.epsilonEquals(pos[3].getZ(), 0) && - norm[0].getZ() < 0) // vertex.normal.z + else if (MathHelper.equal(pos[0].z(), 0) && // vertex.position.z + MathHelper.equal(pos[1].z(), 0) && + MathHelper.equal(pos[2].z(), 0) && + MathHelper.equal(pos[3].z(), 0) && + norm[0].z() < 0) // vertex.normal.z { cull = Direction.NORTH; // can never remember } - else if (MathHelper.epsilonEquals(pos[0].getZ(), 1) && // vertex.position.z - MathHelper.epsilonEquals(pos[1].getZ(), 1) && - MathHelper.epsilonEquals(pos[2].getZ(), 1) && - MathHelper.epsilonEquals(pos[3].getZ(), 1) && - norm[0].getZ() > 0) // vertex.normal.z + else if (MathHelper.equal(pos[0].z(), 1) && // vertex.position.z + MathHelper.equal(pos[1].z(), 1) && + MathHelper.equal(pos[2].z(), 1) && + MathHelper.equal(pos[3].z(), 1) && + norm[0].z() > 0) // vertex.normal.z { cull = Direction.SOUTH; } - else if (MathHelper.epsilonEquals(pos[0].getY(), 0) && // vertex.position.y - MathHelper.epsilonEquals(pos[1].getY(), 0) && - MathHelper.epsilonEquals(pos[2].getY(), 0) && - MathHelper.epsilonEquals(pos[3].getY(), 0) && - norm[0].getY() < 0) // vertex.normal.z + else if (MathHelper.equal(pos[0].y(), 0) && // vertex.position.y + MathHelper.equal(pos[1].y(), 0) && + MathHelper.equal(pos[2].y(), 0) && + MathHelper.equal(pos[3].y(), 0) && + norm[0].y() < 0) // vertex.normal.z { cull = Direction.DOWN; // can never remember } - else if (MathHelper.epsilonEquals(pos[0].getY(), 1) && // vertex.position.y - MathHelper.epsilonEquals(pos[1].getY(), 1) && - MathHelper.epsilonEquals(pos[2].getY(), 1) && - MathHelper.epsilonEquals(pos[3].getY(), 1) && - norm[0].getY() > 0) // vertex.normal.y + else if (MathHelper.equal(pos[0].y(), 1) && // vertex.position.y + MathHelper.equal(pos[1].y(), 1) && + MathHelper.equal(pos[2].y(), 1) && + MathHelper.equal(pos[3].y(), 1) && + norm[0].y() > 0) // vertex.normal.y { cull = Direction.UP; } @@ -473,18 +473,18 @@ public class OBJModel implements IMultipartModelGeometry switch(e.getUsage()) { case POSITION: - consumer.put(j, position0.getX(), position0.getY(), position0.getZ(), position0.getW()); + consumer.put(j, position0.x(), position0.y(), position0.z(), position0.w()); break; case COLOR: - consumer.put(j, color0.getX(), color0.getY(), color0.getZ(), color0.getW()); + consumer.put(j, color0.x(), color0.y(), color0.z(), color0.w()); break; case UV: switch (e.getIndex()) { case 0: consumer.put(j, - texture.getInterpolatedU(texCoord0.x * 16), - texture.getInterpolatedV((flipV ? (1 - texCoord0.y) : texCoord0.y) * 16) + texture.getU(texCoord0.x * 16), + texture.getV((flipV ? (1 - texCoord0.y) : texCoord0.y) * 16) ); break; case 2: @@ -496,7 +496,7 @@ public class OBJModel implements IMultipartModelGeometry } break; case NORMAL: - consumer.put(j, normal0.getX(), normal0.getY(), normal0.getZ()); + consumer.put(j, normal0.x(), normal0.y(), normal0.z()); break; default: consumer.put(j); diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/BakedQuadBuilder.java b/src/main/java/net/minecraftforge/client/model/pipeline/BakedQuadBuilder.java index 8141b8aafc..4e8ed8cb69 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/BakedQuadBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/BakedQuadBuilder.java @@ -129,8 +129,8 @@ public class BakedQuadBuilder implements IVertexConsumer } if(contractUVs) { - float tX = texture.getWidth() / (texture.getMaxU() - texture.getMinU()); - float tY = texture.getHeight() / (texture.getMaxV() - texture.getMinV()); + float tX = texture.getWidth() / (texture.getU1() - texture.getU0()); + float tY = texture.getHeight() / (texture.getV1() - texture.getV0()); float tS = tX > tY ? tX : tY; float ep = 1f / (tS * 0x100); int uve = 0; diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java index e573a74fd8..5d6fad800d 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/BlockInfo.java @@ -119,29 +119,29 @@ public class BlockInfo { for(int z = 0; z <= 2; z++) { - BlockPos pos = blockPos.add(x - 1, y - 1, z - 1); + BlockPos pos = blockPos.offset(x - 1, y - 1, z - 1); BlockState state = world.getBlockState(pos); - t[x][y][z] = state.getOpacity(world, pos) < 15; - int brightness = WorldRenderer.getCombinedLight(world, pos); - s[x][y][z] = LightTexture.getLightSky(brightness); - b[x][y][z] = LightTexture.getLightBlock(brightness); - ao[x][y][z] = state.getAmbientOcclusionLightValue(world, pos); + t[x][y][z] = state.getLightBlock(world, pos) < 15; + int brightness = WorldRenderer.getLightColor(world, pos); + s[x][y][z] = LightTexture.sky(brightness); + b[x][y][z] = LightTexture.block(brightness); + ao[x][y][z] = state.getShadeBrightness(world, pos); } } } for(Direction side : SIDES) { - BlockPos pos = blockPos.offset(side); + BlockPos pos = blockPos.relative(side); BlockState state = world.getBlockState(pos); - BlockState thisStateShape = this.state.isSolid() && this.state.isTransparent() ? this.state : Blocks.AIR.getDefaultState(); - BlockState otherStateShape = state.isSolid() && state.isTransparent() ? state : Blocks.AIR.getDefaultState(); + BlockState thisStateShape = this.state.canOcclude() && this.state.useShapeForLightOcclusion() ? this.state : Blocks.AIR.defaultBlockState(); + BlockState otherStateShape = state.canOcclude() && state.useShapeForLightOcclusion() ? state : Blocks.AIR.defaultBlockState(); - if(state.getOpacity(world, pos) == 15 || VoxelShapes.faceShapeCovers(thisStateShape.getFaceOcclusionShape(world, blockPos, side), otherStateShape.getFaceOcclusionShape(world, pos, side.getOpposite()))) + if(state.getLightBlock(world, pos) == 15 || VoxelShapes.faceShapeOccludes(thisStateShape.getFaceOcclusionShape(world, blockPos, side), otherStateShape.getFaceOcclusionShape(world, pos, side.getOpposite()))) { - int x = side.getXOffset() + 1; - int y = side.getYOffset() + 1; - int z = side.getZOffset() + 1; + int x = side.getStepX() + 1; + int y = side.getStepY() + 1; + int z = side.getStepZ() + 1; s[x][y][z] = Math.max(s[1][1][1] - 1, s[x][y][z]); b[x][y][z] = Math.max(b[1][1][1] - 1, b[x][y][z]); } @@ -189,13 +189,13 @@ public class BlockInfo public void updateFlatLighting() { - full = Block.isOpaque(state.getCollisionShape(world, blockPos)); - packed[0] = WorldRenderer.getCombinedLight(world, blockPos); + full = Block.isShapeFullBlock(state.getCollisionShape(world, blockPos)); + packed[0] = WorldRenderer.getLightColor(world, blockPos); for (Direction side : SIDES) { int i = side.ordinal() + 1; - packed[i] = WorldRenderer.getCombinedLight(world, blockPos.offset(side)); + packed[i] = WorldRenderer.getLightColor(world, blockPos.relative(side)); } } diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/ForgeBlockModelRenderer.java b/src/main/java/net/minecraftforge/client/model/pipeline/ForgeBlockModelRenderer.java index fc88f99420..8caa5028a8 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/ForgeBlockModelRenderer.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/ForgeBlockModelRenderer.java @@ -60,7 +60,7 @@ public class ForgeBlockModelRenderer extends BlockModelRenderer VertexLighterFlat lighter = lighterFlat.get(); lighter.setParent(consumer); - lighter.setTransform(matrixStack.getLast()); + lighter.setTransform(matrixStack.last()); return render(lighter, world, model, state, pos, matrixStack, checkSides, rand, seed, modelData); } @@ -80,7 +80,7 @@ public class ForgeBlockModelRenderer extends BlockModelRenderer VertexLighterSmoothAo lighter = lighterSmooth.get(); lighter.setParent(consumer); - lighter.setTransform(matrixStack.getLast()); + lighter.setTransform(matrixStack.last()); return render(lighter, world, model, state, pos, matrixStack, checkSides, rand, seed, modelData); } @@ -113,7 +113,7 @@ public class ForgeBlockModelRenderer extends BlockModelRenderer quads = model.getQuads(state, side, rand, modelData); if(!quads.isEmpty()) { - if(!checkSides || Block.shouldSideBeRendered(state, world, pos, side)) + if(!checkSides || Block.shouldRenderFace(state, world, pos, side)) { if(empty) lighter.updateBlockInfo(); empty = false; diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/LightUtil.java b/src/main/java/net/minecraftforge/client/model/pipeline/LightUtil.java index 352126005a..23eaccc6bf 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/LightUtil.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/LightUtil.java @@ -88,12 +88,12 @@ public class LightUtil public static void putBakedQuad(IVertexConsumer consumer, BakedQuad quad) { consumer.setTexture(quad.getSprite()); - consumer.setQuadOrientation(quad.getFace()); - if(quad.hasTintIndex()) + consumer.setQuadOrientation(quad.getDirection()); + if(quad.isTinted()) { consumer.setQuadTint(quad.getTintIndex()); } - consumer.setApplyDiffuseLighting(quad.applyDiffuseLighting()); + consumer.setApplyDiffuseLighting(quad.isShade()); float[] data = new float[4]; VertexFormat formatFrom = consumer.getVertexFormat(); VertexFormat formatTo = DefaultVertexFormats.BLOCK; @@ -106,7 +106,7 @@ public class LightUtil { if(eMap[e] != countTo) { - unpack(quad.getVertexData(), data, formatTo, v, eMap[e]); + unpack(quad.getVertices(), data, formatTo, v, eMap[e]); consumer.put(e, data); } else @@ -156,7 +156,7 @@ public class LightUtil { int length = 4 < to.length ? 4 : to.length; VertexFormatElement element = formatFrom.getElements().get(e); - int vertexStart = v * formatFrom.getSize() + formatFrom.getOffset(e); + int vertexStart = v * formatFrom.getVertexSize() + formatFrom.getOffset(e); int count = element.getElementCount(); VertexFormatElement.Type type = element.getType(); VertexFormatElement.Usage usage = element.getUsage(); @@ -211,7 +211,7 @@ public class LightUtil public static void pack(float[] from, int[] to, VertexFormat formatTo, int v, int e) { VertexFormatElement element = formatTo.getElements().get(e); - int vertexStart = v * formatTo.getSize() + formatTo.getOffset(e); + int vertexStart = v * formatTo.getVertexSize() + formatTo.getOffset(e); int count = element.getElementCount(); VertexFormatElement.Type type = element.getType(); int size = type.getSize(); @@ -255,7 +255,7 @@ public class LightUtil public static void setLightData(BakedQuad q, int light) { - int[] data = q.getVertexData(); + int[] data = q.getVertices(); for (int i = 0; i < 4; i++) { data[getLightOffset(i)] = light; diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/TRSRTransformer.java b/src/main/java/net/minecraftforge/client/model/pipeline/TRSRTransformer.java index 5eab033905..84d37b7378 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/TRSRTransformer.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/TRSRTransformer.java @@ -41,17 +41,17 @@ public class TRSRTransformer extends VertexTransformer case POSITION: Vector4f pos = new Vector4f(data[0], data[1], data[2], data[3]); transform.transformPosition(pos); - data[0] = pos.getX(); - data[1] = pos.getY(); - data[2] = pos.getZ(); - data[3] = pos.getW(); + data[0] = pos.x(); + data[1] = pos.y(); + data[2] = pos.z(); + data[3] = pos.w(); break; case NORMAL: Vector3f normal = new Vector3f(data); transform.transformNormal(normal); - data[0] = normal.getX(); - data[1] = normal.getY(); - data[2] = normal.getZ(); + data[0] = normal.x(); + data[1] = normal.y(); + data[2] = normal.z(); break; } super.put(element, data); diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/VertexBufferConsumer.java b/src/main/java/net/minecraftforge/client/model/pipeline/VertexBufferConsumer.java index 01c86b54ff..2256cd1561 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/VertexBufferConsumer.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/VertexBufferConsumer.java @@ -57,7 +57,7 @@ public class VertexBufferConsumer implements IVertexConsumer switch (e) { case 0: // POSITION_3F - renderer.pos(d0, d1, d2); + renderer.vertex(d0, d1, d2); break; case 4: // NORMAL_3B renderer.normal(d0, d1, d2); @@ -66,10 +66,10 @@ public class VertexBufferConsumer implements IVertexConsumer renderer.color(d0, d1, d2, d3); break; case 2: // TEX_2F - renderer.tex(d0, d1); + renderer.uv(d0, d1); break; case 3: // TEX_2SB - renderer.lightmap((int) (d0 * 0xF0), (int) (d1 * 0xF0)); + renderer.uv2((int) (d0 * 0xF0), (int) (d1 * 0xF0)); break; case 5: // PADDING_1B break; diff --git a/src/main/java/net/minecraftforge/client/model/pipeline/VertexLighterFlat.java b/src/main/java/net/minecraftforge/client/model/pipeline/VertexLighterFlat.java index fa5a1bbc84..8cbee79e38 100644 --- a/src/main/java/net/minecraftforge/client/model/pipeline/VertexLighterFlat.java +++ b/src/main/java/net/minecraftforge/client/model/pipeline/VertexLighterFlat.java @@ -45,7 +45,7 @@ public class VertexLighterFlat extends QuadGatheringTransformer // TODO 1.16/1.17 possibly refactor out the need for the "unpacked" format entirely. It's creating more headaches than solutions. // This mess reverses the conversion to float bits done in LightUtil.unpack - private static final int LIGHTMAP_PACKING_FACTOR = ((256 << (8 * (DefaultVertexFormats.TEX_2SB.getType().getSize() - 1))) - 1) >>> 1; + private static final int LIGHTMAP_PACKING_FACTOR = ((256 << (8 * (DefaultVertexFormats.ELEMENT_UV2.getType().getSize() - 1))) - 1) >>> 1; // Max lightmap value, for rescaling private static final int LIGHTMAP_MAX = 0xF0; // Inlined factor for rescaling input lightmap values, "rounded" up to the next float value to avoid precision loss when result is truncated to int @@ -172,9 +172,9 @@ public class VertexLighterFlat extends QuadGatheringTransformer v2.normalize(); for(int v = 0; v < 4; v++) { - normal[v][0] = v2.getX(); - normal[v][1] = v2.getY(); - normal[v][2] = v2.getZ(); + normal[v][0] = v2.x(); + normal[v][1] = v2.y(); + normal[v][2] = v2.z(); normal[v][3] = 0; } } @@ -227,20 +227,20 @@ public class VertexLighterFlat extends QuadGatheringTransformer case POSITION: final Vector4f pos = new Vector4f( position[v][0], position[v][1], position[v][2], 1); - pos.transform(pose.getMatrix()); + pos.transform(pose.pose()); - position[v][0] = pos.getX(); - position[v][1] = pos.getY(); - position[v][2] = pos.getZ(); + position[v][0] = pos.x(); + position[v][1] = pos.y(); + position[v][2] = pos.z(); parent.put(e, position[v]); break; case NORMAL: final Vector3f norm = new Vector3f(normal[v]); - norm.transform(pose.getNormal()); + norm.transform(pose.normal()); - normal[v][0] = norm.getX(); - normal[v][1] = norm.getY(); - normal[v][2] = norm.getZ(); + normal[v][0] = norm.x(); + normal[v][1] = norm.y(); + normal[v][2] = norm.z(); parent.put(e, normal[v]); break; case COLOR: @@ -279,8 +279,8 @@ public class VertexLighterFlat extends QuadGatheringTransformer int i = side == null ? 0 : side.ordinal() + 1; int brightness = blockInfo.getPackedLight()[i]; - lightmap[0] = LightTexture.getLightBlock(brightness) / (float) 0xF; - lightmap[1] = LightTexture.getLightSky(brightness) / (float) 0xF; + lightmap[0] = LightTexture.block(brightness) / (float) 0xF; + lightmap[1] = LightTexture.sky(brightness) / (float) 0xF; } protected void updateColor(float[] normal, float[] color, float x, float y, float z, float tint, int multiplier) diff --git a/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java b/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java index faf61e1ea4..ecb66de860 100644 --- a/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java +++ b/src/main/java/net/minecraftforge/client/settings/KeyConflictContext.java @@ -48,7 +48,7 @@ public enum KeyConflictContext implements IKeyConflictContext @Override public boolean isActive() { - return Minecraft.getInstance().currentScreen != null; + return Minecraft.getInstance().screen != null; } @Override diff --git a/src/main/java/net/minecraftforge/client/settings/KeyModifier.java b/src/main/java/net/minecraftforge/client/settings/KeyModifier.java index 4f241595b4..1ee7328575 100644 --- a/src/main/java/net/minecraftforge/client/settings/KeyModifier.java +++ b/src/main/java/net/minecraftforge/client/settings/KeyModifier.java @@ -37,8 +37,8 @@ public enum KeyModifier { @Override public boolean matches(InputMappings.Input key) { - int keyCode = key.getKeyCode(); - if (Minecraft.IS_RUNNING_ON_MAC) + int keyCode = key.getValue(); + if (Minecraft.ON_OSX) { return keyCode == GLFW.GLFW_KEY_LEFT_ALT || keyCode == GLFW.GLFW_KEY_RIGHT_ALT; } @@ -57,7 +57,7 @@ public enum KeyModifier { @Override public ITextComponent getCombinedName(InputMappings.Input key, Supplier defaultLogic) { - String localizationFormatKey = Minecraft.IS_RUNNING_ON_MAC ? "forge.controlsgui.control.mac" : "forge.controlsgui.control"; + String localizationFormatKey = Minecraft.ON_OSX ? "forge.controlsgui.control.mac" : "forge.controlsgui.control"; return new TranslationTextComponent(localizationFormatKey, defaultLogic.get()); } }, @@ -65,7 +65,7 @@ public enum KeyModifier { @Override public boolean matches(InputMappings.Input key) { - return key.getKeyCode() == GLFW.GLFW_KEY_LEFT_SHIFT || key.getKeyCode() == GLFW.GLFW_KEY_RIGHT_SHIFT; + return key.getValue() == GLFW.GLFW_KEY_LEFT_SHIFT || key.getValue() == GLFW.GLFW_KEY_RIGHT_SHIFT; } @Override @@ -84,7 +84,7 @@ public enum KeyModifier { @Override public boolean matches(InputMappings.Input key) { - return key.getKeyCode() == GLFW.GLFW_KEY_LEFT_ALT || key.getKeyCode() == GLFW.GLFW_KEY_RIGHT_ALT; + return key.getValue() == GLFW.GLFW_KEY_LEFT_ALT || key.getValue() == GLFW.GLFW_KEY_RIGHT_ALT; } @Override diff --git a/src/main/java/net/minecraftforge/common/BiomeDictionary.java b/src/main/java/net/minecraftforge/common/BiomeDictionary.java index 608c8961a7..fc9c35bfb5 100644 --- a/src/main/java/net/minecraftforge/common/BiomeDictionary.java +++ b/src/main/java/net/minecraftforge/common/BiomeDictionary.java @@ -372,7 +372,7 @@ public class BiomeDictionary Type.byName.forEach((name, type) -> buf.append(" ").append(type.name).append(": ") .append(type.biomes.stream() - .map(RegistryKey::getLocation) + .map(RegistryKey::location) .sorted((a,b) -> a.compareNamespaced(b)) .map(Object::toString) .collect(Collectors.joining(", ")) @@ -382,7 +382,7 @@ public class BiomeDictionary boolean missing = false; List> all = StreamSupport.stream(ForgeRegistries.BIOMES.spliterator(), false) - .map(b -> RegistryKey.getOrCreateKey(Registry.BIOME_KEY, b.getRegistryName())) + .map(b -> RegistryKey.create(Registry.BIOME_REGISTRY, b.getRegistryName())) .sorted().collect(Collectors.toList()); for (RegistryKey key : all) { @@ -391,7 +391,7 @@ public class BiomeDictionary buf.append("Missing:\n"); missing = true; } - buf.append(" ").append(key.getLocation()).append('\n'); + buf.append(" ").append(key.location()).append('\n'); } } LOGGER.debug(buf.toString()); diff --git a/src/main/java/net/minecraftforge/common/BiomeManager.java b/src/main/java/net/minecraftforge/common/BiomeManager.java index c803d64454..f8cb9d4243 100644 --- a/src/main/java/net/minecraftforge/common/BiomeManager.java +++ b/src/main/java/net/minecraftforge/common/BiomeManager.java @@ -105,7 +105,7 @@ public class BiomeManager */ public static void addAdditionalOverworldBiomes(RegistryKey biome) { - if (!"minecraft".equals(biome.getLocation().getNamespace()) && additionalOverworldBiomes.stream().noneMatch(entry -> entry.getLocation().equals(biome.getLocation()))) + if (!"minecraft".equals(biome.location().getNamespace()) && additionalOverworldBiomes.stream().noneMatch(entry -> entry.location().equals(biome.location()))) { additionalOverworldBiomes.add(biome); } diff --git a/src/main/java/net/minecraftforge/common/DungeonHooks.java b/src/main/java/net/minecraftforge/common/DungeonHooks.java index f6913d5d90..ddf8592ae2 100644 --- a/src/main/java/net/minecraftforge/common/DungeonHooks.java +++ b/src/main/java/net/minecraftforge/common/DungeonHooks.java @@ -58,7 +58,7 @@ public class DungeonHooks if (type == mob.type) { itr.remove(); - rarity = mob.itemWeight + rarity; + rarity = mob.weight + rarity; break; } } @@ -80,7 +80,7 @@ public class DungeonHooks if (name == mob.type) { dungeonMobs.remove(mob); - return mob.itemWeight; + return mob.weight; } } return 0; diff --git a/src/main/java/net/minecraftforge/common/FarmlandWaterManager.java b/src/main/java/net/minecraftforge/common/FarmlandWaterManager.java index 01ef216aaa..ec86e8ba16 100644 --- a/src/main/java/net/minecraftforge/common/FarmlandWaterManager.java +++ b/src/main/java/net/minecraftforge/common/FarmlandWaterManager.java @@ -60,7 +60,7 @@ public class FarmlandWaterManager @SuppressWarnings("unchecked") public static> T addCustomTicket(World world, T ticket, ChunkPos masterChunk, ChunkPos... additionalChunks) { - Preconditions.checkArgument(!world.isRemote, "Water region is only determined server-side"); + Preconditions.checkArgument(!world.isClientSide, "Water region is only determined server-side"); Map> ticketMap = customWaterHandler.computeIfAbsent(world, id -> new MapMaker().weakValues().makeMap()); ChunkTicketManager[] additionalTickets = new ChunkTicketManager[additionalChunks.length]; for (int i = 0; i < additionalChunks.length; i++) @@ -157,7 +157,7 @@ public class FarmlandWaterManager } private static ChunkTicketManager getTicketManager(ChunkPos pos, IWorldReader world) { - Preconditions.checkArgument(!world.isRemote(), "Water region is only determined server-side"); + Preconditions.checkArgument(!world.isClientSide(), "Water region is only determined server-side"); Map> ticketMap = customWaterHandler.get(world); if (ticketMap == null) { diff --git a/src/main/java/net/minecraftforge/common/ForgeHooks.java b/src/main/java/net/minecraftforge/common/ForgeHooks.java index 8e9e28dfb3..1983c8a1ae 100644 --- a/src/main/java/net/minecraftforge/common/ForgeHooks.java +++ b/src/main/java/net/minecraftforge/common/ForgeHooks.java @@ -205,17 +205,17 @@ public class ForgeHooks public static boolean canHarvestBlock(@Nonnull BlockState state, @Nonnull PlayerEntity player, @Nonnull IBlockReader world, @Nonnull BlockPos pos) { //state = state.getActualState(world, pos); - if (!state.getRequiresTool()) + if (!state.requiresCorrectToolForDrops()) return ForgeEventFactory.doPlayerHarvestCheck(player, state, true); - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); ToolType tool = state.getHarvestTool(); if (stack.isEmpty() || tool == null) - return player.func_234569_d_(state); + return player.hasCorrectToolForDrops(state); int toolLevel = stack.getHarvestLevel(tool, player, state); if (toolLevel < 0) - return player.func_234569_d_(state); + return player.hasCorrectToolForDrops(state); return ForgeEventFactory.doPlayerHarvestCheck(player, state, toolLevel >= state.getHarvestLevel()); } @@ -246,7 +246,7 @@ public class ForgeHooks //Axes check Materials and Blocks now. Set materials = getPrivateValue(AxeItem.class, null, 0); for (Block block : ForgeRegistries.BLOCKS) - if (materials.contains(block.getDefaultState().getMaterial())) + if (materials.contains(block.defaultBlockState().getMaterial())) blockToolSetter.accept(block, ToolType.AXE, 0); blocks = getPrivateValue(AxeItem.class, null, 1); blocks.forEach(block -> blockToolSetter.accept(block, ToolType.AXE, 0)); @@ -269,19 +269,19 @@ public class ForgeHooks public static boolean onPickBlock(RayTraceResult target, PlayerEntity player, World world) { ItemStack result = ItemStack.EMPTY; - boolean isCreative = player.abilities.isCreativeMode; + boolean isCreative = player.abilities.instabuild; TileEntity te = null; if (target.getType() == RayTraceResult.Type.BLOCK) { - BlockPos pos = ((BlockRayTraceResult)target).getPos(); + BlockPos pos = ((BlockRayTraceResult)target).getBlockPos(); BlockState state = world.getBlockState(pos); if (state.isAir(world, pos)) return false; if (isCreative && Screen.hasControlDown() && state.hasTileEntity()) - te = world.getTileEntity(pos); + te = world.getBlockEntity(pos); result = state.getPickBlock(target, world, pos, player); @@ -301,21 +301,21 @@ public class ForgeHooks return false; if (te != null) - Minecraft.getInstance().storeTEInStack(result, te); + Minecraft.getInstance().addCustomNbtData(result, te); if (isCreative) { - player.inventory.setPickedItemStack(result); - Minecraft.getInstance().playerController.sendSlotPacket(player.getHeldItem(Hand.MAIN_HAND), 36 + player.inventory.currentItem); + player.inventory.setPickedItem(result); + Minecraft.getInstance().gameMode.handleCreativeModeItemAdd(player.getItemInHand(Hand.MAIN_HAND), 36 + player.inventory.selected); return true; } - int slot = player.inventory.getSlotFor(result); + int slot = player.inventory.findSlotMatchingItem(result); if (slot != -1) { - if (PlayerInventory.isHotbar(slot)) - player.inventory.currentItem = slot; + if (PlayerInventory.isHotbarSlot(slot)) + player.inventory.selected = slot; else - Minecraft.getInstance().playerController.pickItem(slot); + Minecraft.getInstance().gameMode.handlePickItem(slot); return true; } return false; @@ -389,7 +389,7 @@ public class ForgeHooks { int looting = 0; if (killer instanceof LivingEntity) - looting = EnchantmentHelper.getLootingModifier((LivingEntity)killer); + looting = EnchantmentHelper.getMobLooting((LivingEntity)killer); if (target instanceof LivingEntity) looting = getLootingLevel((LivingEntity)target, cause, looting); return looting; @@ -463,7 +463,7 @@ public class ForgeHooks public static ItemEntity onPlayerTossEvent(@Nonnull PlayerEntity player, @Nonnull ItemStack item, boolean includeName) { player.captureDrops(Lists.newArrayList()); - ItemEntity ret = player.dropItem(item, false, includeName); + ItemEntity ret = player.drop(item, false, includeName); player.captureDrops(null); if (ret == null) @@ -473,8 +473,8 @@ public class ForgeHooks if (MinecraftForge.EVENT_BUS.post(event)) return null; - if (!player.world.isRemote) - player.getEntityWorld().addEntity(event.getEntityItem()); + if (!player.level.isClientSide) + player.getCommandSenderWorld().addFreshEntity(event.getEntityItem()); return event.getEntityItem(); } @@ -519,7 +519,7 @@ public class ForgeHooks if (ichat == null) ichat = new StringTextComponent(part); else - ichat.appendString(part); + ichat.append(part); } lastEnd = end; String url = string.substring(start, end); @@ -535,7 +535,7 @@ public class ForgeHooks if (ichat == null) ichat = new StringTextComponent(url); else - ichat.appendString(url); + ichat.append(url); continue; } url = "http://" + url; @@ -545,13 +545,13 @@ public class ForgeHooks { // Bad syntax bail out! if (ichat == null) ichat = new StringTextComponent(url); - else ichat.appendString(url); + else ichat.append(url); continue; } // Set the click event and append the link. ClickEvent click = new ClickEvent(ClickEvent.Action.OPEN_URL, url); - link.setStyle(link.getStyle().setClickEvent(click).setUnderlined(true).setColor(Color.fromTextFormatting(TextFormatting.BLUE))); + link.setStyle(link.getStyle().withClickEvent(click).setUnderlined(true).withColor(Color.fromLegacyFormat(TextFormatting.BLUE))); if (ichat == null) ichat = new StringTextComponent(""); ichat.append(link); @@ -570,28 +570,28 @@ public class ForgeHooks { // Logic from tryHarvestBlock for pre-canceling the event boolean preCancelEvent = false; - ItemStack itemstack = entityPlayer.getHeldItemMainhand(); - if (!itemstack.isEmpty() && !itemstack.getItem().canPlayerBreakBlockWhileHolding(world.getBlockState(pos), world, pos, entityPlayer)) + ItemStack itemstack = entityPlayer.getMainHandItem(); + if (!itemstack.isEmpty() && !itemstack.getItem().canAttackBlock(world.getBlockState(pos), world, pos, entityPlayer)) { preCancelEvent = true; } - if (gameType.hasLimitedInteractions()) + if (gameType.isBlockPlacingRestricted()) { if (gameType == GameType.SPECTATOR) preCancelEvent = true; - if (!entityPlayer.isAllowEdit()) + if (!entityPlayer.mayBuild()) { - if (itemstack.isEmpty() || !itemstack.canDestroy(world.getTags(), new CachedBlockInfo(world, pos, false))) + if (itemstack.isEmpty() || !itemstack.hasAdventureModeBreakTagForBlock(world.getTagManager(), new CachedBlockInfo(world, pos, false))) preCancelEvent = true; } } // Tell client the block is gone immediately then process events - if (world.getTileEntity(pos) == null) + if (world.getBlockEntity(pos) == null) { - entityPlayer.connection.sendPacket(new SChangeBlockPacket(DUMMY_WORLD, pos)); + entityPlayer.connection.send(new SChangeBlockPacket(DUMMY_WORLD, pos)); } // Post the block break event @@ -604,16 +604,16 @@ public class ForgeHooks if (event.isCanceled()) { // Let the client know the block still exists - entityPlayer.connection.sendPacket(new SChangeBlockPacket(world, pos)); + entityPlayer.connection.send(new SChangeBlockPacket(world, pos)); // Update any tile entity data for this block - TileEntity tileentity = world.getTileEntity(pos); + TileEntity tileentity = world.getBlockEntity(pos); if (tileentity != null) { IPacket pkt = tileentity.getUpdatePacket(); if (pkt != null) { - entityPlayer.connection.sendPacket(pkt); + entityPlayer.connection.send(pkt); } } } @@ -622,11 +622,11 @@ public class ForgeHooks public static ActionResultType onPlaceItemIntoWorld(@Nonnull ItemUseContext context) { - ItemStack itemstack = context.getItem(); - World world = context.getWorld(); + ItemStack itemstack = context.getItemInHand(); + World world = context.getLevel(); PlayerEntity player = context.getPlayer(); - if (player != null && !player.abilities.allowEdit && !itemstack.canPlaceOn(world.getTags(), new CachedBlockInfo(world, context.getPos(), false))) + if (player != null && !player.abilities.mayBuild && !itemstack.hasAdventureModePlaceTagForBlock(world.getTagManager(), new CachedBlockInfo(world, context.getClickedPos(), false))) return ActionResultType.PASS; // handle all placement events here @@ -640,13 +640,13 @@ public class ForgeHooks world.captureBlockSnapshots = true; ItemStack copy = itemstack.copy(); - ActionResultType ret = itemstack.getItem().onItemUse(context); + ActionResultType ret = itemstack.getItem().useOn(context); if (itemstack.isEmpty()) ForgeEventFactory.onPlayerDestroyItem(player, copy, context.getHand()); world.captureBlockSnapshots = false; - if (ret.isSuccessOrConsume()) + if (ret.consumesAction()) { // save new item data int newSize = itemstack.getCount(); @@ -663,7 +663,7 @@ public class ForgeHooks itemstack.setCount(size); itemstack.setTag(nbt); - Direction side = context.getFace(); + Direction side = context.getClickedFace(); boolean eventResult = false; if (blockSnapshots.size() > 1) @@ -697,12 +697,12 @@ public class ForgeHooks int updateFlag = snap.getFlag(); BlockState oldBlock = snap.getReplacedBlock(); BlockState newBlock = world.getBlockState(snap.getPos()); - newBlock.onBlockAdded(world, snap.getPos(), oldBlock, false); + newBlock.onPlace(world, snap.getPos(), oldBlock, false); world.markAndNotifyBlock(snap.getPos(), world.getChunkAt(snap.getPos()), oldBlock, newBlock, updateFlag, 512); } if (player != null) - player.addStat(Stats.ITEM_USED.get(item)); + player.awardStat(Stats.ITEM_USED.get(item)); } } world.capturedBlockSnapshots.clear(); @@ -722,9 +722,9 @@ public class ForgeHooks if (MinecraftForge.EVENT_BUS.post(e)) return false; if (e.getOutput().isEmpty()) return true; - outputSlot.setInventorySlotContents(0, e.getOutput()); + outputSlot.setItem(0, e.getOutput()); container.setMaximumCost(e.getCost()); - container.materialCost = e.getMaterialCost(); + container.repairItemCountCost = e.getMaterialCost(); return false; } @@ -750,7 +750,7 @@ public class ForgeHooks if (stack.getItem().hasContainerItem(stack)) { stack = stack.getItem().getContainerItem(stack); - if (!stack.isEmpty() && stack.isDamageable() && stack.getDamage() > stack.getMaxDamage()) + if (!stack.isEmpty() && stack.isDamageableItem() && stack.getDamageValue() > stack.getMaxDamage()) { ForgeEventFactory.onPlayerDestroyItem(craftingPlayer.get(), stack, null); return ItemStack.EMPTY; @@ -763,7 +763,7 @@ public class ForgeHooks public static boolean onPlayerAttackTarget(PlayerEntity player, Entity target) { if (MinecraftForge.EVENT_BUS.post(new AttackEntityEvent(player, target))) return false; - ItemStack stack = player.getHeldItemMainhand(); + ItemStack stack = player.getMainHandItem(); return stack.isEmpty() || !stack.getItem().onLeftClickEntity(stack, player, target); } @@ -784,7 +784,7 @@ public class ForgeHooks public static ActionResultType onInteractEntityAt(PlayerEntity player, Entity entity, RayTraceResult ray, Hand hand) { - Vector3d vec3d = ray.getHitVec().subtract(entity.getPositionVec()); + Vector3d vec3d = ray.getLocation().subtract(entity.position()); return onInteractEntityAt(player, entity, vec3d, hand); } @@ -909,7 +909,7 @@ public class ForgeHooks .overlay(new ResourceLocation("block/water_overlay")) .translationKey("block.minecraft.water") .color(0xFF3F76E4) - .sound(SoundEvents.ITEM_BUCKET_FILL, SoundEvents.ITEM_BUCKET_EMPTY) + .sound(SoundEvents.BUCKET_FILL, SoundEvents.BUCKET_EMPTY) .build(fluid); if (fluid instanceof LavaFluid) return net.minecraftforge.fluids.FluidAttributes.builder( @@ -917,7 +917,7 @@ public class ForgeHooks new ResourceLocation("block/lava_flow")) .translationKey("block.minecraft.lava") .luminosity(15).density(3000).viscosity(6000).temperature(1300) - .sound(SoundEvents.ITEM_BUCKET_FILL_LAVA, SoundEvents.ITEM_BUCKET_EMPTY_LAVA) + .sound(SoundEvents.BUCKET_FILL_LAVA, SoundEvents.BUCKET_EMPTY_LAVA) .build(fluid); throw new RuntimeException("Mod fluids must override createAttributes."); } @@ -942,7 +942,7 @@ public class ForgeHooks MobSpawnInfoBuilder spawnBuilder = new MobSpawnInfoBuilder(spawns); BiomeLoadingEvent event = new BiomeLoadingEvent(name, climate, category, depth, scale, effects, genBuilder, spawnBuilder); MinecraftForge.EVENT_BUS.post(event); - return callback.apply(event.getClimate(), event.getCategory(), event.getDepth(), event.getScale(), event.getEffects(), event.getGeneration().build(), event.getSpawns().copy()).setRegistryName(name); + return callback.apply(event.getClimate(), event.getCategory(), event.getDepth(), event.getScale(), event.getEffects(), event.getGeneration().build(), event.getSpawns().build()).setRegistryName(name); } private static class LootTableContext @@ -995,7 +995,7 @@ public class ForgeHooks ctx.resetPoolCtx(); if (json.has("name")) - return JSONUtils.getString(json, "name"); + return JSONUtils.getAsString(json, "name"); if (ctx.custom) return "custom#" + json.hashCode(); //We don't care about custom ones modders shouldn't be editing them! @@ -1014,16 +1014,16 @@ public class ForgeHooks ctx.entryCount++; if (json.has("entryName")) - return ctx.validateEntryName(JSONUtils.getString(json, "entryName")); + return ctx.validateEntryName(JSONUtils.getAsString(json, "entryName")); if (ctx.custom) return "custom#" + json.hashCode(); //We don't care about custom ones modders shouldn't be editing them! String name = null; if ("item".equals(type)) - name = JSONUtils.getString(json, "name"); + name = JSONUtils.getAsString(json, "name"); else if ("loot_table".equals(type)) - name = JSONUtils.getString(json, "name"); + name = JSONUtils.getAsString(json, "name"); else if ("empty".equals(type)) name = "empty"; @@ -1086,7 +1086,7 @@ public class ForgeHooks if (enchantmentsNbt.size() == 1) { CompoundNBT nbttagcompound = enchantmentsNbt.getCompound(0); - ResourceLocation resourceLocation = ResourceLocation.tryCreate(nbttagcompound.getString("id")); + ResourceLocation resourceLocation = ResourceLocation.tryParse(nbttagcompound.getString("id")); if (resourceLocation != null && ForgeRegistries.ENCHANTMENTS.containsKey(resourceLocation)) { return resourceLocation.getNamespace(); @@ -1095,7 +1095,7 @@ public class ForgeHooks } else if (item instanceof PotionItem || item instanceof TippedArrowItem) { - Potion potionType = PotionUtils.getPotionFromItem(itemStack); + Potion potionType = PotionUtils.getPotion(itemStack); ResourceLocation resourceLocation = ForgeRegistries.POTION_TYPES.getKey(potionType); if (resourceLocation != null) { @@ -1151,18 +1151,18 @@ public class ForgeHooks private static class DummyBlockReader implements IBlockReader { @Override - public TileEntity getTileEntity(BlockPos pos) { + public TileEntity getBlockEntity(BlockPos pos) { return null; } @Override public BlockState getBlockState(BlockPos pos) { - return Blocks.AIR.getDefaultState(); + return Blocks.AIR.defaultBlockState(); } @Override public FluidState getFluidState(BlockPos pos) { - return Fluids.EMPTY.getDefaultState(); + return Fluids.EMPTY.defaultFluidState(); } } @@ -1184,9 +1184,9 @@ public class ForgeHooks //TODO 1.17 remove parsing the forge added "optional" array. Still here for compatibility with previously created tags. if (json.has("optional")) { - for (JsonElement entry : JSONUtils.getJsonArray(json, "optional")) + for (JsonElement entry : JSONUtils.getAsJsonArray(json, "optional")) { - String s = JSONUtils.getString(entry, "value"); + String s = JSONUtils.convertToString(entry, "value"); if (!s.startsWith("#")) list.add(new ITag.OptionalItemEntry(new ResourceLocation(s))); else @@ -1196,9 +1196,9 @@ public class ForgeHooks if (json.has("remove")) { - for (JsonElement entry : JSONUtils.getJsonArray(json, "remove")) + for (JsonElement entry : JSONUtils.getAsJsonArray(json, "remove")) { - String s = JSONUtils.getString(entry, "value"); + String s = JSONUtils.convertToString(entry, "value"); ITag.ITagEntry dummy; if (!s.startsWith("#")) dummy = new ITag.ItemEntry(new ResourceLocation(s)); @@ -1216,7 +1216,7 @@ public class ForgeHooks @Nullable public static IDataSerializer getSerializer(int id, IntIdentityHashBiMap> vanilla) { - IDataSerializer serializer = vanilla.getByValue(id); + IDataSerializer serializer = vanilla.byId(id); if (serializer == null) { DataSerializerEntry entry = ((ForgeRegistry)ForgeRegistries.DATA_SERIALIZERS).getValue(id); @@ -1265,7 +1265,7 @@ public class ForgeHooks public static synchronized void updateBurns() { VANILLA_BURNS.clear(); - FurnaceTileEntity.getBurnTimes().entrySet().forEach(e -> VANILLA_BURNS.put(e.getKey().delegate, e.getValue())); + FurnaceTileEntity.getFuel().entrySet().forEach(e -> VANILLA_BURNS.put(e.getKey().delegate, e.getValue())); } /** @@ -1333,16 +1333,16 @@ public class ForgeHooks { if (structureReferences.remove(null) != null) { - chunk.setModified(true); + chunk.setUnsaved(true); } - chunk.setStructureReferences(structureReferences); + chunk.setAllReferences(structureReferences); } private static final Set VANILLA_DIMS = Sets.newHashSet("minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"); private static final String DIMENSIONS_KEY = "dimensions"; private static final String SEED_KEY = "seed"; //No to static init! - private static final LazyValue>> CODEC = new LazyValue<>(() -> SimpleRegistry.getSimpleRegistryCodec(Registry.DIMENSION_KEY, Lifecycle.stable(), Dimension.CODEC).xmap(Dimension::func_236062_a_, Function.identity())); + private static final LazyValue>> CODEC = new LazyValue<>(() -> SimpleRegistry.dataPackCodec(Registry.LEVEL_STEM_REGISTRY, Lifecycle.stable(), Dimension.CODEC).xmap(Dimension::sortMap, Function.identity())); /** * Restores previously "deleted" dimensions to the world. @@ -1364,31 +1364,31 @@ public class ForgeHooks if (!currentDimNames.containsAll(VANILLA_DIMS)) { LOGGER.warn("Detected missing vanilla dimensions from the world!"); - DynamicRegistries regs = ObfuscationReflectionHelper.getPrivateValue(WorldSettingsImport.class, ops, "field_240872_d_"); + DynamicRegistries regs = ObfuscationReflectionHelper.getPrivateValue(WorldSettingsImport.class, ops, "registryHolder"); if (regs == null) // should not happen, but it could after a MC version update. throw new RuntimeException("Could not access dynamic registries using reflection. " + "The world was detected to have missing vanilla dimensions and the attempted fix did not work."); long seed = data.get(SEED_KEY).get().result().map(d -> d.asLong(0L)).orElse(0L); - Registry biomeReg = regs.getRegistry(Registry.BIOME_KEY); - Registry typeReg = regs.getRegistry(Registry.DIMENSION_TYPE_KEY); - Registry noiseReg = regs.getRegistry(Registry.NOISE_SETTINGS_KEY); + Registry biomeReg = regs.registryOrThrow(Registry.BIOME_REGISTRY); + Registry typeReg = regs.registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); + Registry noiseReg = regs.registryOrThrow(Registry.NOISE_GENERATOR_SETTINGS_REGISTRY); //Loads the default nether and end - SimpleRegistry dimReg = DimensionType.getDefaultSimpleRegistry(typeReg, biomeReg, noiseReg, seed); + SimpleRegistry dimReg = DimensionType.defaultDimensions(typeReg, biomeReg, noiseReg, seed); //Loads the default overworld - dimReg = DimensionGeneratorSettings.func_242749_a(typeReg, dimReg, DimensionGeneratorSettings.func_242750_a(biomeReg, noiseReg, seed)); + dimReg = DimensionGeneratorSettings.withOverworld(typeReg, dimReg, DimensionGeneratorSettings.makeDefaultOverworld(biomeReg, noiseReg, seed)); // Encode and decode the registry. This adds any dimensions from datapacks (see SimpleRegistryCodec#decode), but only the vanilla overrides are needed. // This assumes that the datapacks for the vanilla dimensions have not changed since they were "deleted" // If they did, this will be seen in newly generated chunks. // Since this is to fix an older world, from before the fixes by forge, there is no way to know the state of the dimension when it was "deleted". - dimReg = CODEC.getValue().encodeStart(WorldGenSettingsExport.create(ops, regs), dimReg).flatMap(t -> CODEC.getValue().parse(ops, t)).result().orElse(dimReg); + dimReg = CODEC.get().encodeStart(WorldGenSettingsExport.create(ops, regs), dimReg).flatMap(t -> CODEC.get().parse(ops, t)).result().orElse(dimReg); for (String name : VANILLA_DIMS) { if (currentDimNames.contains(name)) continue; - Dimension dim = dimReg.getOrDefault(new ResourceLocation(name)); + Dimension dim = dimReg.get(new ResourceLocation(name)); if (dim == null) { LOGGER.error("The world is missing dimension: " + name + ", but the attempt to re-inject it failed."); @@ -1438,10 +1438,10 @@ public class ForgeHooks finalMap.forEach((k, v) -> { - AttributeModifierMap modifiers = GlobalEntityTypeAttributes.getAttributesForEntity(k); + AttributeModifierMap modifiers = GlobalEntityTypeAttributes.getSupplier(k); AttributeModifierMap.MutableAttribute newMutable = modifiers != null ? new AttributeModifierMap.MutableAttribute(modifiers) : new AttributeModifierMap.MutableAttribute(); newMutable.combine(v); - FORGE_ATTRIBUTES.put(k, newMutable.create()); + FORGE_ATTRIBUTES.put(k, newMutable.build()); }); } } diff --git a/src/main/java/net/minecraftforge/common/ForgeInternalHandler.java b/src/main/java/net/minecraftforge/common/ForgeInternalHandler.java index b81c85d082..13022c8ac7 100644 --- a/src/main/java/net/minecraftforge/common/ForgeInternalHandler.java +++ b/src/main/java/net/minecraftforge/common/ForgeInternalHandler.java @@ -60,7 +60,7 @@ public class ForgeInternalHandler { entity.remove(); event.setCanceled(true); - event.getWorld().addEntity(newEntity); + event.getWorld().addFreshEntity(newEntity); } } } @@ -90,7 +90,7 @@ public class ForgeInternalHandler @SubscribeEvent public void onChunkUnload(ChunkEvent.Unload event) { - if (!event.getWorld().isRemote()) + if (!event.getWorld().isClientSide()) FarmlandWaterManager.removeTickets(event.getChunk()); } @@ -106,7 +106,7 @@ public class ForgeInternalHandler @SubscribeEvent public void playerLogin(PlayerEvent.PlayerLoggedInEvent event) { - UsernameCache.setUsername(event.getPlayer().getUniqueID(), event.getPlayer().getGameProfile().getName()); + UsernameCache.setUsername(event.getPlayer().getUUID(), event.getPlayer().getGameProfile().getName()); } @SubscribeEvent diff --git a/src/main/java/net/minecraftforge/common/ForgeMod.java b/src/main/java/net/minecraftforge/common/ForgeMod.java index 60b6be3c45..4fd8d9ec51 100644 --- a/src/main/java/net/minecraftforge/common/ForgeMod.java +++ b/src/main/java/net/minecraftforge/common/ForgeMod.java @@ -103,11 +103,11 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook private static final DeferredRegister ATTRIBUTES = DeferredRegister.create(Attribute.class, "forge"); - public static final RegistryObject SWIM_SPEED = ATTRIBUTES.register("swim_speed", () -> new RangedAttribute("forge.swimSpeed", 1.0D, 0.0D, 1024.0D).setShouldWatch(true)); - public static final RegistryObject NAMETAG_DISTANCE = ATTRIBUTES.register("nametag_distance", () -> new RangedAttribute("forge.nameTagDistance", 64.0D, 0.0D, 64.0).setShouldWatch(true)); - public static final RegistryObject ENTITY_GRAVITY = ATTRIBUTES.register("entity_gravity", () -> new RangedAttribute("forge.entity_gravity", 0.08D, -8.0D, 8.0D).setShouldWatch(true)); + public static final RegistryObject SWIM_SPEED = ATTRIBUTES.register("swim_speed", () -> new RangedAttribute("forge.swimSpeed", 1.0D, 0.0D, 1024.0D).setSyncable(true)); + public static final RegistryObject NAMETAG_DISTANCE = ATTRIBUTES.register("nametag_distance", () -> new RangedAttribute("forge.nameTagDistance", 64.0D, 0.0D, 64.0).setSyncable(true)); + public static final RegistryObject ENTITY_GRAVITY = ATTRIBUTES.register("entity_gravity", () -> new RangedAttribute("forge.entity_gravity", 0.08D, -8.0D, 8.0D).setSyncable(true)); - public static final RegistryObject REACH_DISTANCE = ATTRIBUTES.register("reach_distance", () -> new RangedAttribute("generic.reachDistance", 5.0D, 0.0D, 1024.0D).setShouldWatch(true)); + public static final RegistryObject REACH_DISTANCE = ATTRIBUTES.register("reach_distance", () -> new RangedAttribute("generic.reachDistance", 5.0D, 0.0D, 1024.0D).setSyncable(true)); private static boolean enableMilkFluid = false; public static final RegistryObject MILK = RegistryObject.of(new ResourceLocation("milk"), ForgeRegistries.FLUIDS); diff --git a/src/main/java/net/minecraftforge/common/ForgeTagHandler.java b/src/main/java/net/minecraftforge/common/ForgeTagHandler.java index 784c9e65d2..8c46544445 100644 --- a/src/main/java/net/minecraftforge/common/ForgeTagHandler.java +++ b/src/main/java/net/minecraftforge/common/ForgeTagHandler.java @@ -93,7 +93,7 @@ public class ForgeTagHandler { TagRegistry tagRegistry = getTagRegistry(registry); if (tagRegistry == null) throw new IllegalArgumentException("Registry " + registry.getRegistryName() + " does not support tag types."); - return tagRegistry.createTag(name.toString()); + return tagRegistry.bind(name.toString()); } return TagRegistry.createDelayedTag(registry.getRegistryName(), name); } @@ -264,13 +264,13 @@ public class ForgeTagHandler if (makeEmpty) { if (withOptional) - builder.put(registryName, tagRegistry.reinjectOptionalTags(ITagCollection.getTagCollectionFromMap(Collections.emptyMap()))); + builder.put(registryName, tagRegistry.reinjectOptionalTags(ITagCollection.of(Collections.emptyMap()))); else - builder.put(registryName, ITagCollection.getTagCollectionFromMap(Collections.emptyMap())); + builder.put(registryName, ITagCollection.of(Collections.emptyMap())); } else { - builder.put(registryName, ITagCollection.getTagCollectionFromMap(tagRegistry.getTags().stream().distinct().collect(Collectors.toMap(INamedTag::getName, namedTag -> namedTag)))); + builder.put(registryName, ITagCollection.of(tagRegistry.getWrappers().stream().distinct().collect(Collectors.toMap(INamedTag::getName, namedTag -> namedTag)))); } } } @@ -290,7 +290,7 @@ public class ForgeTagHandler { LOGGER.debug("Populated the TagCollectionManager with {} extra types", customTagTypes.size()); } - return ITagCollectionSupplier.getTagCollectionSupplier(blockTags, itemTags, fluidTags, entityTypeTags); + return ITagCollectionSupplier.of(blockTags, itemTags, fluidTags, entityTypeTags); } /** @@ -303,7 +303,7 @@ public class ForgeTagHandler ImmutableMap.Builder> builder = ImmutableMap.builder(); for (TagCollectionReaderInfo info : tagCollectionReaders) { - builder.put(info.tagType, info.reader.buildTagCollectionFromMap(info.tagBuilders)); + builder.put(info.tagType, info.reader.load(info.tagBuilders)); } customTagTypes = builder.build(); } @@ -329,7 +329,7 @@ public class ForgeTagHandler CompletableFuture> customResults = CompletableFuture.completedFuture(new ArrayList<>()); for (Map.Entry> entry : readers.entrySet()) { - customResults = customResults.thenCombine(entry.getValue().readTagsFromManager(resourceManager, backgroundExecutor), (results, result) -> { + customResults = customResults.thenCombine(entry.getValue().prepare(resourceManager, backgroundExecutor), (results, result) -> { results.add(new TagCollectionReaderInfo(entry.getKey(), entry.getValue(), result)); return results; }); @@ -368,7 +368,7 @@ public class ForgeTagHandler TagRegistry tagRegistry = TagRegistryManager.get(registryName); if (tagRegistry != null) { - builder.put(registryName, ITagCollection.getTagCollectionFromMap(Collections.emptyMap())); + builder.put(registryName, ITagCollection.of(Collections.emptyMap())); } } return withSpecificCustom(tagCollectionSupplier, builder.build()); @@ -384,27 +384,27 @@ public class ForgeTagHandler return new ITagCollectionSupplier() { @Override - public ITagCollection getBlockTags() + public ITagCollection getBlocks() { - return tagCollectionSupplier.getBlockTags(); + return tagCollectionSupplier.getBlocks(); } @Override - public ITagCollection getItemTags() + public ITagCollection getItems() { - return tagCollectionSupplier.getItemTags(); + return tagCollectionSupplier.getItems(); } @Override - public ITagCollection getFluidTags() + public ITagCollection getFluids() { - return tagCollectionSupplier.getFluidTags(); + return tagCollectionSupplier.getFluids(); } @Override - public ITagCollection> getEntityTypeTags() + public ITagCollection> getEntityTypes() { - return tagCollectionSupplier.getEntityTypeTags(); + return tagCollectionSupplier.getEntityTypes(); } @Override diff --git a/src/main/java/net/minecraftforge/common/IExtensibleEnum.java b/src/main/java/net/minecraftforge/common/IExtensibleEnum.java index a403fa4435..5df6824efa 100644 --- a/src/main/java/net/minecraftforge/common/IExtensibleEnum.java +++ b/src/main/java/net/minecraftforge/common/IExtensibleEnum.java @@ -58,6 +58,6 @@ public interface IExtensibleEnum * Use this instead of {@link IStringSerializable#createEnumCodec(Supplier, Function)} for extensible enums because this not cache the enum values on construction */ static & IStringSerializable> Codec createCodecForExtensibleEnum(Supplier valuesSupplier, Function enumValueFromNameFunction) { - return IStringSerializable.createCodec(Enum::ordinal, (id) -> valuesSupplier.get()[id], enumValueFromNameFunction); + return IStringSerializable.fromStringResolver(Enum::ordinal, (id) -> valuesSupplier.get()[id], enumValueFromNameFunction); } } diff --git a/src/main/java/net/minecraftforge/common/VillagerTradingManager.java b/src/main/java/net/minecraftforge/common/VillagerTradingManager.java index 220a710744..c052a23fcc 100644 --- a/src/main/java/net/minecraftforge/common/VillagerTradingManager.java +++ b/src/main/java/net/minecraftforge/common/VillagerTradingManager.java @@ -43,13 +43,13 @@ public class VillagerTradingManager static { - VillagerTrades.VILLAGER_DEFAULT_TRADES.entrySet().forEach(e -> + VillagerTrades.TRADES.entrySet().forEach(e -> { Int2ObjectMap copy = new Int2ObjectOpenHashMap<>(); e.getValue().int2ObjectEntrySet().forEach(ent -> copy.put(ent.getIntKey(), Arrays.copyOf(ent.getValue(), ent.getValue().length))); VANILLA_TRADES.put(e.getKey(), copy); }); - VillagerTrades.field_221240_b.int2ObjectEntrySet().forEach(e -> WANDERER_TRADES.put(e.getIntKey(), Arrays.copyOf(e.getValue(), e.getValue().length))); + VillagerTrades.WANDERING_TRADER_TRADES.int2ObjectEntrySet().forEach(e -> WANDERER_TRADES.put(e.getIntKey(), Arrays.copyOf(e.getValue(), e.getValue().length))); } static void loadTrades(FMLServerAboutToStartEvent e) @@ -68,8 +68,8 @@ public class VillagerTradingManager Arrays.stream(WANDERER_TRADES.get(1)).forEach(generic::add); Arrays.stream(WANDERER_TRADES.get(2)).forEach(rare::add); MinecraftForge.EVENT_BUS.post(new WandererTradesEvent(generic, rare)); - VillagerTrades.field_221240_b.put(1, generic.toArray(new ITrade[0])); - VillagerTrades.field_221240_b.put(2, rare.toArray(new ITrade[0])); + VillagerTrades.WANDERING_TRADER_TRADES.put(1, generic.toArray(new ITrade[0])); + VillagerTrades.WANDERING_TRADER_TRADES.put(2, rare.toArray(new ITrade[0])); } /** @@ -92,7 +92,7 @@ public class VillagerTradingManager MinecraftForge.EVENT_BUS.post(new VillagerTradesEvent(mutableTrades, prof)); Int2ObjectMap newTrades = new Int2ObjectOpenHashMap<>(); mutableTrades.int2ObjectEntrySet().forEach(e -> newTrades.put(e.getIntKey(), e.getValue().toArray(new ITrade[0]))); - VillagerTrades.VILLAGER_DEFAULT_TRADES.put(prof, newTrades); + VillagerTrades.TRADES.put(prof, newTrades); } } diff --git a/src/main/java/net/minecraftforge/common/animation/TimeValues.java b/src/main/java/net/minecraftforge/common/animation/TimeValues.java index 352a4310b7..28021eac33 100644 --- a/src/main/java/net/minecraftforge/common/animation/TimeValues.java +++ b/src/main/java/net/minecraftforge/common/animation/TimeValues.java @@ -52,7 +52,7 @@ public final class TimeValues } @Override - public String getString() + public String getSerializedName() { return "identity"; } @@ -244,7 +244,7 @@ public final class TimeValues } @Override - public String getString() + public String getSerializedName() { return parameterName; } @@ -346,7 +346,7 @@ public final class TimeValues } else if(parameter instanceof IStringSerializable) { - out.value("#" + ((IStringSerializable)parameter).getString()); + out.value("#" + ((IStringSerializable)parameter).getSerializedName()); } } diff --git a/src/main/java/net/minecraftforge/common/brewing/VanillaBrewingRecipe.java b/src/main/java/net/minecraftforge/common/brewing/VanillaBrewingRecipe.java index c67db88aa2..ce36868764 100644 --- a/src/main/java/net/minecraftforge/common/brewing/VanillaBrewingRecipe.java +++ b/src/main/java/net/minecraftforge/common/brewing/VanillaBrewingRecipe.java @@ -47,7 +47,7 @@ public class VanillaBrewingRecipe implements IBrewingRecipe { @Override public boolean isIngredient(ItemStack stack) { - return PotionBrewing.isReagent(stack); + return PotionBrewing.isIngredient(stack); } /** @@ -60,7 +60,7 @@ public class VanillaBrewingRecipe implements IBrewingRecipe { { if (!input.isEmpty() && !ingredient.isEmpty() && isIngredient(ingredient)) { - ItemStack result = PotionBrewing.doReaction(ingredient, input); + ItemStack result = PotionBrewing.mix(ingredient, input); if (result != input) { return result; diff --git a/src/main/java/net/minecraftforge/common/crafting/CompoundIngredient.java b/src/main/java/net/minecraftforge/common/crafting/CompoundIngredient.java index 0fc2c50fcb..3d1b951384 100644 --- a/src/main/java/net/minecraftforge/common/crafting/CompoundIngredient.java +++ b/src/main/java/net/minecraftforge/common/crafting/CompoundIngredient.java @@ -57,13 +57,13 @@ public class CompoundIngredient extends Ingredient @Override @Nonnull - public ItemStack[] getMatchingStacks() + public ItemStack[] getItems() { if (stacks == null) { List tmp = Lists.newArrayList(); for (Ingredient child : children) - Collections.addAll(tmp, child.getMatchingStacks()); + Collections.addAll(tmp, child.getItems()); stacks = tmp.toArray(new ItemStack[tmp.size()]); } @@ -72,14 +72,14 @@ public class CompoundIngredient extends Ingredient @Override @Nonnull - public IntList getValidItemStacksPacked() + public IntList getStackingIds() { //TODO: Add a child.isInvalid()? if (this.itemIds == null) { this.itemIds = new IntArrayList(); for (Ingredient child : children) - this.itemIds.addAll(child.getValidItemStacksPacked()); + this.itemIds.addAll(child.getStackingIds()); this.itemIds.sort(IntComparators.NATURAL_COMPARATOR); } @@ -122,24 +122,24 @@ public class CompoundIngredient extends Ingredient } @Override - public JsonElement serialize() + public JsonElement toJson() { if (this.children.size() == 1) { - return this.children.get(0).serialize(); + return this.children.get(0).toJson(); } else { JsonArray json = new JsonArray(); - this.children.stream().forEach(e -> json.add(e.serialize())); + this.children.stream().forEach(e -> json.add(e.toJson())); return json; } } @Override - public boolean hasNoMatchingItems() + public boolean isEmpty() { - return getMatchingStacks().length == 0; + return getItems().length == 0; } public static class Serializer implements IIngredientSerializer @@ -149,7 +149,7 @@ public class CompoundIngredient extends Ingredient @Override public CompoundIngredient parse(PacketBuffer buffer) { - return new CompoundIngredient(Stream.generate(() -> Ingredient.read(buffer)).limit(buffer.readVarInt()).collect(Collectors.toList())); + return new CompoundIngredient(Stream.generate(() -> Ingredient.fromNetwork(buffer)).limit(buffer.readVarInt()).collect(Collectors.toList())); } @Override @@ -162,7 +162,7 @@ public class CompoundIngredient extends Ingredient public void write(PacketBuffer buffer, CompoundIngredient ingredient) { buffer.writeVarInt(ingredient.children.size()); - ingredient.children.forEach(c -> c.write(buffer)); + ingredient.children.forEach(c -> c.toNetwork(buffer)); } } diff --git a/src/main/java/net/minecraftforge/common/crafting/ConditionalAdvancement.java b/src/main/java/net/minecraftforge/common/crafting/ConditionalAdvancement.java index d945cf0388..847f9aa62d 100644 --- a/src/main/java/net/minecraftforge/common/crafting/ConditionalAdvancement.java +++ b/src/main/java/net/minecraftforge/common/crafting/ConditionalAdvancement.java @@ -55,7 +55,7 @@ public class ConditionalAdvancement */ @Nullable public static JsonObject processConditional(JsonObject json) { - JsonArray entries = JSONUtils.getJsonArray(json, "advancements", null); + JsonArray entries = JSONUtils.getAsJsonArray(json, "advancements", null); if (entries == null) { return CraftingHelper.processConditions(json, "conditions") ? json : null; @@ -66,8 +66,8 @@ public class ConditionalAdvancement { if (!ele.isJsonObject()) throw new JsonSyntaxException("Invalid advancement entry at index " + idx + " Must be JsonObject"); - if (CraftingHelper.processConditions(JSONUtils.getJsonArray(ele.getAsJsonObject(), "conditions"))) - return JSONUtils.getJsonObject(ele.getAsJsonObject(), "advancement"); + if (CraftingHelper.processConditions(JSONUtils.getAsJsonArray(ele.getAsJsonObject(), "conditions"))) + return JSONUtils.getAsJsonObject(ele.getAsJsonObject(), "advancement"); idx++; } return null; @@ -99,12 +99,12 @@ public class ConditionalAdvancement public Builder addAdvancement(Advancement.Builder advancement) { - return addAdvancement(advancement::serialize); + return addAdvancement(advancement::serializeToJson); } public Builder addAdvancement(IFinishedRecipe fromRecipe) { - return addAdvancement(fromRecipe::getAdvancementJson); + return addAdvancement(fromRecipe::serializeAdvancement); } private Builder addAdvancement(Supplier jsonSupplier) diff --git a/src/main/java/net/minecraftforge/common/crafting/ConditionalRecipe.java b/src/main/java/net/minecraftforge/common/crafting/ConditionalRecipe.java index be16814675..95845674d6 100644 --- a/src/main/java/net/minecraftforge/common/crafting/ConditionalRecipe.java +++ b/src/main/java/net/minecraftforge/common/crafting/ConditionalRecipe.java @@ -81,24 +81,24 @@ public class ConditionalRecipe @SuppressWarnings("unchecked") // We return a nested one, so we can't know what type it is. @Override - public T read(ResourceLocation recipeId, JsonObject json) + public T fromJson(ResourceLocation recipeId, JsonObject json) { - JsonArray items = JSONUtils.getJsonArray(json, "recipes"); + JsonArray items = JSONUtils.getAsJsonArray(json, "recipes"); int idx = 0; for (JsonElement ele : items) { if (!ele.isJsonObject()) throw new JsonSyntaxException("Invalid recipes entry at index " + idx + " Must be JsonObject"); - if (CraftingHelper.processConditions(JSONUtils.getJsonArray(ele.getAsJsonObject(), "conditions"))) - return (T)RecipeManager.deserializeRecipe(recipeId, JSONUtils.getJsonObject(ele.getAsJsonObject(), "recipe")); + if (CraftingHelper.processConditions(JSONUtils.getAsJsonArray(ele.getAsJsonObject(), "conditions"))) + return (T)RecipeManager.fromJson(recipeId, JSONUtils.getAsJsonObject(ele.getAsJsonObject(), "recipe")); idx++; } return null; } //Should never get here as we return one of the recipes we wrap. - @Override public T read(ResourceLocation recipeId, PacketBuffer buffer) { return null; } - @Override public void write(PacketBuffer buffer, T recipe) {} + @Override public T fromNetwork(ResourceLocation recipeId, PacketBuffer buffer) { return null; } + @Override public void toNetwork(PacketBuffer buffer, T recipe) {} } public static class Builder @@ -207,7 +207,7 @@ public class ConditionalRecipe } @Override - public void serialize(JsonObject json) { + public void serializeRecipeData(JsonObject json) { JsonArray array = new JsonArray(); json.add("recipes", array); for (int x = 0; x < conditions.size(); x++) @@ -218,30 +218,30 @@ public class ConditionalRecipe for (ICondition c : conditions.get(x)) conds.add(CraftingHelper.serialize(c)); holder.add("conditions", conds); - holder.add("recipe", recipes.get(x).getRecipeJson()); + holder.add("recipe", recipes.get(x).serializeRecipe()); array.add(holder); } } @Override - public ResourceLocation getID() { + public ResourceLocation getId() { return id; } @Override - public IRecipeSerializer getSerializer() + public IRecipeSerializer getType() { return SERIALZIER; } @Override - public JsonObject getAdvancementJson() { + public JsonObject serializeAdvancement() { return adv == null ? null : adv.write(); } @Override - public ResourceLocation getAdvancementID() { + public ResourceLocation getAdvancementId() { return advId; } } diff --git a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java index d2565a6089..95d5f05769 100644 --- a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java +++ b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java @@ -144,7 +144,7 @@ public class CraftingHelper JsonObject obj = (JsonObject)json; - String type = JSONUtils.getString(obj, "type", "minecraft:item"); + String type = JSONUtils.getAsString(obj, "type", "minecraft:item"); if (type.isEmpty()) throw new JsonSyntaxException("Ingredient type can not be an empty string"); @@ -157,7 +157,7 @@ public class CraftingHelper public static ItemStack getItemStack(JsonObject json, boolean readNBT) { - String itemName = JSONUtils.getString(json, "item"); + String itemName = JSONUtils.getAsString(json, "item"); Item item = ForgeRegistries.ITEMS.getValue(new ResourceLocation(itemName)); @@ -172,9 +172,9 @@ public class CraftingHelper JsonElement element = json.get("nbt"); CompoundNBT nbt; if(element.isJsonObject()) - nbt = JsonToNBT.getTagFromJson(GSON.toJson(element)); + nbt = JsonToNBT.parseTag(GSON.toJson(element)); else - nbt = JsonToNBT.getTagFromJson(JSONUtils.getString(element, "nbt")); + nbt = JsonToNBT.parseTag(JSONUtils.convertToString(element, "nbt")); CompoundNBT tmp = new CompoundNBT(); if (nbt.contains("ForgeCaps")) @@ -185,9 +185,9 @@ public class CraftingHelper tmp.put("tag", nbt); tmp.putString("id", itemName); - tmp.putInt("Count", JSONUtils.getInt(json, "count", 1)); + tmp.putInt("Count", JSONUtils.getAsInt(json, "count", 1)); - return ItemStack.read(tmp); + return ItemStack.of(tmp); } catch (CommandSyntaxException e) { @@ -195,12 +195,12 @@ public class CraftingHelper } } - return new ItemStack(item, JSONUtils.getInt(json, "count", 1)); + return new ItemStack(item, JSONUtils.getAsInt(json, "count", 1)); } public static boolean processConditions(JsonObject json, String memberName) { - return !json.has(memberName) || processConditions(JSONUtils.getJsonArray(json, memberName)); + return !json.has(memberName) || processConditions(JSONUtils.getAsJsonArray(json, memberName)); } public static boolean processConditions(JsonArray conditions) @@ -219,7 +219,7 @@ public class CraftingHelper public static ICondition getCondition(JsonObject json) { - ResourceLocation type = new ResourceLocation(JSONUtils.getString(json, "type")); + ResourceLocation type = new ResourceLocation(JSONUtils.getAsString(json, "type")); IConditionSerializer serializer = conditions.get(type); if (serializer == null) throw new JsonSyntaxException("Unknown condition type: " + type.toString()); diff --git a/src/main/java/net/minecraftforge/common/crafting/NBTIngredient.java b/src/main/java/net/minecraftforge/common/crafting/NBTIngredient.java index bf3b90bc78..1e765e3a9f 100644 --- a/src/main/java/net/minecraftforge/common/crafting/NBTIngredient.java +++ b/src/main/java/net/minecraftforge/common/crafting/NBTIngredient.java @@ -45,7 +45,7 @@ public class NBTIngredient extends Ingredient if (input == null) return false; //Can't use areItemStacksEqualUsingNBTShareTag because it compares stack size as well - return this.stack.getItem() == input.getItem() && this.stack.getDamage() == input.getDamage() && this.stack.areShareTagsEqual(input); + return this.stack.getItem() == input.getItem() && this.stack.getDamageValue() == input.getDamageValue() && this.stack.areShareTagsEqual(input); } @Override @@ -61,7 +61,7 @@ public class NBTIngredient extends Ingredient } @Override - public JsonElement serialize() + public JsonElement toJson() { JsonObject json = new JsonObject(); json.addProperty("type", CraftingHelper.getID(Serializer.INSTANCE).toString()); @@ -78,7 +78,7 @@ public class NBTIngredient extends Ingredient @Override public NBTIngredient parse(PacketBuffer buffer) { - return new NBTIngredient(buffer.readItemStack()); + return new NBTIngredient(buffer.readItem()); } @Override @@ -88,7 +88,7 @@ public class NBTIngredient extends Ingredient @Override public void write(PacketBuffer buffer, NBTIngredient ingredient) { - buffer.writeItemStack(ingredient.stack); + buffer.writeItem(ingredient.stack); } } } diff --git a/src/main/java/net/minecraftforge/common/crafting/StackList.java b/src/main/java/net/minecraftforge/common/crafting/StackList.java index 09104491bc..e8792c9f38 100644 --- a/src/main/java/net/minecraftforge/common/crafting/StackList.java +++ b/src/main/java/net/minecraftforge/common/crafting/StackList.java @@ -37,7 +37,7 @@ public class StackList implements IItemList } @Override - public Collection getStacks() + public Collection getItems() { return items; } diff --git a/src/main/java/net/minecraftforge/common/crafting/VanillaIngredientSerializer.java b/src/main/java/net/minecraftforge/common/crafting/VanillaIngredientSerializer.java index 25a68c7a62..c2892bf267 100644 --- a/src/main/java/net/minecraftforge/common/crafting/VanillaIngredientSerializer.java +++ b/src/main/java/net/minecraftforge/common/crafting/VanillaIngredientSerializer.java @@ -33,20 +33,20 @@ public class VanillaIngredientSerializer implements IIngredientSerializer new Ingredient.SingleItemList(buffer.readItemStack())).limit(buffer.readVarInt())); + return Ingredient.fromValues(Stream.generate(() -> new Ingredient.SingleItemList(buffer.readItem())).limit(buffer.readVarInt())); } public Ingredient parse(JsonObject json) { - return Ingredient.fromItemListStream(Stream.of(Ingredient.deserializeItemList(json))); + return Ingredient.fromValues(Stream.of(Ingredient.valueFromJson(json))); } public void write(PacketBuffer buffer, Ingredient ingredient) { - ItemStack[] items = ingredient.getMatchingStacks(); + ItemStack[] items = ingredient.getItems(); buffer.writeVarInt(items.length); for (ItemStack stack : items) - buffer.writeItemStack(stack); + buffer.writeItem(stack); } } diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/AndCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/AndCondition.java index 0e5e6f5dca..c16776fb68 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/AndCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/AndCondition.java @@ -91,7 +91,7 @@ public class AndCondition implements ICondition public AndCondition read(JsonObject json) { List children = new ArrayList<>(); - for (JsonElement j : JSONUtils.getJsonArray(json, "values")) + for (JsonElement j : JSONUtils.getAsJsonArray(json, "values")) { if (!j.isJsonObject()) throw new JsonSyntaxException("And condition values must be an array of JsonObjects"); diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/ItemExistsCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/ItemExistsCondition.java index ddaecb2ab0..11036492d5 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/ItemExistsCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/ItemExistsCondition.java @@ -76,7 +76,7 @@ public class ItemExistsCondition implements ICondition @Override public ItemExistsCondition read(JsonObject json) { - return new ItemExistsCondition(new ResourceLocation(JSONUtils.getString(json, "item"))); + return new ItemExistsCondition(new ResourceLocation(JSONUtils.getAsString(json, "item"))); } @Override diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/ModLoadedCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/ModLoadedCondition.java index 00a96e5184..369cb01c21 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/ModLoadedCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/ModLoadedCondition.java @@ -66,7 +66,7 @@ public class ModLoadedCondition implements ICondition @Override public ModLoadedCondition read(JsonObject json) { - return new ModLoadedCondition(JSONUtils.getString(json, "modid")); + return new ModLoadedCondition(JSONUtils.getAsString(json, "modid")); } @Override diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/NotCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/NotCondition.java index e5818047db..02681eed4c 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/NotCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/NotCondition.java @@ -65,7 +65,7 @@ public class NotCondition implements ICondition @Override public NotCondition read(JsonObject json) { - return new NotCondition(CraftingHelper.getCondition(JSONUtils.getJsonObject(json, "value"))); + return new NotCondition(CraftingHelper.getCondition(JSONUtils.getAsJsonObject(json, "value"))); } @Override diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/OrCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/OrCondition.java index 3a006d7f4e..855655b07c 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/OrCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/OrCondition.java @@ -92,7 +92,7 @@ public class OrCondition implements ICondition public OrCondition read(JsonObject json) { List children = new ArrayList<>(); - for (JsonElement j : JSONUtils.getJsonArray(json, "values")) + for (JsonElement j : JSONUtils.getAsJsonArray(json, "values")) { if (!j.isJsonObject()) throw new JsonSyntaxException("Or condition values must be an array of JsonObjects"); diff --git a/src/main/java/net/minecraftforge/common/crafting/conditions/TagEmptyCondition.java b/src/main/java/net/minecraftforge/common/crafting/conditions/TagEmptyCondition.java index 3a091b35c4..11827ebb39 100644 --- a/src/main/java/net/minecraftforge/common/crafting/conditions/TagEmptyCondition.java +++ b/src/main/java/net/minecraftforge/common/crafting/conditions/TagEmptyCondition.java @@ -56,8 +56,8 @@ public class TagEmptyCondition implements ICondition @Override public boolean test() { - ITag tag = TagCollectionManager.getManager().getItemTags().get(tag_name); - return tag == null || tag.getAllElements().isEmpty(); + ITag tag = TagCollectionManager.getInstance().getItems().getTag(tag_name); + return tag == null || tag.getValues().isEmpty(); } @Override @@ -79,7 +79,7 @@ public class TagEmptyCondition implements ICondition @Override public TagEmptyCondition read(JsonObject json) { - return new TagEmptyCondition(new ResourceLocation(JSONUtils.getString(json, "tag"))); + return new TagEmptyCondition(new ResourceLocation(JSONUtils.getAsString(json, "tag"))); } @Override diff --git a/src/main/java/net/minecraftforge/common/data/ExistingFileHelper.java b/src/main/java/net/minecraftforge/common/data/ExistingFileHelper.java index 2d9fc063f0..8cbcff9124 100644 --- a/src/main/java/net/minecraftforge/common/data/ExistingFileHelper.java +++ b/src/main/java/net/minecraftforge/common/data/ExistingFileHelper.java @@ -108,20 +108,20 @@ public class ExistingFileHelper { public ExistingFileHelper(Collection existingPacks, Set existingMods, boolean enable) { this.clientResources = new SimpleReloadableResourceManager(ResourcePackType.CLIENT_RESOURCES); this.serverData = new SimpleReloadableResourceManager(ResourcePackType.SERVER_DATA); - this.clientResources.addResourcePack(new VanillaPack("minecraft", "realms")); - this.serverData.addResourcePack(new VanillaPack("minecraft")); + this.clientResources.add(new VanillaPack("minecraft", "realms")); + this.serverData.add(new VanillaPack("minecraft")); for (Path existing : existingPacks) { File file = existing.toFile(); IResourcePack pack = file.isDirectory() ? new FolderPack(file) : new FilePack(file); - this.clientResources.addResourcePack(pack); - this.serverData.addResourcePack(pack); + this.clientResources.add(pack); + this.serverData.add(pack); } for (String existingMod : existingMods) { ModFileInfo modFileInfo = ModList.get().getModFileById(existingMod); if (modFileInfo != null) { IResourcePack pack = new ModFileResourcePack(modFileInfo.getFile()); - this.clientResources.addResourcePack(pack); - this.serverData.addResourcePack(pack); + this.clientResources.add(pack); + this.serverData.add(pack); } } this.enable = enable; diff --git a/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java index 0bb1de2649..11c9bac746 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java @@ -44,55 +44,55 @@ public class ForgeBlockTagsProvider extends BlockTagsProvider @SuppressWarnings("unchecked") @Override - public void registerTags() + public void addTags() { - getOrCreateBuilder(CHESTS).addTags(CHESTS_ENDER, CHESTS_TRAPPED, CHESTS_WOODEN); - getOrCreateBuilder(CHESTS_ENDER).add(Blocks.ENDER_CHEST); - getOrCreateBuilder(CHESTS_TRAPPED).add(Blocks.TRAPPED_CHEST); - getOrCreateBuilder(CHESTS_WOODEN).add(Blocks.CHEST, Blocks.TRAPPED_CHEST); - getOrCreateBuilder(COBBLESTONE).add(Blocks.COBBLESTONE, Blocks.INFESTED_COBBLESTONE, Blocks.MOSSY_COBBLESTONE); - getOrCreateBuilder(DIRT).add(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.MYCELIUM); - getOrCreateBuilder(END_STONES).add(Blocks.END_STONE); - getOrCreateBuilder(ENDERMAN_PLACE_ON_BLACKLIST); - getOrCreateBuilder(FENCE_GATES).addTags(FENCE_GATES_WOODEN); - getOrCreateBuilder(FENCE_GATES_WOODEN).add(Blocks.OAK_FENCE_GATE, Blocks.SPRUCE_FENCE_GATE, Blocks.BIRCH_FENCE_GATE, Blocks.JUNGLE_FENCE_GATE, Blocks.ACACIA_FENCE_GATE, Blocks.DARK_OAK_FENCE_GATE, Blocks.CRIMSON_FENCE_GATE, Blocks.WARPED_FENCE_GATE); - getOrCreateBuilder(FENCES).addTags(FENCES_NETHER_BRICK, FENCES_WOODEN); - getOrCreateBuilder(FENCES_NETHER_BRICK).add(Blocks.NETHER_BRICK_FENCE); - getOrCreateBuilder(FENCES_WOODEN).add(Blocks.OAK_FENCE, Blocks.SPRUCE_FENCE, Blocks.BIRCH_FENCE, Blocks.JUNGLE_FENCE, Blocks.ACACIA_FENCE, Blocks.DARK_OAK_FENCE, Blocks.CRIMSON_FENCE, Blocks.WARPED_FENCE); - getOrCreateBuilder(GLASS).addTags(GLASS_COLORLESS, STAINED_GLASS); - getOrCreateBuilder(GLASS_COLORLESS).add(Blocks.GLASS); - addColored(getOrCreateBuilder(STAINED_GLASS)::add, GLASS, "{color}_stained_glass"); - getOrCreateBuilder(GLASS_PANES).addTags(GLASS_PANES_COLORLESS, STAINED_GLASS_PANES); - getOrCreateBuilder(GLASS_PANES_COLORLESS).add(Blocks.GLASS_PANE); - addColored(getOrCreateBuilder(STAINED_GLASS_PANES)::add, GLASS_PANES, "{color}_stained_glass_pane"); - getOrCreateBuilder(GRAVEL).add(Blocks.GRAVEL); - getOrCreateBuilder(NETHERRACK).add(Blocks.NETHERRACK); - getOrCreateBuilder(OBSIDIAN).add(Blocks.OBSIDIAN); - getOrCreateBuilder(ORES).addTags(ORES_COAL, ORES_DIAMOND, ORES_EMERALD, ORES_GOLD, ORES_IRON, ORES_LAPIS, ORES_REDSTONE, ORES_QUARTZ, ORES_NETHERITE_SCRAP); - getOrCreateBuilder(ORES_COAL).add(Blocks.COAL_ORE); - getOrCreateBuilder(ORES_DIAMOND).add(Blocks.DIAMOND_ORE); - getOrCreateBuilder(ORES_EMERALD).add(Blocks.EMERALD_ORE); - getOrCreateBuilder(ORES_GOLD).addTag(BlockTags.GOLD_ORES); - getOrCreateBuilder(ORES_IRON).add(Blocks.IRON_ORE); - getOrCreateBuilder(ORES_LAPIS).add(Blocks.LAPIS_ORE); - getOrCreateBuilder(ORES_QUARTZ).add(Blocks.NETHER_QUARTZ_ORE); - getOrCreateBuilder(ORES_REDSTONE).add(Blocks.REDSTONE_ORE); - getOrCreateBuilder(ORES_NETHERITE_SCRAP).add(Blocks.ANCIENT_DEBRIS); - getOrCreateBuilder(SAND).addTags(SAND_COLORLESS, SAND_RED); - getOrCreateBuilder(SAND_COLORLESS).add(Blocks.SAND); - getOrCreateBuilder(SAND_RED).add(Blocks.RED_SAND); - getOrCreateBuilder(SANDSTONE).add(Blocks.SANDSTONE, Blocks.CUT_SANDSTONE, Blocks.CHISELED_SANDSTONE, Blocks.SMOOTH_SANDSTONE, Blocks.RED_SANDSTONE, Blocks.CUT_RED_SANDSTONE, Blocks.CHISELED_RED_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE); - getOrCreateBuilder(STONE).add(Blocks.ANDESITE, Blocks.DIORITE, Blocks.GRANITE, Blocks.INFESTED_STONE, Blocks.STONE, Blocks.POLISHED_ANDESITE, Blocks.POLISHED_DIORITE, Blocks.POLISHED_GRANITE); - getOrCreateBuilder(STORAGE_BLOCKS).addTags(STORAGE_BLOCKS_COAL, STORAGE_BLOCKS_DIAMOND, STORAGE_BLOCKS_EMERALD, STORAGE_BLOCKS_GOLD, STORAGE_BLOCKS_IRON, STORAGE_BLOCKS_LAPIS, STORAGE_BLOCKS_QUARTZ, STORAGE_BLOCKS_REDSTONE, STORAGE_BLOCKS_NETHERITE); - getOrCreateBuilder(STORAGE_BLOCKS_COAL).add(Blocks.COAL_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_DIAMOND).add(Blocks.DIAMOND_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_EMERALD).add(Blocks.EMERALD_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_GOLD).add(Blocks.GOLD_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_IRON).add(Blocks.IRON_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_LAPIS).add(Blocks.LAPIS_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_QUARTZ).add(Blocks.QUARTZ_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_REDSTONE).add(Blocks.REDSTONE_BLOCK); - getOrCreateBuilder(STORAGE_BLOCKS_NETHERITE).add(Blocks.NETHERITE_BLOCK); + tag(CHESTS).addTags(CHESTS_ENDER, CHESTS_TRAPPED, CHESTS_WOODEN); + tag(CHESTS_ENDER).add(Blocks.ENDER_CHEST); + tag(CHESTS_TRAPPED).add(Blocks.TRAPPED_CHEST); + tag(CHESTS_WOODEN).add(Blocks.CHEST, Blocks.TRAPPED_CHEST); + tag(COBBLESTONE).add(Blocks.COBBLESTONE, Blocks.INFESTED_COBBLESTONE, Blocks.MOSSY_COBBLESTONE); + tag(DIRT).add(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.MYCELIUM); + tag(END_STONES).add(Blocks.END_STONE); + tag(ENDERMAN_PLACE_ON_BLACKLIST); + tag(FENCE_GATES).addTags(FENCE_GATES_WOODEN); + tag(FENCE_GATES_WOODEN).add(Blocks.OAK_FENCE_GATE, Blocks.SPRUCE_FENCE_GATE, Blocks.BIRCH_FENCE_GATE, Blocks.JUNGLE_FENCE_GATE, Blocks.ACACIA_FENCE_GATE, Blocks.DARK_OAK_FENCE_GATE, Blocks.CRIMSON_FENCE_GATE, Blocks.WARPED_FENCE_GATE); + tag(FENCES).addTags(FENCES_NETHER_BRICK, FENCES_WOODEN); + tag(FENCES_NETHER_BRICK).add(Blocks.NETHER_BRICK_FENCE); + tag(FENCES_WOODEN).add(Blocks.OAK_FENCE, Blocks.SPRUCE_FENCE, Blocks.BIRCH_FENCE, Blocks.JUNGLE_FENCE, Blocks.ACACIA_FENCE, Blocks.DARK_OAK_FENCE, Blocks.CRIMSON_FENCE, Blocks.WARPED_FENCE); + tag(GLASS).addTags(GLASS_COLORLESS, STAINED_GLASS); + tag(GLASS_COLORLESS).add(Blocks.GLASS); + addColored(tag(STAINED_GLASS)::add, GLASS, "{color}_stained_glass"); + tag(GLASS_PANES).addTags(GLASS_PANES_COLORLESS, STAINED_GLASS_PANES); + tag(GLASS_PANES_COLORLESS).add(Blocks.GLASS_PANE); + addColored(tag(STAINED_GLASS_PANES)::add, GLASS_PANES, "{color}_stained_glass_pane"); + tag(GRAVEL).add(Blocks.GRAVEL); + tag(NETHERRACK).add(Blocks.NETHERRACK); + tag(OBSIDIAN).add(Blocks.OBSIDIAN); + tag(ORES).addTags(ORES_COAL, ORES_DIAMOND, ORES_EMERALD, ORES_GOLD, ORES_IRON, ORES_LAPIS, ORES_REDSTONE, ORES_QUARTZ, ORES_NETHERITE_SCRAP); + tag(ORES_COAL).add(Blocks.COAL_ORE); + tag(ORES_DIAMOND).add(Blocks.DIAMOND_ORE); + tag(ORES_EMERALD).add(Blocks.EMERALD_ORE); + tag(ORES_GOLD).addTag(BlockTags.GOLD_ORES); + tag(ORES_IRON).add(Blocks.IRON_ORE); + tag(ORES_LAPIS).add(Blocks.LAPIS_ORE); + tag(ORES_QUARTZ).add(Blocks.NETHER_QUARTZ_ORE); + tag(ORES_REDSTONE).add(Blocks.REDSTONE_ORE); + tag(ORES_NETHERITE_SCRAP).add(Blocks.ANCIENT_DEBRIS); + tag(SAND).addTags(SAND_COLORLESS, SAND_RED); + tag(SAND_COLORLESS).add(Blocks.SAND); + tag(SAND_RED).add(Blocks.RED_SAND); + tag(SANDSTONE).add(Blocks.SANDSTONE, Blocks.CUT_SANDSTONE, Blocks.CHISELED_SANDSTONE, Blocks.SMOOTH_SANDSTONE, Blocks.RED_SANDSTONE, Blocks.CUT_RED_SANDSTONE, Blocks.CHISELED_RED_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE); + tag(STONE).add(Blocks.ANDESITE, Blocks.DIORITE, Blocks.GRANITE, Blocks.INFESTED_STONE, Blocks.STONE, Blocks.POLISHED_ANDESITE, Blocks.POLISHED_DIORITE, Blocks.POLISHED_GRANITE); + tag(STORAGE_BLOCKS).addTags(STORAGE_BLOCKS_COAL, STORAGE_BLOCKS_DIAMOND, STORAGE_BLOCKS_EMERALD, STORAGE_BLOCKS_GOLD, STORAGE_BLOCKS_IRON, STORAGE_BLOCKS_LAPIS, STORAGE_BLOCKS_QUARTZ, STORAGE_BLOCKS_REDSTONE, STORAGE_BLOCKS_NETHERITE); + tag(STORAGE_BLOCKS_COAL).add(Blocks.COAL_BLOCK); + tag(STORAGE_BLOCKS_DIAMOND).add(Blocks.DIAMOND_BLOCK); + tag(STORAGE_BLOCKS_EMERALD).add(Blocks.EMERALD_BLOCK); + tag(STORAGE_BLOCKS_GOLD).add(Blocks.GOLD_BLOCK); + tag(STORAGE_BLOCKS_IRON).add(Blocks.IRON_BLOCK); + tag(STORAGE_BLOCKS_LAPIS).add(Blocks.LAPIS_BLOCK); + tag(STORAGE_BLOCKS_QUARTZ).add(Blocks.QUARTZ_BLOCK); + tag(STORAGE_BLOCKS_REDSTONE).add(Blocks.REDSTONE_BLOCK); + tag(STORAGE_BLOCKS_NETHERITE).add(Blocks.NETHERITE_BLOCK); } private void addColored(Consumer consumer, ITag.INamedTag group, String pattern) @@ -100,12 +100,12 @@ public class ForgeBlockTagsProvider extends BlockTagsProvider String prefix = group.getName().getPath().toUpperCase(Locale.ENGLISH) + '_'; for (DyeColor color : DyeColor.values()) { - ResourceLocation key = new ResourceLocation("minecraft", pattern.replace("{color}", color.getTranslationKey())); - ITag.INamedTag tag = getForgeTag(prefix + color.getTranslationKey()); + ResourceLocation key = new ResourceLocation("minecraft", pattern.replace("{color}", color.getName())); + ITag.INamedTag tag = getForgeTag(prefix + color.getName()); Block block = ForgeRegistries.BLOCKS.getValue(key); if (block == null || block == Blocks.AIR) throw new IllegalStateException("Unknown vanilla block: " + key.toString()); - getOrCreateBuilder(tag).add(block); + tag(tag).add(block); consumer.accept(block); } } diff --git a/src/main/java/net/minecraftforge/common/data/ForgeFluidTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeFluidTagsProvider.java index d0cd54fad5..10027ae285 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeFluidTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeFluidTagsProvider.java @@ -33,9 +33,9 @@ public class ForgeFluidTagsProvider extends FluidTagsProvider } @Override - public void registerTags() + public void addTags() { - getOrCreateBuilder(MILK).addOptional(ForgeMod.MILK.getId()).addOptional(ForgeMod.FLOWING_MILK.getId()); + tag(MILK).addOptional(ForgeMod.MILK.getId()).addOptional(ForgeMod.FLOWING_MILK.getId()); } @Override diff --git a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java index 45b6881104..251e5349e1 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java @@ -43,61 +43,61 @@ public class ForgeItemTagsProvider extends ItemTagsProvider @SuppressWarnings("unchecked") @Override - public void registerTags() + public void addTags() { - getOrCreateBuilder(Tags.Items.BONES).add(Items.BONE); - getOrCreateBuilder(Tags.Items.BOOKSHELVES).add(Items.BOOKSHELF); + tag(Tags.Items.BONES).add(Items.BONE); + tag(Tags.Items.BOOKSHELVES).add(Items.BOOKSHELF); copy(Tags.Blocks.CHESTS, Tags.Items.CHESTS); copy(Tags.Blocks.CHESTS_ENDER, Tags.Items.CHESTS_ENDER); copy(Tags.Blocks.CHESTS_TRAPPED, Tags.Items.CHESTS_TRAPPED); copy(Tags.Blocks.CHESTS_WOODEN, Tags.Items.CHESTS_WOODEN); copy(Tags.Blocks.COBBLESTONE, Tags.Items.COBBLESTONE); - getOrCreateBuilder(Tags.Items.CROPS).addTags(Tags.Items.CROPS_BEETROOT, Tags.Items.CROPS_CARROT, Tags.Items.CROPS_NETHER_WART, Tags.Items.CROPS_POTATO, Tags.Items.CROPS_WHEAT); - getOrCreateBuilder(Tags.Items.CROPS_BEETROOT).add(Items.BEETROOT); - getOrCreateBuilder(Tags.Items.CROPS_CARROT).add(Items.CARROT); - getOrCreateBuilder(Tags.Items.CROPS_NETHER_WART).add(Items.NETHER_WART); - getOrCreateBuilder(Tags.Items.CROPS_POTATO).add(Items.POTATO); - getOrCreateBuilder(Tags.Items.CROPS_WHEAT).add(Items.WHEAT); - getOrCreateBuilder(Tags.Items.DUSTS).addTags(Tags.Items.DUSTS_GLOWSTONE, Tags.Items.DUSTS_PRISMARINE, Tags.Items.DUSTS_REDSTONE); - getOrCreateBuilder(Tags.Items.DUSTS_GLOWSTONE).add(Items.GLOWSTONE_DUST); - getOrCreateBuilder(Tags.Items.DUSTS_PRISMARINE).add(Items.PRISMARINE_SHARD); - getOrCreateBuilder(Tags.Items.DUSTS_REDSTONE).add(Items.REDSTONE); - addColored(getOrCreateBuilder(Tags.Items.DYES)::addTags, Tags.Items.DYES, "{color}_dye"); - getOrCreateBuilder(Tags.Items.EGGS).add(Items.EGG); + tag(Tags.Items.CROPS).addTags(Tags.Items.CROPS_BEETROOT, Tags.Items.CROPS_CARROT, Tags.Items.CROPS_NETHER_WART, Tags.Items.CROPS_POTATO, Tags.Items.CROPS_WHEAT); + tag(Tags.Items.CROPS_BEETROOT).add(Items.BEETROOT); + tag(Tags.Items.CROPS_CARROT).add(Items.CARROT); + tag(Tags.Items.CROPS_NETHER_WART).add(Items.NETHER_WART); + tag(Tags.Items.CROPS_POTATO).add(Items.POTATO); + tag(Tags.Items.CROPS_WHEAT).add(Items.WHEAT); + tag(Tags.Items.DUSTS).addTags(Tags.Items.DUSTS_GLOWSTONE, Tags.Items.DUSTS_PRISMARINE, Tags.Items.DUSTS_REDSTONE); + tag(Tags.Items.DUSTS_GLOWSTONE).add(Items.GLOWSTONE_DUST); + tag(Tags.Items.DUSTS_PRISMARINE).add(Items.PRISMARINE_SHARD); + tag(Tags.Items.DUSTS_REDSTONE).add(Items.REDSTONE); + addColored(tag(Tags.Items.DYES)::addTags, Tags.Items.DYES, "{color}_dye"); + tag(Tags.Items.EGGS).add(Items.EGG); copy(Tags.Blocks.END_STONES, Tags.Items.END_STONES); - getOrCreateBuilder(Tags.Items.ENDER_PEARLS).add(Items.ENDER_PEARL); - getOrCreateBuilder(Tags.Items.FEATHERS).add(Items.FEATHER); + tag(Tags.Items.ENDER_PEARLS).add(Items.ENDER_PEARL); + tag(Tags.Items.FEATHERS).add(Items.FEATHER); copy(Tags.Blocks.FENCE_GATES, Tags.Items.FENCE_GATES); copy(Tags.Blocks.FENCE_GATES_WOODEN, Tags.Items.FENCE_GATES_WOODEN); copy(Tags.Blocks.FENCES, Tags.Items.FENCES); copy(Tags.Blocks.FENCES_NETHER_BRICK, Tags.Items.FENCES_NETHER_BRICK); copy(Tags.Blocks.FENCES_WOODEN, Tags.Items.FENCES_WOODEN); - getOrCreateBuilder(Tags.Items.GEMS).addTags(Tags.Items.GEMS_DIAMOND, Tags.Items.GEMS_EMERALD, Tags.Items.GEMS_LAPIS, Tags.Items.GEMS_PRISMARINE, Tags.Items.GEMS_QUARTZ); - getOrCreateBuilder(Tags.Items.GEMS_DIAMOND).add(Items.DIAMOND); - getOrCreateBuilder(Tags.Items.GEMS_EMERALD).add(Items.EMERALD); - getOrCreateBuilder(Tags.Items.GEMS_LAPIS).add(Items.LAPIS_LAZULI); - getOrCreateBuilder(Tags.Items.GEMS_PRISMARINE).add(Items.PRISMARINE_CRYSTALS); - getOrCreateBuilder(Tags.Items.GEMS_QUARTZ).add(Items.QUARTZ); + tag(Tags.Items.GEMS).addTags(Tags.Items.GEMS_DIAMOND, Tags.Items.GEMS_EMERALD, Tags.Items.GEMS_LAPIS, Tags.Items.GEMS_PRISMARINE, Tags.Items.GEMS_QUARTZ); + tag(Tags.Items.GEMS_DIAMOND).add(Items.DIAMOND); + tag(Tags.Items.GEMS_EMERALD).add(Items.EMERALD); + tag(Tags.Items.GEMS_LAPIS).add(Items.LAPIS_LAZULI); + tag(Tags.Items.GEMS_PRISMARINE).add(Items.PRISMARINE_CRYSTALS); + tag(Tags.Items.GEMS_QUARTZ).add(Items.QUARTZ); copy(Tags.Blocks.GLASS, Tags.Items.GLASS); func_240521_a_Colored(Tags.Blocks.GLASS, Tags.Items.GLASS); copy(Tags.Blocks.GLASS_PANES, Tags.Items.GLASS_PANES); func_240521_a_Colored(Tags.Blocks.GLASS_PANES, Tags.Items.GLASS_PANES); copy(Tags.Blocks.GRAVEL, Tags.Items.GRAVEL); - getOrCreateBuilder(Tags.Items.GUNPOWDER).add(Items.GUNPOWDER); - getOrCreateBuilder(Tags.Items.HEADS).add(Items.CREEPER_HEAD, Items.DRAGON_HEAD, Items.PLAYER_HEAD, Items.SKELETON_SKULL, Items.WITHER_SKELETON_SKULL, Items.ZOMBIE_HEAD); - getOrCreateBuilder(Tags.Items.INGOTS).addTags(Tags.Items.INGOTS_IRON, Tags.Items.INGOTS_GOLD, Tags.Items.INGOTS_BRICK, Tags.Items.INGOTS_NETHER_BRICK, Tags.Items.INGOTS_NETHERITE); - getOrCreateBuilder(Tags.Items.INGOTS_BRICK).add(Items.BRICK); - getOrCreateBuilder(Tags.Items.INGOTS_GOLD).add(Items.GOLD_INGOT); - getOrCreateBuilder(Tags.Items.INGOTS_IRON).add(Items.IRON_INGOT); - getOrCreateBuilder(Tags.Items.INGOTS_NETHERITE).add(Items.NETHERITE_INGOT); - getOrCreateBuilder(Tags.Items.INGOTS_NETHER_BRICK).add(Items.NETHER_BRICK); - getOrCreateBuilder(Tags.Items.LEATHER).add(Items.LEATHER); - getOrCreateBuilder(Tags.Items.MUSHROOMS).add(Items.BROWN_MUSHROOM, Items.RED_MUSHROOM); - getOrCreateBuilder(Tags.Items.NETHER_STARS).add(Items.NETHER_STAR); + tag(Tags.Items.GUNPOWDER).add(Items.GUNPOWDER); + tag(Tags.Items.HEADS).add(Items.CREEPER_HEAD, Items.DRAGON_HEAD, Items.PLAYER_HEAD, Items.SKELETON_SKULL, Items.WITHER_SKELETON_SKULL, Items.ZOMBIE_HEAD); + tag(Tags.Items.INGOTS).addTags(Tags.Items.INGOTS_IRON, Tags.Items.INGOTS_GOLD, Tags.Items.INGOTS_BRICK, Tags.Items.INGOTS_NETHER_BRICK, Tags.Items.INGOTS_NETHERITE); + tag(Tags.Items.INGOTS_BRICK).add(Items.BRICK); + tag(Tags.Items.INGOTS_GOLD).add(Items.GOLD_INGOT); + tag(Tags.Items.INGOTS_IRON).add(Items.IRON_INGOT); + tag(Tags.Items.INGOTS_NETHERITE).add(Items.NETHERITE_INGOT); + tag(Tags.Items.INGOTS_NETHER_BRICK).add(Items.NETHER_BRICK); + tag(Tags.Items.LEATHER).add(Items.LEATHER); + tag(Tags.Items.MUSHROOMS).add(Items.BROWN_MUSHROOM, Items.RED_MUSHROOM); + tag(Tags.Items.NETHER_STARS).add(Items.NETHER_STAR); copy(Tags.Blocks.NETHERRACK, Tags.Items.NETHERRACK); - getOrCreateBuilder(Tags.Items.NUGGETS).addTags(Tags.Items.NUGGETS_IRON, Tags.Items.NUGGETS_GOLD); - getOrCreateBuilder(Tags.Items.NUGGETS_IRON).add(Items.IRON_NUGGET); - getOrCreateBuilder(Tags.Items.NUGGETS_GOLD).add(Items.GOLD_NUGGET); + tag(Tags.Items.NUGGETS).addTags(Tags.Items.NUGGETS_IRON, Tags.Items.NUGGETS_GOLD); + tag(Tags.Items.NUGGETS_IRON).add(Items.IRON_NUGGET); + tag(Tags.Items.NUGGETS_GOLD).add(Items.GOLD_NUGGET); copy(Tags.Blocks.OBSIDIAN, Tags.Items.OBSIDIAN); copy(Tags.Blocks.ORES, Tags.Items.ORES); copy(Tags.Blocks.ORES_COAL, Tags.Items.ORES_COAL); @@ -109,20 +109,20 @@ public class ForgeItemTagsProvider extends ItemTagsProvider copy(Tags.Blocks.ORES_QUARTZ, Tags.Items.ORES_QUARTZ); copy(Tags.Blocks.ORES_REDSTONE, Tags.Items.ORES_REDSTONE); copy(Tags.Blocks.ORES_NETHERITE_SCRAP, Tags.Items.ORES_NETHERITE_SCRAP); - getOrCreateBuilder(Tags.Items.RODS).addTags(Tags.Items.RODS_BLAZE, Tags.Items.RODS_WOODEN); - getOrCreateBuilder(Tags.Items.RODS_BLAZE).add(Items.BLAZE_ROD); - getOrCreateBuilder(Tags.Items.RODS_WOODEN).add(Items.STICK); + tag(Tags.Items.RODS).addTags(Tags.Items.RODS_BLAZE, Tags.Items.RODS_WOODEN); + tag(Tags.Items.RODS_BLAZE).add(Items.BLAZE_ROD); + tag(Tags.Items.RODS_WOODEN).add(Items.STICK); copy(Tags.Blocks.SAND, Tags.Items.SAND); copy(Tags.Blocks.SAND_COLORLESS, Tags.Items.SAND_COLORLESS); copy(Tags.Blocks.SAND_RED, Tags.Items.SAND_RED); copy(Tags.Blocks.SANDSTONE, Tags.Items.SANDSTONE); - getOrCreateBuilder(Tags.Items.SEEDS).addTags(Tags.Items.SEEDS_BEETROOT, Tags.Items.SEEDS_MELON, Tags.Items.SEEDS_PUMPKIN, Tags.Items.SEEDS_WHEAT); - getOrCreateBuilder(Tags.Items.SEEDS_BEETROOT).add(Items.BEETROOT_SEEDS); - getOrCreateBuilder(Tags.Items.SEEDS_MELON).add(Items.MELON_SEEDS); - getOrCreateBuilder(Tags.Items.SEEDS_PUMPKIN).add(Items.PUMPKIN_SEEDS); - getOrCreateBuilder(Tags.Items.SEEDS_WHEAT).add(Items.WHEAT_SEEDS); - getOrCreateBuilder(Tags.Items.SHEARS).add(Items.SHEARS); - getOrCreateBuilder(Tags.Items.SLIMEBALLS).add(Items.SLIME_BALL); + tag(Tags.Items.SEEDS).addTags(Tags.Items.SEEDS_BEETROOT, Tags.Items.SEEDS_MELON, Tags.Items.SEEDS_PUMPKIN, Tags.Items.SEEDS_WHEAT); + tag(Tags.Items.SEEDS_BEETROOT).add(Items.BEETROOT_SEEDS); + tag(Tags.Items.SEEDS_MELON).add(Items.MELON_SEEDS); + tag(Tags.Items.SEEDS_PUMPKIN).add(Items.PUMPKIN_SEEDS); + tag(Tags.Items.SEEDS_WHEAT).add(Items.WHEAT_SEEDS); + tag(Tags.Items.SHEARS).add(Items.SHEARS); + tag(Tags.Items.SLIMEBALLS).add(Items.SLIME_BALL); copy(Tags.Blocks.STAINED_GLASS, Tags.Items.STAINED_GLASS); copy(Tags.Blocks.STAINED_GLASS_PANES, Tags.Items.STAINED_GLASS_PANES); copy(Tags.Blocks.STONE, Tags.Items.STONE); @@ -136,7 +136,7 @@ public class ForgeItemTagsProvider extends ItemTagsProvider copy(Tags.Blocks.STORAGE_BLOCKS_QUARTZ, Tags.Items.STORAGE_BLOCKS_QUARTZ); copy(Tags.Blocks.STORAGE_BLOCKS_REDSTONE, Tags.Items.STORAGE_BLOCKS_REDSTONE); copy(Tags.Blocks.STORAGE_BLOCKS_NETHERITE, Tags.Items.STORAGE_BLOCKS_NETHERITE); - getOrCreateBuilder(Tags.Items.STRING).add(Items.STRING); + tag(Tags.Items.STRING).add(Items.STRING); } private void addColored(Consumer> consumer, ITag.INamedTag group, String pattern) @@ -144,12 +144,12 @@ public class ForgeItemTagsProvider extends ItemTagsProvider String prefix = group.getName().getPath().toUpperCase(Locale.ENGLISH) + '_'; for (DyeColor color : DyeColor.values()) { - ResourceLocation key = new ResourceLocation("minecraft", pattern.replace("{color}", color.getTranslationKey())); - ITag.INamedTag tag = getForgeItemTag(prefix + color.getTranslationKey()); + ResourceLocation key = new ResourceLocation("minecraft", pattern.replace("{color}", color.getName())); + ITag.INamedTag tag = getForgeItemTag(prefix + color.getName()); Item item = ForgeRegistries.ITEMS.getValue(key); if (item == null || item == Items.AIR) throw new IllegalStateException("Unknown vanilla item: " + key.toString()); - getOrCreateBuilder(tag).add(item); + tag(tag).add(item); consumer.accept(tag); } } @@ -160,8 +160,8 @@ public class ForgeItemTagsProvider extends ItemTagsProvider String itemPre = itemGroup.getName().getPath().toUpperCase(Locale.ENGLISH) + '_'; for (DyeColor color : DyeColor.values()) { - ITag.INamedTag from = getForgeBlockTag(blockPre + color.getTranslationKey()); - ITag.INamedTag to = getForgeItemTag(itemPre + color.getTranslationKey()); + ITag.INamedTag from = getForgeBlockTag(blockPre + color.getName()); + ITag.INamedTag to = getForgeItemTag(itemPre + color.getName()); copy(from, to); } copy(getForgeBlockTag(blockPre + "colorless"), getForgeItemTag(itemPre + "colorless")); diff --git a/src/main/java/net/minecraftforge/common/data/ForgeLootTableProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeLootTableProvider.java index b855f1abb3..6b9d8b896a 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeLootTableProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeLootTableProvider.java @@ -73,11 +73,11 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean findAndReplaceInLootTableBuilder(LootTable.Builder builder, Item from, ITag.INamedTag to) { - List lootPools = ObfuscationReflectionHelper.getPrivateValue(LootTable.Builder.class, builder, "field_216041_a"); + List lootPools = ObfuscationReflectionHelper.getPrivateValue(LootTable.Builder.class, builder, "pools"); boolean found = false; if (lootPools == null) { - throw new IllegalStateException(LootTable.Builder.class.getName() + " is missing field field_216041_a"); + throw new IllegalStateException(LootTable.Builder.class.getName() + " is missing field pools"); } for (LootPool lootPool : lootPools) { @@ -90,12 +90,12 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean findAndReplaceInLootPool(LootPool lootPool, Item from, ITag.INamedTag to) { - List lootEntries = ObfuscationReflectionHelper.getPrivateValue(LootPool.class, lootPool, "field_186453_a"); - List lootConditions = ObfuscationReflectionHelper.getPrivateValue(LootPool.class, lootPool, "field_186454_b"); + List lootEntries = ObfuscationReflectionHelper.getPrivateValue(LootPool.class, lootPool, "entries"); + List lootConditions = ObfuscationReflectionHelper.getPrivateValue(LootPool.class, lootPool, "conditions"); boolean found = false; if (lootEntries == null) { - throw new IllegalStateException(LootPool.class.getName() + " is missing field field_186453_a"); + throw new IllegalStateException(LootPool.class.getName() + " is missing field entries"); } for (LootEntry lootEntry : lootEntries) { @@ -107,19 +107,19 @@ public class ForgeLootTableProvider extends LootTableProvider { } if (lootConditions == null) { - throw new IllegalStateException(LootPool.class.getName() + " is missing field field_186454_b"); + throw new IllegalStateException(LootPool.class.getName() + " is missing field conditions"); } for (int i = 0; i < lootConditions.size(); i++) { ILootCondition lootCondition = lootConditions.get(i); if (lootCondition instanceof MatchTool && checkMatchTool((MatchTool) lootCondition, from)) { - lootConditions.set(i, MatchTool.builder(ItemPredicate.Builder.create().tag(to)).build()); + lootConditions.set(i, MatchTool.toolMatches(ItemPredicate.Builder.item().of(to)).build()); found = true; } else if (lootCondition instanceof Inverted) { - ILootCondition invLootCondition = ObfuscationReflectionHelper.getPrivateValue(Inverted.class, (Inverted) lootCondition, "field_215981_a"); + ILootCondition invLootCondition = ObfuscationReflectionHelper.getPrivateValue(Inverted.class, (Inverted) lootCondition, "term"); if (invLootCondition instanceof MatchTool && checkMatchTool((MatchTool) invLootCondition, from)) { - lootConditions.set(i, Inverted.builder(MatchTool.builder(ItemPredicate.Builder.create().tag(to))).build()); + lootConditions.set(i, Inverted.invert(MatchTool.toolMatches(ItemPredicate.Builder.item().of(to))).build()); found = true; } else if (invLootCondition instanceof Alternative && findAndReplaceInAlternative((Alternative) invLootCondition, from, to)) { found = true; @@ -131,11 +131,11 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean findAndReplaceInParentedLootEntry(ParentedLootEntry entry, Item from, ITag.INamedTag to) { - LootEntry[] lootEntries = ObfuscationReflectionHelper.getPrivateValue(ParentedLootEntry.class, entry, "field_216147_c"); + LootEntry[] lootEntries = ObfuscationReflectionHelper.getPrivateValue(ParentedLootEntry.class, entry, "children"); boolean found = false; if (lootEntries == null) { - throw new IllegalStateException(ParentedLootEntry.class.getName() + " is missing field field_216147_c"); + throw new IllegalStateException(ParentedLootEntry.class.getName() + " is missing field children"); } for (LootEntry lootEntry : lootEntries) { @@ -148,18 +148,18 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean findAndReplaceInLootEntry(LootEntry entry, Item from, ITag.INamedTag to) { - ILootCondition[] lootConditions = ObfuscationReflectionHelper.getPrivateValue(LootEntry.class, entry, "field_216144_d"); + ILootCondition[] lootConditions = ObfuscationReflectionHelper.getPrivateValue(LootEntry.class, entry, "conditions"); boolean found = false; if (lootConditions == null) { - throw new IllegalStateException(LootEntry.class.getName() + " is missing field field_216144_d"); + throw new IllegalStateException(LootEntry.class.getName() + " is missing field conditions"); } for (int i = 0; i < lootConditions.length; i++) { if (lootConditions[i] instanceof Alternative && findAndReplaceInAlternative((Alternative) lootConditions[i], from, to)) { found = true; } else if (lootConditions[i] instanceof MatchTool && checkMatchTool((MatchTool) lootConditions[i], from)) { - lootConditions[i] = MatchTool.builder(ItemPredicate.Builder.create().tag(to)).build(); + lootConditions[i] = MatchTool.toolMatches(ItemPredicate.Builder.item().of(to)).build(); found = true; } } @@ -168,16 +168,16 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean findAndReplaceInAlternative(Alternative alternative, Item from, ITag.INamedTag to) { - ILootCondition[] lootConditions = ObfuscationReflectionHelper.getPrivateValue(Alternative.class, alternative, "field_215962_a"); + ILootCondition[] lootConditions = ObfuscationReflectionHelper.getPrivateValue(Alternative.class, alternative, "terms"); boolean found = false; if (lootConditions == null) { - throw new IllegalStateException(Alternative.class.getName() + " is missing field field_215962_a"); + throw new IllegalStateException(Alternative.class.getName() + " is missing field terms"); } for (int i = 0; i < lootConditions.length; i++) { if (lootConditions[i] instanceof MatchTool && checkMatchTool((MatchTool) lootConditions[i], from)) { - lootConditions[i] = MatchTool.builder(ItemPredicate.Builder.create().tag(to)).build(); + lootConditions[i] = MatchTool.toolMatches(ItemPredicate.Builder.item().of(to)).build(); found = true; } } @@ -186,8 +186,8 @@ public class ForgeLootTableProvider extends LootTableProvider { } private boolean checkMatchTool(MatchTool lootCondition, Item expected) { - ItemPredicate predicate = ObfuscationReflectionHelper.getPrivateValue(MatchTool.class, lootCondition, "field_216014_a"); - Item item = ObfuscationReflectionHelper.getPrivateValue(ItemPredicate.class, predicate, "field_192496_b"); + ItemPredicate predicate = ObfuscationReflectionHelper.getPrivateValue(MatchTool.class, lootCondition, "predicate"); + Item item = ObfuscationReflectionHelper.getPrivateValue(ItemPredicate.class, predicate, "item"); return item != null && item.equals(expected); } } diff --git a/src/main/java/net/minecraftforge/common/data/ForgeRecipeProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeRecipeProvider.java index 863700b8f4..7d476f647d 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeRecipeProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeRecipeProvider.java @@ -71,7 +71,7 @@ public class ForgeRecipeProvider extends RecipeProvider } @Override - protected void registerRecipes(Consumer consumer) + protected void buildShapelessRecipes(Consumer consumer) { replace(Items.STICK, Tags.Items.RODS_WOODEN); replace(Items.GOLD_INGOT, Tags.Items.INGOTS_GOLD); @@ -94,7 +94,7 @@ public class ForgeRecipeProvider extends RecipeProvider exclude(Blocks.COBBLESTONE_SLAB); exclude(Blocks.COBBLESTONE_WALL); - super.registerRecipes(vanilla -> { + super.buildShapelessRecipes(vanilla -> { IFinishedRecipe modified = enhance(vanilla); if (modified != null) consumer.accept(modified); @@ -102,7 +102,7 @@ public class ForgeRecipeProvider extends RecipeProvider } @Override - protected void saveRecipeAdvancement(DirectoryCache cache, JsonObject advancementJson, Path pathIn) { + protected void saveAdvancement(DirectoryCache cache, JsonObject advancementJson, Path pathIn) { //NOOP - We dont replace any of the advancement things yet... } @@ -121,7 +121,7 @@ public class ForgeRecipeProvider extends RecipeProvider boolean modified = false; for (int x = 0; x < ingredients.size(); x++) { - Ingredient ing = enhance(vanilla.getID(), ingredients.get(x)); + Ingredient ing = enhance(vanilla.getId(), ingredients.get(x)); if (ing != null) { ingredients.set(x, ing); @@ -137,7 +137,7 @@ public class ForgeRecipeProvider extends RecipeProvider boolean modified = false; for (Character x : ingredients.keySet()) { - Ingredient ing = enhance(vanilla.getID(), ingredients.get(x)); + Ingredient ing = enhance(vanilla.getId(), ingredients.get(x)); if (ing != null) { ingredients.put(x, ing); @@ -159,7 +159,7 @@ public class ForgeRecipeProvider extends RecipeProvider { if (entry instanceof SingleItemList) { - ItemStack stack = entry.getStacks().stream().findFirst().orElse(ItemStack.EMPTY); + ItemStack stack = entry.getItems().stream().findFirst().orElse(ItemStack.EMPTY); ITag replacement = replacements.get(stack.getItem()); if (replacement != null) { @@ -172,7 +172,7 @@ public class ForgeRecipeProvider extends RecipeProvider else items.add(entry); } - return modified ? Ingredient.fromItemListStream(items.stream()) : null; + return modified ? Ingredient.fromValues(items.stream()) : null; } @SuppressWarnings("unchecked") diff --git a/src/main/java/net/minecraftforge/common/data/ForgeRegistryTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeRegistryTagsProvider.java index 093e796ea0..48abfd99e9 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeRegistryTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeRegistryTagsProvider.java @@ -68,7 +68,7 @@ public abstract class ForgeRegistryTagsProvider } @Override - protected Path makePath(ResourceLocation id) + protected Path getPath(ResourceLocation id) { return generator.getOutputFolder().resolve("data/" + id.getNamespace() + "/tags/" + folder + "/" + id.getPath() + ".json"); } diff --git a/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java b/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java index f7dc9f0988..2cf234466f 100644 --- a/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java +++ b/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java @@ -73,7 +73,7 @@ public abstract class GlobalLootModifierProvider implements IDataProvider protected abstract void start(); @Override - public void act(DirectoryCache cache) throws IOException + public void run(DirectoryCache cache) throws IOException { start(); diff --git a/src/main/java/net/minecraftforge/common/data/LanguageProvider.java b/src/main/java/net/minecraftforge/common/data/LanguageProvider.java index e3a39f7bb4..dca22b07a9 100644 --- a/src/main/java/net/minecraftforge/common/data/LanguageProvider.java +++ b/src/main/java/net/minecraftforge/common/data/LanguageProvider.java @@ -61,7 +61,7 @@ public abstract class LanguageProvider implements IDataProvider { protected abstract void addTranslations(); @Override - public void act(DirectoryCache cache) throws IOException { + public void run(DirectoryCache cache) throws IOException { addTranslations(); if (!data.isEmpty()) save(cache, data, this.gen.getOutputFolder().resolve("assets/" + modid + "/lang/" + locale + ".json")); @@ -75,8 +75,8 @@ public abstract class LanguageProvider implements IDataProvider { private void save(DirectoryCache cache, Object object, Path target) throws IOException { String data = GSON.toJson(object); data = JavaUnicodeEscaper.outsideOf(0, 0x7f).translate(data); // Escape unicode after the fact so that it's not double escaped by GSON - String hash = IDataProvider.HASH_FUNCTION.hashUnencodedChars(data).toString(); - if (!Objects.equals(cache.getPreviousHash(target), hash) || !Files.exists(target)) { + String hash = IDataProvider.SHA1.hashUnencodedChars(data).toString(); + if (!Objects.equals(cache.getHash(target), hash) || !Files.exists(target)) { Files.createDirectories(target.getParent()); try (BufferedWriter bufferedwriter = Files.newBufferedWriter(target)) { @@ -84,7 +84,7 @@ public abstract class LanguageProvider implements IDataProvider { } } - cache.recordHash(target, hash); + cache.putNew(target, hash); } public void addBlock(Supplier key, String name) { @@ -92,7 +92,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(Block key, String name) { - add(key.getTranslationKey(), name); + add(key.getDescriptionId(), name); } public void addItem(Supplier key, String name) { @@ -100,7 +100,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(Item key, String name) { - add(key.getTranslationKey(), name); + add(key.getDescriptionId(), name); } public void addItemStack(Supplier key, String name) { @@ -108,7 +108,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(ItemStack key, String name) { - add(key.getTranslationKey(), name); + add(key.getDescriptionId(), name); } public void addEnchantment(Supplier key, String name) { @@ -116,7 +116,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(Enchantment key, String name) { - add(key.getName(), name); + add(key.getDescriptionId(), name); } /* @@ -134,7 +134,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(Effect key, String name) { - add(key.getName(), name); + add(key.getDescriptionId(), name); } public void addEntityType(Supplier> key, String name) { @@ -142,7 +142,7 @@ public abstract class LanguageProvider implements IDataProvider { } public void add(EntityType key, String name) { - add(key.getTranslationKey(), name); + add(key.getDescriptionId(), name); } public void add(String key, String value) { diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java index b07da7ee7c..b83851ed37 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java @@ -86,7 +86,7 @@ public interface IForgeBlock */ default float getSlipperiness(BlockState state, IWorldReader world, BlockPos pos, @Nullable Entity entity) { - return getBlock().getSlipperiness(); + return getBlock().getFriction(); } /** @@ -99,7 +99,7 @@ public interface IForgeBlock */ default int getLightValue(BlockState state, IBlockReader world, BlockPos pos) { - return state.getLightValue(); + return state.getLightEmission(); } /** @@ -113,7 +113,7 @@ public interface IForgeBlock */ default boolean isLadder(BlockState state, IWorldReader world, BlockPos pos, LivingEntity entity) { - return state.getBlock().isIn(BlockTags.CLIMBABLE); + return state.getBlock().is(BlockTags.CLIMBABLE); } /** @@ -157,7 +157,7 @@ public interface IForgeBlock default TileEntity createTileEntity(BlockState state, IBlockReader world) { if (getBlock() instanceof ITileEntityProvider) - return ((ITileEntityProvider)getBlock()).createNewTileEntity(world); + return ((ITileEntityProvider)getBlock()).newBlockEntity(world); return null; } @@ -196,8 +196,8 @@ public interface IForgeBlock */ default boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest, FluidState fluid) { - getBlock().onBlockHarvested(world, pos, state, player); - return world.setBlockState(pos, fluid.getBlockState(), world.isRemote ? 11 : 3); + getBlock().playerWillDestroy(world, pos, state, player); + return world.setBlock(pos, fluid.createLegacyBlock(), world.isClientSide ? 11 : 3); } /** @@ -228,7 +228,7 @@ public interface IForgeBlock */ default boolean canCreatureSpawn(BlockState state, IBlockReader world, BlockPos pos, EntitySpawnPlacementRegistry.PlacementType type, @Nullable EntityType entityType) { - return state.canEntitySpawn(world, pos, entityType); + return state.isValidSpawn(world, pos, entityType); } /** @@ -246,7 +246,7 @@ public interface IForgeBlock { if (world instanceof World) { - return BedBlock.func_242652_a(entityType, world, pos, orientation); + return BedBlock.findStandUpPosition(entityType, world, pos, orientation); } return Optional.empty(); @@ -263,7 +263,7 @@ public interface IForgeBlock */ default void setBedOccupied(BlockState state, World world, BlockPos pos, LivingEntity sleeper, boolean occupied) { - world.setBlockState(pos, state.with(BedBlock.OCCUPIED, occupied), 3); + world.setBlock(pos, state.setValue(BedBlock.OCCUPIED, occupied), 3); } /** @@ -277,7 +277,7 @@ public interface IForgeBlock */ default Direction getBedDirection(BlockState state, IWorldReader world, BlockPos pos) { - return state.get(HorizontalBlock.HORIZONTAL_FACING); + return state.getValue(HorizontalBlock.FACING); } /** @@ -306,7 +306,7 @@ public interface IForgeBlock */ default boolean canBeReplacedByLeaves(BlockState state, IWorldReader world, BlockPos pos) { - return isAir(state, world, pos) || state.isIn(BlockTags.LEAVES); + return isAir(state, world, pos) || state.is(BlockTags.LEAVES); } /** @@ -319,8 +319,8 @@ public interface IForgeBlock */ default boolean canBeReplacedByLogs(BlockState state, IWorldReader world, BlockPos pos) { - return (isAir(state, world, pos) || state.isIn(BlockTags.LEAVES)) || this == Blocks.GRASS_BLOCK || state.isIn(Tags.Blocks.DIRT) - || getBlock().isIn(BlockTags.LOGS) || getBlock().isIn(BlockTags.SAPLINGS) || this == Blocks.VINE; + return (isAir(state, world, pos) || state.is(BlockTags.LEAVES)) || this == Blocks.GRASS_BLOCK || state.is(Tags.Blocks.DIRT) + || getBlock().is(BlockTags.LOGS) || getBlock().is(BlockTags.SAPLINGS) || this == Blocks.VINE; } /** @@ -348,7 +348,7 @@ public interface IForgeBlock */ default boolean canConnectRedstone(BlockState state, IBlockReader world, BlockPos pos, @Nullable Direction side) { - return state.canProvidePower() && side != null; + return state.isSignalSource() && side != null; } /** @@ -360,7 +360,7 @@ public interface IForgeBlock */ default ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, PlayerEntity player) { - return this.getBlock().getItem(world, pos, state); + return this.getBlock().getCloneItemStack(world, pos, state); } /** @@ -469,8 +469,8 @@ public interface IForgeBlock @Deprecated//TODO - 1.17: Remove (unused) default void onPlantGrow(BlockState state, IWorld world, BlockPos pos, BlockPos source) { - if (state.isIn(Tags.Blocks.DIRT)) - world.setBlockState(pos, Blocks.DIRT.getDefaultState(), 2); + if (state.is(Tags.Blocks.DIRT)) + world.setBlock(pos, Blocks.DIRT.defaultBlockState(), 2); } /** @@ -484,8 +484,8 @@ public interface IForgeBlock */ default boolean isFertile(BlockState state, IBlockReader world, BlockPos pos) { - if (state.isIn(Blocks.FARMLAND)) - return state.get(FarmlandBlock.MOISTURE) > 0; + if (state.is(Blocks.FARMLAND)) + return state.getValue(FarmlandBlock.MOISTURE) > 0; return false; } @@ -516,7 +516,7 @@ public interface IForgeBlock */ default boolean isPortalFrame(BlockState state, IBlockReader world, BlockPos pos) { - return state.isIn(Blocks.OBSIDIAN); + return state.is(Blocks.OBSIDIAN); } /** @@ -546,7 +546,7 @@ public interface IForgeBlock */ default float getEnchantPowerBonus(BlockState state, IWorldReader world, BlockPos pos) { - return state.isIn(Blocks.BOOKSHELF) ? 1: 0; + return state.is(Blocks.BOOKSHELF) ? 1: 0; } /** @@ -578,7 +578,7 @@ public interface IForgeBlock */ default boolean shouldCheckWeakPower(BlockState state, IWorldReader world, BlockPos pos, Direction side) { - return state.isNormalCube(world, pos); + return state.isRedstoneConductor(world, pos); } /** @@ -644,7 +644,7 @@ public interface IForgeBlock default float[] getBeaconColorMultiplier(BlockState state, IWorldReader world, BlockPos pos, BlockPos beaconPos) { if (getBlock() instanceof IBeaconBeamColorProvider) - return ((IBeaconBeamColorProvider)getBlock()).getColor().getColorComponentValues(); + return ((IBeaconBeamColorProvider)getBlock()).getColor().getTextureDiffuseColors(); return null; } @@ -669,9 +669,9 @@ public interface IForgeBlock if (entity instanceof LivingEntity) { LivingEntity ent = (LivingEntity)entity; - f12 = (float) EnchantmentHelper.getRespirationModifier(ent) * 0.2F; + f12 = (float) EnchantmentHelper.getRespiration(ent) * 0.2F; - if (ent.isPotionActive(Effects.WATER_BREATHING)) + if (ent.hasEffect(Effects.WATER_BREATHING)) { f12 = f12 * 0.3F + 0.6F; } @@ -755,7 +755,7 @@ public interface IForgeBlock */ default int getFlammability(BlockState state, IBlockReader world, BlockPos pos, Direction face) { - return ((FireBlock)Blocks.FIRE).getFlammability(state); + return ((FireBlock)Blocks.FIRE).getBurnOdd(state); } /** @@ -796,7 +796,7 @@ public interface IForgeBlock */ default int getFireSpreadSpeed(BlockState state, IBlockReader world, BlockPos pos, Direction face) { - return ((FireBlock)Blocks.FIRE).getFireSpreadSpeed(state); + return ((FireBlock)Blocks.FIRE).getFlameOdds(state); } /** @@ -812,7 +812,7 @@ public interface IForgeBlock */ default boolean isFireSource(BlockState state, IWorldReader world, BlockPos pos, Direction side) { - return state.isIn(world.getDimensionType().isInfiniBurn()); + return state.is(world.dimensionType().infiniburn()); } /** @@ -832,7 +832,7 @@ public interface IForgeBlock else if ((entity instanceof WitherEntity) || (entity instanceof WitherSkullEntity)) { - return state.isAir(world, pos) || WitherEntity.canDestroyBlock(state); + return state.isAir(world, pos) || WitherEntity.canDestroy(state); } return true; @@ -843,7 +843,7 @@ public interface IForgeBlock */ default boolean canDropFromExplosion(BlockState state, IBlockReader world, BlockPos pos, Explosion explosion) { - return state.getBlock().canDropFromExplosion(explosion); + return state.getBlock().dropFromExplosion(explosion); } /** @@ -863,8 +863,8 @@ public interface IForgeBlock */ default void onBlockExploded(BlockState state, World world, BlockPos pos, Explosion explosion) { - world.setBlockState(pos, Blocks.AIR.getDefaultState(), 3); - getBlock().onExplosionDestroy(world, pos, explosion); + world.setBlock(pos, Blocks.AIR.defaultBlockState(), 3); + getBlock().wasExploded(world, pos, explosion); } /** @@ -873,7 +873,7 @@ public interface IForgeBlock */ default boolean collisionExtendsVertically(BlockState state, IBlockReader world, BlockPos pos, Entity collidingEntity) { - return getBlock().isIn(BlockTags.FENCES) || getBlock().isIn(BlockTags.WALLS) || getBlock() instanceof FenceGateBlock; + return getBlock().is(BlockTags.FENCES) || getBlock().is(BlockTags.WALLS) || getBlock() instanceof FenceGateBlock; } /** @@ -921,6 +921,6 @@ public interface IForgeBlock */ default boolean isScaffolding(BlockState state, IWorldReader world, BlockPos pos, LivingEntity entity) { - return state.isIn(Blocks.SCAFFOLDING); + return state.is(Blocks.SCAFFOLDING); } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeBlockState.java b/src/main/java/net/minecraftforge/common/extensions/IForgeBlockState.java index e0e2f84166..f19c90a449 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeBlockState.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeBlockState.java @@ -806,6 +806,6 @@ public interface IForgeBlockState */ default boolean isScaffolding(LivingEntity entity) { - return getBlockState().getBlock().isScaffolding(getBlockState(), entity.world, entity.getPosition(), entity); + return getBlockState().getBlock().isScaffolding(getBlockState(), entity.level, entity.blockPosition(), entity); } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEffect.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEffect.java index ece800716d..3be0513da9 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEffect.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEffect.java @@ -106,6 +106,6 @@ public interface IForgeEffect { * @return a value used to sort {@code PotionEffect}s in GUIs */ default int getGuiSortColor(EffectInstance potionEffect) { - return getEffect().getLiquidColor(); + return getEffect().getColor(); } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEffectInstance.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEffectInstance.java index bc60dab77e..fd8258d4a5 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEffectInstance.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEffectInstance.java @@ -43,7 +43,7 @@ public interface IForgeEffectInstance { * @return true to display it (default), false to hide it. */ default boolean shouldRender() { - return getEffectInstance().getPotion().shouldRender(getEffectInstance()); + return getEffectInstance().getEffect().shouldRender(getEffectInstance()); } /** @@ -51,7 +51,7 @@ public interface IForgeEffectInstance { * @return true to draw the standard text */ default boolean shouldRenderInvText() { - return getEffectInstance().getPotion().shouldRenderInvText(getEffectInstance()); + return getEffectInstance().getEffect().shouldRenderInvText(getEffectInstance()); } /** @@ -59,7 +59,7 @@ public interface IForgeEffectInstance { * @return true to display it (default), false to hide it. */ default boolean shouldRenderHUD() { - return getEffectInstance().getPotion().shouldRenderHUD(getEffectInstance()); + return getEffectInstance().getEffect().shouldRenderHUD(getEffectInstance()); } /** @@ -74,7 +74,7 @@ public interface IForgeEffectInstance { */ @OnlyIn(Dist.CLIENT) default void renderInventoryEffect(DisplayEffectsScreen gui, MatrixStack mStack, int x, int y, float z) { - getEffectInstance().getPotion().renderInventoryEffect(getEffectInstance(), gui, mStack, x, y, z); + getEffectInstance().getEffect().renderInventoryEffect(getEffectInstance(), gui, mStack, x, y, z); } /** @@ -90,7 +90,7 @@ public interface IForgeEffectInstance { */ @OnlyIn(Dist.CLIENT) default void renderHUDEffect(AbstractGui gui, MatrixStack mStack, int x, int y, float z, float alpha) { - getEffectInstance().getPotion().renderHUDEffect(getEffectInstance(), gui, mStack, x, y, z, alpha); + getEffectInstance().getEffect().renderHUDEffect(getEffectInstance(), gui, mStack, x, y, z, alpha); } /*** @@ -107,7 +107,7 @@ public interface IForgeEffectInstance { * @return true if the given ItemStack is in the list of curative items for this PotionEffect, false otherwise */ default boolean isCurativeItem(ItemStack stack) { - return this.getCurativeItems().stream().anyMatch(e -> e.isItemEqual(stack)); + return this.getCurativeItems().stream().anyMatch(e -> e.sameItem(stack)); } /*** @@ -127,7 +127,7 @@ public interface IForgeEffectInstance { default void writeCurativeItems(CompoundNBT nbt) { ListNBT list = new ListNBT(); - getCurativeItems().forEach(s -> list.add(s.write(new CompoundNBT()))); + getCurativeItems().forEach(s -> list.add(s.save(new CompoundNBT()))); nbt.put("CurativeItems", list); } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java index fcb5a00e59..2333f68e79 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEntity.java @@ -49,18 +49,18 @@ public interface IForgeEntity extends ICapabilitySerializable default void deserializeNBT(CompoundNBT nbt) { - getEntity().read(nbt); + getEntity().load(nbt); } default CompoundNBT serializeNBT() { CompoundNBT ret = new CompoundNBT(); - String id = getEntity().getEntityString(); + String id = getEntity().getEncodeId(); if (id != null) { - ret.putString("id", getEntity().getEntityString()); + ret.putString("id", getEntity().getEncodeId()); } - return getEntity().writeWithoutTypeId(ret); + return getEntity().saveWithoutId(ret); } boolean canUpdate(); @@ -101,7 +101,7 @@ public interface IForgeEntity extends ICapabilitySerializable return new ItemStack(Items.LEAD); else if (this instanceof ItemFrameEntity) { - ItemStack held = ((ItemFrameEntity)this).getDisplayedItem(); + ItemStack held = ((ItemFrameEntity)this).getItem(); if (held.isEmpty()) return new ItemStack(Items.ITEM_FRAME); else @@ -110,14 +110,14 @@ public interface IForgeEntity extends ICapabilitySerializable else if (this instanceof AbstractMinecartEntity) return ((AbstractMinecartEntity)this).getCartItem(); else if (this instanceof BoatEntity) - return new ItemStack(((BoatEntity)this).getItemBoat()); + return new ItemStack(((BoatEntity)this).getDropItem()); else if (this instanceof ArmorStandEntity) return new ItemStack(Items.ARMOR_STAND); else if (this instanceof EnderCrystalEntity) return new ItemStack(Items.END_CRYSTAL); else { - SpawnEggItem egg = SpawnEggItem.getEgg(getEntity().getType()); + SpawnEggItem egg = SpawnEggItem.byId(getEntity().getType()); if (egg != null) return new ItemStack(egg); } return ItemStack.EMPTY; @@ -142,7 +142,7 @@ public interface IForgeEntity extends ICapabilitySerializable */ default boolean canBeRiddenInWater(Entity rider) { - return getEntity().canBeRiddenInWater(); + return getEntity().rideableUnderWater(); } /** @@ -161,7 +161,7 @@ public interface IForgeEntity extends ICapabilitySerializable */ default EntityClassification getClassification(boolean forSpawnCount) { - return getEntity().getType().getClassification(); + return getEntity().getType().getCategory(); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java b/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java index 507d3b73d8..8e705d1f38 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeEntityMinecart.java @@ -52,11 +52,11 @@ public interface IForgeEntityMinecart */ default BlockPos getCurrentRailPosition() { - int x = MathHelper.floor(getMinecart().getPosX()); - int y = MathHelper.floor(getMinecart().getPosY()); - int z = MathHelper.floor(getMinecart().getPosZ()); + int x = MathHelper.floor(getMinecart().getX()); + int y = MathHelper.floor(getMinecart().getY()); + int z = MathHelper.floor(getMinecart().getZ()); BlockPos pos = new BlockPos(x, y, z); - if (getMinecart().world.getBlockState(pos.down()).isIn(BlockTags.RAILS)) pos = pos.down(); + if (getMinecart().level.getBlockState(pos.below()).is(BlockTags.RAILS)) pos = pos.below(); return pos; } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeFluid.java b/src/main/java/net/minecraftforge/common/extensions/IForgeFluid.java index 4eb39cb1f4..46de8d7e5d 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeFluid.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeFluid.java @@ -56,7 +56,7 @@ public interface IForgeFluid */ default boolean isEntityInside(FluidState state, IWorldReader world, BlockPos pos, Entity entity, double yToTest, Tag tag, boolean testingHead) { - return state.isTagged(tag) && yToTest < (double)(pos.getY() + state.getActualHeight(world, pos) + 0.11111111F); + return state.is(tag) && yToTest < (double)(pos.getY() + state.getHeight(world, pos) + 0.11111111F); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeFluidState.java b/src/main/java/net/minecraftforge/common/extensions/IForgeFluidState.java index df53052219..fc362c0a9e 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeFluidState.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeFluidState.java @@ -52,7 +52,7 @@ public interface IForgeFluidState default boolean isEntityInside(IWorldReader world, BlockPos pos, Entity entity, double yToTest, Tag tag, boolean testingHead) { // return ifluidstate.isTagged(p_213290_1_) && d0 < (double)((float)blockpos.getY() + ifluidstate.getActualHeight(this.world, blockpos) + 0.11111111F); - return getFluidState().getFluid().isEntityInside(getFluidState(), world, pos, entity, yToTest, tag, testingHead); + return getFluidState().getType().isEntityInside(getFluidState(), world, pos, entity, yToTest, tag, testingHead); } @@ -67,7 +67,7 @@ public interface IForgeFluidState */ default float getExplosionResistance(IBlockReader world, BlockPos pos, Explosion explosion) { - return getFluidState().getFluid().getExplosionResistance(getFluidState(), world, pos, explosion); + return getFluidState().getType().getExplosionResistance(getFluidState(), world, pos, explosion); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java index 50d57ccfc6..443e33a909 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java @@ -74,7 +74,7 @@ public interface IForgeItem @SuppressWarnings("deprecation") default Multimap getAttributeModifiers(EquipmentSlotType slot, ItemStack stack) { - return getItem().getAttributeModifiers(slot); + return getItem().getDefaultAttributeModifiers(slot); } /** @@ -121,7 +121,7 @@ public interface IForgeItem */ default boolean isPiglinCurrency(ItemStack stack) { - return stack.getItem() == PiglinTasks.field_234444_a_; + return stack.getItem() == PiglinTasks.BARTERING_ITEM; } /** @@ -134,7 +134,7 @@ public interface IForgeItem */ default boolean makesPiglinsNeutral(ItemStack stack, LivingEntity wearer) { - return stack.getItem() instanceof ArmorItem && ((ArmorItem) stack.getItem()).getArmorMaterial() == ArmorMaterial.GOLD; + return stack.getItem() instanceof ArmorItem && ((ArmorItem) stack.getItem()).getMaterial() == ArmorMaterial.GOLD; } /** @@ -244,7 +244,7 @@ public interface IForgeItem { return ItemStack.EMPTY; } - return new ItemStack(getItem().getContainerItem()); + return new ItemStack(getItem().getCraftingRemainingItem()); } /** @@ -256,7 +256,7 @@ public interface IForgeItem @SuppressWarnings("deprecation") default boolean hasContainerItem(ItemStack stack) { - return getItem().hasContainerItem(); + return getItem().hasCraftingRemainingItem(); } /** @@ -326,7 +326,7 @@ public interface IForgeItem */ default java.util.Collection getCreativeTabs() { - return java.util.Collections.singletonList(getItem().getGroup()); + return java.util.Collections.singletonList(getItem().getItemCategory()); } /** @@ -375,7 +375,7 @@ public interface IForgeItem */ default boolean canEquip(ItemStack stack, EquipmentSlotType armorType, Entity entity) { - return MobEntity.getSlotForItemStack(stack) == armorType; + return MobEntity.getEquipmentSlotForItem(stack) == armorType; } /** @@ -515,7 +515,7 @@ public interface IForgeItem */ default double getDurabilityForDisplay(ItemStack stack) { - return (double) stack.getDamage() / (double) stack.getMaxDamage(); + return (double) stack.getDamageValue() / (double) stack.getMaxDamage(); } /** @@ -528,7 +528,7 @@ public interface IForgeItem */ default int getRGBDurabilityForDisplay(ItemStack stack) { - return MathHelper.hsvToRGB(Math.max(0.0F, (float) (1.0F - getDurabilityForDisplay(stack))) / 3.0F, 1.0F, 1.0F); + return MathHelper.hsvToRgb(Math.max(0.0F, (float) (1.0F - getDurabilityForDisplay(stack))) / 3.0F, 1.0F, 1.0F); } /** @@ -553,7 +553,7 @@ public interface IForgeItem */ default boolean isDamaged(ItemStack stack) { - return stack.getDamage() > 0; + return stack.getDamageValue() > 0; } /** @@ -577,7 +577,7 @@ public interface IForgeItem */ default boolean canHarvestBlock(ItemStack stack, BlockState state) { - return getItem().canHarvestBlock(state); + return getItem().isCorrectToolForDrops(state); } /** @@ -615,7 +615,7 @@ public interface IForgeItem */ default int getItemEnchantability(ItemStack stack) { - return getItem().getItemEnchantability(); + return getItem().getEnchantmentValue(); } /** @@ -633,7 +633,7 @@ public interface IForgeItem */ default boolean canApplyAtEnchantingTable(ItemStack stack, net.minecraft.enchantment.Enchantment enchantment) { - return enchantment.type.canEnchantItem(stack.getItem()); + return enchantment.category.canEnchant(stack.getItem()); } /** @@ -662,8 +662,8 @@ public interface IForgeItem */ default boolean shouldCauseBlockBreakReset(ItemStack oldStack, ItemStack newStack) { - return !(newStack.getItem() == oldStack.getItem() && ItemStack.areItemStackTagsEqual(newStack, oldStack) - && (newStack.isDamageable() || newStack.getDamage() == oldStack.getDamage())); + return !(newStack.getItem() == oldStack.getItem() && ItemStack.tagMatches(newStack, oldStack) + && (newStack.isDamageableItem() || newStack.getDamageValue() == oldStack.getDamageValue())); } /** @@ -677,7 +677,7 @@ public interface IForgeItem */ default boolean canContinueUsing(ItemStack oldStack, ItemStack newStack) { - return ItemStack.areItemsEqualIgnoreDurability(oldStack, newStack); + return ItemStack.isSameIgnoreDurability(oldStack, newStack); } /** @@ -854,6 +854,6 @@ public interface IForgeItem */ default boolean isDamageable(ItemStack stack) { - return this.getItem().isDamageable(); + return this.getItem().canBeDepleted(); } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java index 0ca6015ca5..595b62f6ce 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItemStack.java @@ -109,15 +109,15 @@ public interface IForgeItemStack extends ICapabilitySerializable default ActionResultType onItemUseFirst(ItemUseContext context) { PlayerEntity entityplayer = context.getPlayer(); - BlockPos blockpos = context.getPos(); - CachedBlockInfo blockworldstate = new CachedBlockInfo(context.getWorld(), blockpos, false); - if (entityplayer != null && !entityplayer.abilities.allowEdit && !getStack().canPlaceOn(context.getWorld().getTags(), blockworldstate)) { + BlockPos blockpos = context.getClickedPos(); + CachedBlockInfo blockworldstate = new CachedBlockInfo(context.getLevel(), blockpos, false); + if (entityplayer != null && !entityplayer.abilities.mayBuild && !getStack().hasAdventureModePlaceTagForBlock(context.getLevel().getTagManager(), blockworldstate)) { return ActionResultType.PASS; } else { Item item = getStack().getItem(); ActionResultType enumactionresult = item.onItemUseFirst(getStack(), context); if (entityplayer != null && enumactionresult == ActionResultType.SUCCESS) { - entityplayer.addStat(Stats.ITEM_USED.get(item)); + entityplayer.awardStat(Stats.ITEM_USED.get(item)); } return enumactionresult; @@ -127,7 +127,7 @@ public interface IForgeItemStack extends ICapabilitySerializable default CompoundNBT serializeNBT() { CompoundNBT ret = new CompoundNBT(); - getStack().write(ret); + getStack().save(ret); return ret; } /** @@ -422,7 +422,7 @@ public interface IForgeItemStack extends ICapabilitySerializable return other.isEmpty(); else return !other.isEmpty() && getStack().getCount() == other.getCount() && getStack().getItem() == other.getItem() && - (limitTags ? getStack().areShareTagsEqual(other) : ItemStack.areItemStackTagsEqual(getStack(), other)); + (limitTags ? getStack().areShareTagsEqual(other) : ItemStack.tagMatches(getStack(), other)); } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeStructure.java b/src/main/java/net/minecraftforge/common/extensions/IForgeStructure.java index e8791ec3d0..3fbe738b4b 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeStructure.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeStructure.java @@ -60,7 +60,7 @@ public interface IForgeStructure default boolean getDefaultRestrictsSpawnsToInside() { //The Pillager Outpost and Ocean Monument check the full structure by default instead of limiting themselves to being within the structure's bounds - return getStructure() != Structure.PILLAGER_OUTPOST && getStructure() != Structure.MONUMENT; + return getStructure() != Structure.PILLAGER_OUTPOST && getStructure() != Structure.OCEAN_MONUMENT; } /** diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeTagBuilder.java b/src/main/java/net/minecraftforge/common/extensions/IForgeTagBuilder.java index 68c641dd3f..851905bc4f 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeTagBuilder.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeTagBuilder.java @@ -44,7 +44,7 @@ public interface IForgeTagBuilder default TagsProvider.Builder add(RegistryKey... keys) { TagsProvider.Builder builder = getBuilder(); for (RegistryKey key : keys) { - builder.getInternalBuilder().addItemEntry(key.getLocation(), getBuilder().getModID()); + builder.getInternalBuilder().addElement(key.location(), getBuilder().getModID()); } return builder; } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeTileEntity.java b/src/main/java/net/minecraftforge/common/extensions/IForgeTileEntity.java index 6015ee7acf..e61694ef7b 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeTileEntity.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeTileEntity.java @@ -51,14 +51,14 @@ public interface IForgeTileEntity extends ICapabilitySerializable // @Override TODO re-evaluate default void deserializeNBT(BlockState state, CompoundNBT nbt) { - getTileEntity().read(state, nbt); + getTileEntity().load(state, nbt); } @Override default CompoundNBT serializeNBT() { CompoundNBT ret = new CompoundNBT(); - getTileEntity().write(ret); + getTileEntity().save(ret); return ret; } @@ -82,7 +82,7 @@ public interface IForgeTileEntity extends ICapabilitySerializable */ default void handleUpdateTag(BlockState state, CompoundNBT tag) { - getTileEntity().read(state, tag); + getTileEntity().load(state, tag); } /** @@ -122,14 +122,14 @@ public interface IForgeTileEntity extends ICapabilitySerializable AxisAlignedBB bb = INFINITE_EXTENT_AABB; BlockState state = getTileEntity().getBlockState(); Block block = state.getBlock(); - BlockPos pos = getTileEntity().getPos(); + BlockPos pos = getTileEntity().getBlockPos(); if (block == Blocks.ENCHANTING_TABLE) { - bb = new AxisAlignedBB(pos, pos.add(1, 1, 1)); + bb = new AxisAlignedBB(pos, pos.offset(1, 1, 1)); } else if (block == Blocks.CHEST || block == Blocks.TRAPPED_CHEST) { - bb = new AxisAlignedBB(pos.add(-1, 0, -1), pos.add(2, 2, 2)); + bb = new AxisAlignedBB(pos.offset(-1, 0, -1), pos.offset(2, 2, 2)); } else if (block == Blocks.STRUCTURE_BLOCK) { @@ -140,10 +140,10 @@ public interface IForgeTileEntity extends ICapabilitySerializable AxisAlignedBB cbb = null; try { - VoxelShape collisionShape = state.getCollisionShape(getTileEntity().getWorld(), pos); + VoxelShape collisionShape = state.getCollisionShape(getTileEntity().getLevel(), pos); if (!collisionShape.isEmpty()) { - cbb = collisionShape.getBoundingBox().offset(pos); + cbb = collisionShape.bounds().move(pos); } } catch (Exception e) @@ -154,7 +154,7 @@ public interface IForgeTileEntity extends ICapabilitySerializable // So, once again in the long line of US having to accommodate BUKKIT breaking things, // here it is, assume that the TE is only 1 cubic block. Problem with this is that it may // cause the TileEntity renderer to error further down the line! But alas, nothing we can do. - cbb = new net.minecraft.util.math.AxisAlignedBB(pos.add(-1, 0, -1), pos.add(1, 1, 1)); + cbb = new net.minecraft.util.math.AxisAlignedBB(pos.offset(-1, 0, -1), pos.offset(1, 1, 1)); } if (cbb != null) bb = cbb; } @@ -168,8 +168,8 @@ public interface IForgeTileEntity extends ICapabilitySerializable default void requestModelDataUpdate() { TileEntity te = getTileEntity(); - World world = te.getWorld(); - if (world != null && world.isRemote) + World world = te.getLevel(); + if (world != null && world.isClientSide) { ModelDataManager.requestModelDataRefresh(te); } diff --git a/src/main/java/net/minecraftforge/common/loot/GlobalLootModifierSerializer.java b/src/main/java/net/minecraftforge/common/loot/GlobalLootModifierSerializer.java index d754939118..3f290b5c8c 100644 --- a/src/main/java/net/minecraftforge/common/loot/GlobalLootModifierSerializer.java +++ b/src/main/java/net/minecraftforge/common/loot/GlobalLootModifierSerializer.java @@ -79,7 +79,7 @@ public abstract class GlobalLootModifierSerializer registeredLootModifiers = ImmutableMap.of(); private static final String folder = "loot_modifiers"; @@ -84,7 +84,7 @@ public class LootModifierManager extends JsonReloadListener { ResourceLocation resourcelocation = new ResourceLocation("forge","loot_modifiers/global_loot_modifiers.json"); try { //read in all data files from forge:loot_modifiers/global_loot_modifiers in order to do layering - for(IResource iresource : resourceManagerIn.getAllResources(resourcelocation)) { + for(IResource iresource : resourceManagerIn.getResources(resourcelocation)) { try ( InputStream inputstream = iresource.getInputStream(); Reader reader = new BufferedReader(new InputStreamReader(inputstream, StandardCharsets.UTF_8)); ) { @@ -101,7 +101,7 @@ public class LootModifierManager extends JsonReloadListener { } catch (RuntimeException | IOException ioexception) { - LOGGER.error("Couldn't read global loot modifier list {} in data pack {}", resourcelocation, iresource.getPackName(), ioexception); + LOGGER.error("Couldn't read global loot modifier list {} in data pack {}", resourcelocation, iresource.getSourceName(), ioexception); } finally { IOUtils.closeQuietly((Closeable)iresource); } @@ -133,7 +133,7 @@ public class LootModifierManager extends JsonReloadListener { ResourceLocation serializer = location; if (object.has("type")) { - serializer = new ResourceLocation(JSONUtils.getString(object, "type")); + serializer = new ResourceLocation(JSONUtils.getAsString(object, "type")); } return ForgeRegistries.LOOT_MODIFIER_SERIALIZERS.getValue(serializer).read(location, object, lootConditions); diff --git a/src/main/java/net/minecraftforge/common/loot/LootTableIdCondition.java b/src/main/java/net/minecraftforge/common/loot/LootTableIdCondition.java index 97ecc305f7..5b5125f133 100644 --- a/src/main/java/net/minecraftforge/common/loot/LootTableIdCondition.java +++ b/src/main/java/net/minecraftforge/common/loot/LootTableIdCondition.java @@ -43,7 +43,7 @@ public class LootTableIdCondition implements ILootCondition } @Override - public LootConditionType func_230419_b_() + public LootConditionType getType() { return LOOT_TABLE_ID; } @@ -87,7 +87,7 @@ public class LootTableIdCondition implements ILootCondition @Override public LootTableIdCondition deserialize(JsonObject object, JsonDeserializationContext ctx) { - return new LootTableIdCondition(new ResourceLocation(JSONUtils.getString(object, "loot_table_id"))); + return new LootTableIdCondition(new ResourceLocation(JSONUtils.getAsString(object, "loot_table_id"))); } } } diff --git a/src/main/java/net/minecraftforge/common/model/TransformationHelper.java b/src/main/java/net/minecraftforge/common/model/TransformationHelper.java index b094f04838..ffac67fc43 100644 --- a/src/main/java/net/minecraftforge/common/model/TransformationHelper.java +++ b/src/main/java/net/minecraftforge/common/model/TransformationHelper.java @@ -36,14 +36,14 @@ public final class TransformationHelper @OnlyIn(Dist.CLIENT) public static TransformationMatrix toTransformation(ItemTransformVec3f transform) { - if (transform.equals(ItemTransformVec3f.DEFAULT)) return TransformationMatrix.identity(); + if (transform.equals(ItemTransformVec3f.NO_TRANSFORM)) return TransformationMatrix.identity(); return new TransformationMatrix(transform.translation, quatFromXYZ(transform.rotation, true), transform.scale, null); } public static Quaternion quatFromXYZ(Vector3f xyz, boolean degrees) { - return new Quaternion(xyz.getX(), xyz.getY(), xyz.getZ(), degrees); + return new Quaternion(xyz.x(), xyz.y(), xyz.z(), degrees); } public static Quaternion quatFromXYZ(float[] xyz, boolean degrees) @@ -74,19 +74,19 @@ public final class TransformationHelper // the shorter path. Note that v1 and -v1 are equivalent when // the negation is applied to all four components. Fix by // reversing one quaternion. - float dot = v0.getX() * v1.getX() + v0.getY() * v1.getY() + v0.getZ() * v1.getZ() + v0.getW() * v1.getW(); + float dot = v0.i() * v1.i() + v0.j() * v1.j() + v0.k() * v1.k() + v0.r() * v1.r(); if (dot < 0.0f) { - v1 = new Quaternion(-v1.getX(), -v1.getY(), -v1.getZ(), -v1.getW()); + v1 = new Quaternion(-v1.i(), -v1.j(), -v1.k(), -v1.r()); dot = -dot; } // If the inputs are too close for comfort, linearly interpolate // and normalize the result. if (dot > THRESHOLD) { - float x = MathHelper.lerp(t, v0.getX(), v1.getX()); - float y = MathHelper.lerp(t, v0.getY(), v1.getY()); - float z = MathHelper.lerp(t, v0.getZ(), v1.getZ()); - float w = MathHelper.lerp(t, v0.getW(), v1.getW()); + float x = MathHelper.lerp(t, v0.i(), v1.i()); + float y = MathHelper.lerp(t, v0.j(), v1.j()); + float z = MathHelper.lerp(t, v0.k(), v1.k()); + float w = MathHelper.lerp(t, v0.r(), v1.r()); return new Quaternion(x,y,z,w); } @@ -101,10 +101,10 @@ public final class TransformationHelper float s0 = sin1t / sin01; return new Quaternion( - s0 * v0.getX() + s1 * v1.getX(), - s0 * v0.getY() + s1 * v1.getY(), - s0 * v0.getZ() + s1 * v1.getZ(), - s0 * v0.getW() + s1 * v1.getW() + s0 * v0.i() + s1 * v1.i(), + s0 * v0.j() + s1 * v1.j(), + s0 * v0.k() + s1 * v1.k(), + s0 * v0.r() + s1 * v1.r() ); } @@ -112,7 +112,7 @@ public final class TransformationHelper { return new TransformationMatrix( lerp(one.getTranslation(), that.getTranslation(), progress), - slerp(one.getRotationLeft(), that.getRotationLeft(), progress), + slerp(one.getLeftRotation(), that.getLeftRotation(), progress), lerp(one.getScale(), that.getScale(), progress), slerp(one.getRightRot(), that.getRightRot(), progress) ); @@ -120,10 +120,10 @@ public final class TransformationHelper public static boolean epsilonEquals(Vector4f v1, Vector4f v2, float epsilon) { - return MathHelper.abs(v1.getX()-v2.getX()) < epsilon && - MathHelper.abs(v1.getY()-v2.getY()) < epsilon && - MathHelper.abs(v1.getZ()-v2.getZ()) < epsilon && - MathHelper.abs(v1.getW()-v2.getW()) < epsilon; + return MathHelper.abs(v1.x()-v2.x()) < epsilon && + MathHelper.abs(v1.y()-v2.y()) < epsilon && + MathHelper.abs(v1.z()-v2.z()) < epsilon && + MathHelper.abs(v1.w()-v2.w()) < epsilon; } public static class Deserializer implements JsonDeserializer @@ -348,7 +348,7 @@ public final class TransformationHelper Quaternion ret = Quaternion.ONE.copy(); for (JsonElement a : e.getAsJsonArray()) { - ret.multiply(parseAxisRotation(a)); + ret.mul(parseAxisRotation(a)); } return ret; } diff --git a/src/main/java/net/minecraftforge/common/model/animation/Clips.java b/src/main/java/net/minecraftforge/common/model/animation/Clips.java index b4a47f3bd0..4bbf51d215 100644 --- a/src/main/java/net/minecraftforge/common/model/animation/Clips.java +++ b/src/main/java/net/minecraftforge/common/model/animation/Clips.java @@ -82,7 +82,7 @@ public final class Clips } @Override - public String getString() + public String getSerializedName() { return "identity"; } @@ -416,7 +416,7 @@ public final class Clips } @Override - public String getString() + public String getSerializedName() { return clipName; } @@ -475,7 +475,7 @@ public final class Clips // IdentityClip + ClipReference if(clip instanceof IStringSerializable) { - out.value("#" + ((IStringSerializable)clip).getString()); + out.value("#" + ((IStringSerializable)clip).getSerializedName()); return; } else if(clip instanceof TimeClip) diff --git a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java index 534fcb184f..859254362d 100644 --- a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java +++ b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java @@ -59,7 +59,7 @@ public class BlockSnapshot private BlockSnapshot(RegistryKey dim, IWorld world, BlockPos pos, BlockState state, @Nullable CompoundNBT nbt, int flags) { this.dim = dim; - this.pos = pos.toImmutable(); + this.pos = pos.immutable(); this.block = state; this.flags = flags; this.nbt = nbt; @@ -77,19 +77,19 @@ public class BlockSnapshot public static BlockSnapshot create(RegistryKey dim, IWorld world, BlockPos pos, int flag) { - return new BlockSnapshot(dim, world, pos, world.getBlockState(pos), getTileNBT(world.getTileEntity(pos)), flag); + return new BlockSnapshot(dim, world, pos, world.getBlockState(pos), getTileNBT(world.getBlockEntity(pos)), flag); } @Nullable private static CompoundNBT getTileNBT(@Nullable TileEntity te) { - return te == null ? null : te.write(new CompoundNBT()); + return te == null ? null : te.save(new CompoundNBT()); } public BlockState getCurrentBlock() { IWorld world = getWorld(); - return world == null ? Blocks.AIR.getDefaultState() : world.getBlockState(this.pos); + return world == null ? Blocks.AIR.defaultBlockState() : world.getBlockState(this.pos); } @Nullable @@ -98,7 +98,7 @@ public class BlockSnapshot IWorld world = this.world != null ? this.world.get() : null; if (world == null) { - world = ServerLifecycleHooks.getCurrentServer().getWorld(this.dim); + world = ServerLifecycleHooks.getCurrentServer().getLevel(this.dim); this.world = new WeakReference(world); } return world; @@ -112,7 +112,7 @@ public class BlockSnapshot @Nullable public TileEntity getTileEntity() { - return getNbt() != null ? TileEntity.readTileEntity(getReplacedBlock(), getNbt()) : null; + return getNbt() != null ? TileEntity.loadStatic(getReplacedBlock(), getNbt()) : null; } public boolean restore() @@ -140,23 +140,23 @@ public class BlockSnapshot if (current != replaced) { if (force) - world.setBlockState(pos, replaced, flags); + world.setBlock(pos, replaced, flags); else return false; } - world.setBlockState(pos, replaced, flags); + world.setBlock(pos, replaced, flags); if (world instanceof World) - ((World)world).notifyBlockUpdate(pos, current, replaced, flags); + ((World)world).sendBlockUpdated(pos, current, replaced, flags); TileEntity te = null; if (getNbt() != null) { - te = world.getTileEntity(pos); + te = world.getBlockEntity(pos); if (te != null) { - te.read(getReplacedBlock(), getNbt()); - te.markDirty(); + te.load(getReplacedBlock(), getNbt()); + te.setChanged(); } } @@ -200,7 +200,7 @@ public class BlockSnapshot { this.toString = "BlockSnapshot[" + - "World:" + this.dim.getLocation() + ',' + + "World:" + this.dim.location() + ',' + "Pos: " + this.pos + ',' + "State: " + this.block + ',' + "Flags: " + this.flags + ',' + diff --git a/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java b/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java index a64e2b6d4d..7aceff7228 100644 --- a/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java +++ b/src/main/java/net/minecraftforge/common/util/ChunkCoordComparator.java @@ -30,8 +30,8 @@ public class ChunkCoordComparator implements java.util.Comparator public ChunkCoordComparator(ServerPlayerEntity entityplayer) { - x = (int) entityplayer.getPosX() >> 4; - z = (int) entityplayer.getPosZ() >> 4; + x = (int) entityplayer.getX() >> 4; + z = (int) entityplayer.getZ() >> 4; } @Override diff --git a/src/main/java/net/minecraftforge/common/util/DummyWorldSaveData.java b/src/main/java/net/minecraftforge/common/util/DummyWorldSaveData.java index bff4a00799..8fe0bcfffa 100644 --- a/src/main/java/net/minecraftforge/common/util/DummyWorldSaveData.java +++ b/src/main/java/net/minecraftforge/common/util/DummyWorldSaveData.java @@ -29,12 +29,12 @@ public class DummyWorldSaveData extends WorldSavedData { } @Override - public void read(final CompoundNBT nbt) { + public void load(final CompoundNBT nbt) { // NOOP } @Override - public CompoundNBT write(final CompoundNBT compound) { + public CompoundNBT save(final CompoundNBT compound) { // NOOP return null; } diff --git a/src/main/java/net/minecraftforge/common/util/FakePlayer.java b/src/main/java/net/minecraftforge/common/util/FakePlayer.java index 358a795ced..b4cbd9d002 100644 --- a/src/main/java/net/minecraftforge/common/util/FakePlayer.java +++ b/src/main/java/net/minecraftforge/common/util/FakePlayer.java @@ -47,16 +47,16 @@ public class FakePlayer extends ServerPlayerEntity super(world.getServer(), world, name, new PlayerInteractionManager(world)); } - @Override public Vector3d getPositionVec(){ return new Vector3d(0, 0, 0); } - @Override public BlockPos getPosition(){ return BlockPos.ZERO; } - @Override public void sendStatusMessage(ITextComponent chatComponent, boolean actionBar){} + @Override public Vector3d position(){ return new Vector3d(0, 0, 0); } + @Override public BlockPos blockPosition(){ return BlockPos.ZERO; } + @Override public void displayClientMessage(ITextComponent chatComponent, boolean actionBar){} @Override public void sendMessage(ITextComponent component, UUID senderUUID) {} - @Override public void addStat(Stat par1StatBase, int par2){} + @Override public void awardStat(Stat par1StatBase, int par2){} //@Override public void openGui(Object mod, int modGuiId, World world, int x, int y, int z){} @Override public boolean isInvulnerableTo(DamageSource source){ return true; } - @Override public boolean canAttackPlayer(PlayerEntity player){ return false; } - @Override public void onDeath(DamageSource source){ return; } + @Override public boolean canHarmPlayer(PlayerEntity player){ return false; } + @Override public void die(DamageSource source){ return; } @Override public void tick(){ return; } - @Override public void handleClientSettings(CClientSettingsPacket pkt){ return; } + @Override public void updateOptions(CClientSettingsPacket pkt){ return; } @Override @Nullable public MinecraftServer getServer() { return ServerLifecycleHooks.getCurrentServer(); } } diff --git a/src/main/java/net/minecraftforge/common/util/FakePlayerFactory.java b/src/main/java/net/minecraftforge/common/util/FakePlayerFactory.java index d4e97f2090..d97b21c22e 100644 --- a/src/main/java/net/minecraftforge/common/util/FakePlayerFactory.java +++ b/src/main/java/net/minecraftforge/common/util/FakePlayerFactory.java @@ -67,11 +67,11 @@ public class FakePlayerFactory public static void unloadWorld(ServerWorld world) { - fakePlayers.entrySet().removeIf(entry -> entry.getValue().world == world); - if (MINECRAFT_PLAYER != null && MINECRAFT_PLAYER.get() != null && MINECRAFT_PLAYER.get().world == world) // This shouldn't be strictly necessary, but lets be aggressive. + fakePlayers.entrySet().removeIf(entry -> entry.getValue().level == world); + if (MINECRAFT_PLAYER != null && MINECRAFT_PLAYER.get() != null && MINECRAFT_PLAYER.get().level == world) // This shouldn't be strictly necessary, but lets be aggressive. { FakePlayer mc = MINECRAFT_PLAYER.get(); - if (mc != null && mc.world == world) + if (mc != null && mc.level == world) { MINECRAFT_PLAYER = null; } diff --git a/src/main/java/net/minecraftforge/common/util/ITeleporter.java b/src/main/java/net/minecraftforge/common/util/ITeleporter.java index 91a68f250c..05aaecdc87 100644 --- a/src/main/java/net/minecraftforge/common/util/ITeleporter.java +++ b/src/main/java/net/minecraftforge/common/util/ITeleporter.java @@ -81,7 +81,7 @@ public interface ITeleporter @Nullable default PortalInfo getPortalInfo(Entity entity, ServerWorld destWorld, Function defaultPortalInfo) { - return this.isVanilla() ? defaultPortalInfo.apply(destWorld) : new PortalInfo(entity.getPositionVec(), Vector3d.ZERO, entity.rotationYaw, entity.rotationPitch); + return this.isVanilla() ? defaultPortalInfo.apply(destWorld) : new PortalInfo(entity.position(), Vector3d.ZERO, entity.yRot, entity.xRot); } /** diff --git a/src/main/java/net/minecraftforge/common/util/JsonUtils.java b/src/main/java/net/minecraftforge/common/util/JsonUtils.java index 3da44c91b7..07d9f60c52 100644 --- a/src/main/java/net/minecraftforge/common/util/JsonUtils.java +++ b/src/main/java/net/minecraftforge/common/util/JsonUtils.java @@ -99,11 +99,11 @@ public class JsonUtils @Nullable public static CompoundNBT readNBT(JsonObject json, String key) { - if (net.minecraft.util.JSONUtils.hasField(json, key)) + if (net.minecraft.util.JSONUtils.isValidNode(json, key)) { try { - return JsonToNBT.getTagFromJson(net.minecraft.util.JSONUtils.getString(json, key)); + return JsonToNBT.parseTag(net.minecraft.util.JSONUtils.getAsString(json, key)); } catch (CommandSyntaxException e) { throw new JsonSyntaxException("Malformed NBT tag", e); diff --git a/src/main/java/net/minecraftforge/common/util/ReverseTagWrapper.java b/src/main/java/net/minecraftforge/common/util/ReverseTagWrapper.java index 52465f5561..dd8a6da962 100644 --- a/src/main/java/net/minecraftforge/common/util/ReverseTagWrapper.java +++ b/src/main/java/net/minecraftforge/common/util/ReverseTagWrapper.java @@ -47,10 +47,10 @@ public class ReverseTagWrapper public Set getTagNames() { ITagCollection collection = colSupplier.get(); - if (cache == null || colCache != collection.getIDTagMap()) // Identity equals. + if (cache == null || colCache != collection.getAllTags()) // Identity equals. { - this.cache = Collections.unmodifiableSet(new HashSet<>(collection.getOwningTags(target))); - this.colCache = collection.getIDTagMap(); + this.cache = Collections.unmodifiableSet(new HashSet<>(collection.getMatchingTags(target))); + this.colCache = collection.getAllTags(); } return this.cache; } diff --git a/src/main/java/net/minecraftforge/common/util/WorldCapabilityData.java b/src/main/java/net/minecraftforge/common/util/WorldCapabilityData.java index bfdea5d5be..8f791dfbca 100644 --- a/src/main/java/net/minecraftforge/common/util/WorldCapabilityData.java +++ b/src/main/java/net/minecraftforge/common/util/WorldCapabilityData.java @@ -43,7 +43,7 @@ public class WorldCapabilityData extends WorldSavedData } @Override - public void read(CompoundNBT nbt) + public void load(CompoundNBT nbt) { this.capNBT = nbt; if (serializable != null) @@ -54,7 +54,7 @@ public class WorldCapabilityData extends WorldSavedData } @Override - public CompoundNBT write(CompoundNBT nbt) + public CompoundNBT save(CompoundNBT nbt) { if (serializable != null) nbt = serializable.serializeNBT(); diff --git a/src/main/java/net/minecraftforge/common/world/BiomeGenerationSettingsBuilder.java b/src/main/java/net/minecraftforge/common/world/BiomeGenerationSettingsBuilder.java index 42d3abf665..6655d790a9 100644 --- a/src/main/java/net/minecraftforge/common/world/BiomeGenerationSettingsBuilder.java +++ b/src/main/java/net/minecraftforge/common/world/BiomeGenerationSettingsBuilder.java @@ -39,12 +39,12 @@ public class BiomeGenerationSettingsBuilder extends BiomeGenerationSettings.Buil { surfaceBuilder = Optional.of(orig.getSurfaceBuilder()); orig.getCarvingStages().forEach(k -> carvers.put(k, new ArrayList<>(orig.getCarvers(k)))); - orig.getFeatures().forEach(l -> features.add(new ArrayList<>(l))); - structures.addAll(orig.getStructures()); + orig.features().forEach(l -> features.add(new ArrayList<>(l))); + structureStarts.addAll(orig.structures()); } public List>> getFeatures(GenerationStage.Decoration stage) { - populateStageEntries(stage.ordinal()); + addFeatureStepsUpTo(stage.ordinal()); return features.get(stage.ordinal()); } @@ -57,6 +57,6 @@ public class BiomeGenerationSettingsBuilder extends BiomeGenerationSettings.Buil } public List>> getStructures() { - return structures; + return structureStarts; } } \ No newline at end of file diff --git a/src/main/java/net/minecraftforge/common/world/ForgeChunkManager.java b/src/main/java/net/minecraftforge/common/world/ForgeChunkManager.java index 2bfd56a829..15c58e3f45 100644 --- a/src/main/java/net/minecraftforge/common/world/ForgeChunkManager.java +++ b/src/main/java/net/minecraftforge/common/world/ForgeChunkManager.java @@ -77,7 +77,7 @@ public class ForgeChunkManager */ public static boolean hasForcedChunks(ServerWorld world) { - ForcedChunksSaveData data = world.getSavedData().get(ForcedChunksSaveData::new, "chunks"); + ForcedChunksSaveData data = world.getDataStorage().get(ForcedChunksSaveData::new, "chunks"); if (data == null) return false; return !data.getChunks().isEmpty() || !data.getBlockForcedChunks().isEmpty() || !data.getEntityForcedChunks().isEmpty(); } @@ -101,7 +101,7 @@ public class ForgeChunkManager */ public static boolean forceChunk(ServerWorld world, String modId, Entity owner, int chunkX, int chunkZ, boolean add, boolean ticking) { - return forceChunk(world, modId, owner.getUniqueID(), chunkX, chunkZ, add, ticking); + return forceChunk(world, modId, owner.getUUID(), chunkX, chunkZ, add, ticking); } /** @@ -130,9 +130,9 @@ public class ForgeChunkManager LOGGER.warn("A mod attempted to force a chunk for an unloaded mod of id: {}", modId); return false; } - ForcedChunksSaveData saveData = world.getSavedData().getOrCreate(ForcedChunksSaveData::new, "chunks"); + ForcedChunksSaveData saveData = world.getDataStorage().computeIfAbsent(ForcedChunksSaveData::new, "chunks"); ChunkPos pos = new ChunkPos(chunkX, chunkZ); - long chunk = pos.asLong(); + long chunk = pos.toLong(); TicketTracker tickets = ticketGetter.apply(saveData); TicketOwner ticketOwner = new TicketOwner<>(modId, owner); boolean success; @@ -169,14 +169,14 @@ public class ForgeChunkManager if (add) { if (ticking) - world.getChunkProvider().registerTickingTicket(type, pos, 2, owner); + world.getChunkSource().registerTickingTicket(type, pos, 2, owner); else - world.getChunkProvider().registerTicket(type, pos, 2, owner); + world.getChunkSource().addRegionTicket(type, pos, 2, owner); } else if (ticking) - world.getChunkProvider().releaseTickingTicket(type, pos, 2, owner); + world.getChunkSource().releaseTickingTicket(type, pos, 2, owner); else - world.getChunkProvider().releaseTicket(type, pos, 2, owner); + world.getChunkSource().removeRegionTicket(type, pos, 2, owner); } /** @@ -264,7 +264,7 @@ public class ForgeChunkManager { Map> forcedEntries = new HashMap<>(); writeForcedChunkOwners(forcedEntries, blockForcedChunks, "Blocks", Constants.NBT.TAG_COMPOUND, (pos, forcedBlocks) -> forcedBlocks.add(NBTUtil.writeBlockPos(pos))); - writeForcedChunkOwners(forcedEntries, entityForcedChunks, "Entities", Constants.NBT.TAG_INT_ARRAY, (uuid, forcedEntities) -> forcedEntities.add(NBTUtil.func_240626_a_(uuid))); + writeForcedChunkOwners(forcedEntries, entityForcedChunks, "Entities", Constants.NBT.TAG_INT_ARRAY, (uuid, forcedEntities) -> forcedEntities.add(NBTUtil.createUUID(uuid))); ListNBT forcedChunks = new ListNBT(); for (Map.Entry> entry : forcedEntries.entrySet()) { @@ -361,7 +361,7 @@ public class ForgeChunkManager ListNBT forcedEntities = modEntry.getList(key, Constants.NBT.TAG_INT_ARRAY); for (INBT uuid : forcedEntities) { - entityForcedChunks.computeIfAbsent(new TicketOwner<>(modId, NBTUtil.readUniqueId(uuid)), owner -> new LongOpenHashSet()).add(chunkPos); + entityForcedChunks.computeIfAbsent(new TicketOwner<>(modId, NBTUtil.loadUUID(uuid)), owner -> new LongOpenHashSet()).add(chunkPos); } } diff --git a/src/main/java/net/minecraftforge/common/world/ForgeWorldType.java b/src/main/java/net/minecraftforge/common/world/ForgeWorldType.java index 907c4f22fc..32817920c0 100644 --- a/src/main/java/net/minecraftforge/common/world/ForgeWorldType.java +++ b/src/main/java/net/minecraftforge/common/world/ForgeWorldType.java @@ -71,7 +71,7 @@ public class ForgeWorldType extends ForgeRegistryEntry public String getTranslationKey() { - return Util.makeTranslationKey("generator", getRegistryName()); + return Util.makeDescriptionId("generator", getRegistryName()); } public ITextComponent getDisplayName() @@ -99,12 +99,12 @@ public class ForgeWorldType extends ForgeRegistryEntry ChunkGenerator createChunkGenerator(Registry biomeRegistry, Registry dimensionSettingsRegistry, long seed, String generatorSettings); default DimensionGeneratorSettings createSettings(DynamicRegistries dynamicRegistries, long seed, boolean generateStructures, boolean bonusChest, String generatorSettings) { - Registry biomeRegistry = dynamicRegistries.getRegistry(Registry.BIOME_KEY); - Registry dimensionTypeRegistry = dynamicRegistries.getRegistry(Registry.DIMENSION_TYPE_KEY); - Registry dimensionSettingsRegistry = dynamicRegistries.getRegistry(Registry.NOISE_SETTINGS_KEY); + Registry biomeRegistry = dynamicRegistries.registryOrThrow(Registry.BIOME_REGISTRY); + Registry dimensionTypeRegistry = dynamicRegistries.registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); + Registry dimensionSettingsRegistry = dynamicRegistries.registryOrThrow(Registry.NOISE_GENERATOR_SETTINGS_REGISTRY); return new DimensionGeneratorSettings(seed, generateStructures, bonusChest, - DimensionGeneratorSettings.func_242749_a(dimensionTypeRegistry, - DimensionType.getDefaultSimpleRegistry(dimensionTypeRegistry, biomeRegistry, dimensionSettingsRegistry, seed), + DimensionGeneratorSettings.withOverworld(dimensionTypeRegistry, + DimensionType.defaultDimensions(dimensionTypeRegistry, biomeRegistry, dimensionSettingsRegistry, seed), createChunkGenerator(biomeRegistry, dimensionSettingsRegistry, seed, generatorSettings))); } } diff --git a/src/main/java/net/minecraftforge/common/world/MobSpawnInfoBuilder.java b/src/main/java/net/minecraftforge/common/world/MobSpawnInfoBuilder.java index 57c1652cf3..3dced92ab0 100644 --- a/src/main/java/net/minecraftforge/common/world/MobSpawnInfoBuilder.java +++ b/src/main/java/net/minecraftforge/common/world/MobSpawnInfoBuilder.java @@ -32,17 +32,17 @@ import net.minecraft.world.biome.MobSpawnInfo; public class MobSpawnInfoBuilder extends MobSpawnInfo.Builder { private final Set typesView = Collections.unmodifiableSet(this.spawners.keySet()); - private final Set> costView = Collections.unmodifiableSet(this.spawnCosts.keySet()); + private final Set> costView = Collections.unmodifiableSet(this.mobSpawnCosts.keySet()); public MobSpawnInfoBuilder(MobSpawnInfo orig) { orig.getSpawnerTypes().forEach(k -> { spawners.get(k).clear(); - spawners.get(k).addAll(new java.util.ArrayList<>(orig.getSpawners(k))); + spawners.get(k).addAll(new java.util.ArrayList<>(orig.getMobs(k))); }); - orig.getEntityTypes().forEach(k -> spawnCosts.put(k, orig.getSpawnCost(k))); - creatureSpawnProbability = orig.getCreatureSpawnProbability(); - validSpawnBiomeForPlayer = orig.isValidSpawnBiomeForPlayer(); + orig.getEntityTypes().forEach(k -> mobSpawnCosts.put(k, orig.getMobSpawnCost(k))); + creatureGenerationProbability = orig.getCreatureProbability(); + playerCanSpawn = orig.playerSpawnFriendly(); } public Set getSpawnerTypes() @@ -63,17 +63,17 @@ public class MobSpawnInfoBuilder extends MobSpawnInfo.Builder @Nullable public MobSpawnInfo.SpawnCosts getCost(EntityType type) { - return this.spawnCosts.get(type); + return this.mobSpawnCosts.get(type); } public float getProbability() { - return this.creatureSpawnProbability; + return this.creatureGenerationProbability; } public MobSpawnInfoBuilder disablePlayerSpawn() { - this.validSpawnBiomeForPlayer = false; + this.playerCanSpawn = false; return this; } } \ No newline at end of file diff --git a/src/main/java/net/minecraftforge/common/world/StructureSpawnManager.java b/src/main/java/net/minecraftforge/common/world/StructureSpawnManager.java index 934663822f..7c80413cff 100644 --- a/src/main/java/net/minecraftforge/common/world/StructureSpawnManager.java +++ b/src/main/java/net/minecraftforge/common/world/StructureSpawnManager.java @@ -55,12 +55,12 @@ public class StructureSpawnManager Map, StructureSpawnInfo> structuresWithSpawns = new LinkedHashMap<>(); gatherEntitySpawns(structuresWithSpawns, Structure.SWAMP_HUT); gatherEntitySpawns(structuresWithSpawns, Structure.PILLAGER_OUTPOST); - gatherEntitySpawns(structuresWithSpawns, Structure.MONUMENT); - gatherEntitySpawns(structuresWithSpawns, Structure.FORTRESS); + gatherEntitySpawns(structuresWithSpawns, Structure.OCEAN_MONUMENT); + gatherEntitySpawns(structuresWithSpawns, Structure.NETHER_BRIDGE); for (Structure structure : ForgeRegistries.STRUCTURE_FEATURES.getValues()) { - if (structure != Structure.SWAMP_HUT && structure != Structure.PILLAGER_OUTPOST && structure != Structure.MONUMENT && - structure != Structure.FORTRESS) + if (structure != Structure.SWAMP_HUT && structure != Structure.PILLAGER_OUTPOST && structure != Structure.OCEAN_MONUMENT && + structure != Structure.NETHER_BRIDGE) { //If we didn't already gather the spawns already to ensure we do vanilla ones already // gather the spawns for this structure @@ -99,7 +99,7 @@ public class StructureSpawnManager Structure structure = entry.getKey(); StructureSpawnInfo spawnInfo = entry.getValue(); //Note: We check if the structure has spawns for a type first before looking at the world as it should be a cheaper check - if (spawnInfo.spawns.containsKey(classification) && structureManager.getStructureStart(pos, spawnInfo.insideOnly, structure).isValid()) + if (spawnInfo.spawns.containsKey(classification) && structureManager.getStructureAt(pos, spawnInfo.insideOnly, structure).isValid()) return spawnInfo.spawns.get(classification); } return null; diff --git a/src/main/java/net/minecraftforge/energy/CapabilityEnergy.java b/src/main/java/net/minecraftforge/energy/CapabilityEnergy.java index 9f73ac0906..3d081c222b 100644 --- a/src/main/java/net/minecraftforge/energy/CapabilityEnergy.java +++ b/src/main/java/net/minecraftforge/energy/CapabilityEnergy.java @@ -45,7 +45,7 @@ public class CapabilityEnergy { if (!(instance instanceof EnergyStorage)) throw new IllegalArgumentException("Can not deserialize to an instance that isn't the default implementation"); - ((EnergyStorage)instance).energy = ((IntNBT)nbt).getInt(); + ((EnergyStorage)instance).energy = ((IntNBT)nbt).getAsInt(); } }, () -> new EnergyStorage(1000)); diff --git a/src/main/java/net/minecraftforge/entity/PartEntity.java b/src/main/java/net/minecraftforge/entity/PartEntity.java index b6783af8f5..83b8340abc 100644 --- a/src/main/java/net/minecraftforge/entity/PartEntity.java +++ b/src/main/java/net/minecraftforge/entity/PartEntity.java @@ -26,7 +26,7 @@ public abstract class PartEntity extends Entity { private final T parent; public PartEntity(T parent) { - super(parent.getType(), parent.world); + super(parent.getType(), parent.level); this.parent = parent; } @@ -35,7 +35,7 @@ public abstract class PartEntity extends Entity { } @Override - public IPacket createSpawnPacket() { + public IPacket getAddEntityPacket() { throw new UnsupportedOperationException(); } } diff --git a/src/main/java/net/minecraftforge/event/AddReloadListenerEvent.java b/src/main/java/net/minecraftforge/event/AddReloadListenerEvent.java index 8c2614d7aa..588f016b7b 100644 --- a/src/main/java/net/minecraftforge/event/AddReloadListenerEvent.java +++ b/src/main/java/net/minecraftforge/event/AddReloadListenerEvent.java @@ -33,6 +33,8 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; +import net.minecraft.resources.IFutureReloadListener.IStage; + /** * The main ResourceManager is recreated on each reload, through {@link DataPackRegistries}'s creation. * diff --git a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java index 40f435b175..27aa257fe9 100644 --- a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java +++ b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java @@ -151,14 +151,14 @@ public class ForgeEventFactory public static boolean onMultiBlockPlace(@Nullable Entity entity, List blockSnapshots, Direction direction) { BlockSnapshot snap = blockSnapshots.get(0); - BlockState placedAgainst = snap.getWorld().getBlockState(snap.getPos().offset(direction.getOpposite())); + BlockState placedAgainst = snap.getWorld().getBlockState(snap.getPos().relative(direction.getOpposite())); EntityMultiPlaceEvent event = new EntityMultiPlaceEvent(blockSnapshots, placedAgainst, entity); return MinecraftForge.EVENT_BUS.post(event); } public static boolean onBlockPlace(@Nullable Entity entity, @Nonnull BlockSnapshot blockSnapshot, @Nonnull Direction direction) { - BlockState placedAgainst = blockSnapshot.getWorld().getBlockState(blockSnapshot.getPos().offset(direction.getOpposite())); + BlockState placedAgainst = blockSnapshot.getWorld().getBlockState(blockSnapshot.getPos().relative(direction.getOpposite())); EntityPlaceEvent event = new BlockEvent.EntityPlaceEvent(blockSnapshot, placedAgainst, entity); return MinecraftForge.EVENT_BUS.post(event); } @@ -201,7 +201,7 @@ public class ForgeEventFactory { Result result = canEntitySpawn(entity, world, x, y, z, spawner, SpawnReason.SPAWNER); if (result == Result.DEFAULT) - return entity.canSpawn(world, SpawnReason.SPAWNER) && entity.isNotColliding(world); // vanilla logic (inverted) + return entity.checkSpawnRules(world, SpawnReason.SPAWNER) && entity.checkSpawnObstruction(world); // vanilla logic (inverted) else return result == Result.ALLOW; } @@ -248,7 +248,7 @@ public class ForgeEventFactory { LivingPackSizeEvent maxCanSpawnEvent = new LivingPackSizeEvent(entity); MinecraftForge.EVENT_BUS.post(maxCanSpawnEvent); - return maxCanSpawnEvent.getResult() == Result.ALLOW ? maxCanSpawnEvent.getMaxPackSize() : entity.getMaxSpawnedInChunk(); + return maxCanSpawnEvent.getResult() == Result.ALLOW ? maxCanSpawnEvent.getMaxPackSize() : entity.getMaxSpawnClusterSize(); } public static ITextComponent getPlayerDisplayName(PlayerEntity player, ITextComponent username) @@ -355,7 +355,7 @@ public class ForgeEventFactory if (MinecraftForge.EVENT_BUS.post(event)) return -1; if (event.getResult() == Result.ALLOW) { - context.getItem().damageItem(1, context.getPlayer(), player -> player.sendBreakAnimation(context.getHand())); + context.getItemInHand().hurtAndBreak(1, context.getPlayer(), player -> player.broadcastBreakEvent(context.getHand())); return 1; } return 0; @@ -374,7 +374,7 @@ public class ForgeEventFactory if (MinecraftForge.EVENT_BUS.post(event)) return -1; if (event.getResult() == Result.ALLOW) { - if (!world.isRemote) + if (!world.isClientSide) stack.shrink(1); return 1; } @@ -389,15 +389,15 @@ public class ForgeEventFactory if (event.getResult() == Result.ALLOW) { - if (player.abilities.isCreativeMode) + if (player.abilities.instabuild) return new ActionResult(ActionResultType.SUCCESS, stack); stack.shrink(1); if (stack.isEmpty()) return new ActionResult(ActionResultType.SUCCESS, event.getFilledBucket()); - if (!player.inventory.addItemStackToInventory(event.getFilledBucket())) - player.dropItem(event.getFilledBucket(), false); + if (!player.inventory.add(event.getFilledBucket())) + player.drop(event.getFilledBucket(), false); return new ActionResult(ActionResultType.SUCCESS, stack); } @@ -421,7 +421,7 @@ public class ForgeEventFactory public static int onItemExpire(ItemEntity entity, @Nonnull ItemStack item) { if (item.isEmpty()) return -1; - ItemExpireEvent event = new ItemExpireEvent(entity, (item.isEmpty() ? 6000 : item.getItem().getEntityLifespan(item, entity.world))); + ItemExpireEvent event = new ItemExpireEvent(entity, (item.isEmpty() ? 6000 : item.getItem().getEntityLifespan(item, entity.level))); if (!MinecraftForge.EVENT_BUS.post(event)) return -1; return event.getExtraLife(); } @@ -435,11 +435,11 @@ public class ForgeEventFactory public static boolean canMountEntity(Entity entityMounting, Entity entityBeingMounted, boolean isMounting) { - boolean isCanceled = MinecraftForge.EVENT_BUS.post(new EntityMountEvent(entityMounting, entityBeingMounted, entityMounting.world, isMounting)); + boolean isCanceled = MinecraftForge.EVENT_BUS.post(new EntityMountEvent(entityMounting, entityBeingMounted, entityMounting.level, isMounting)); if(isCanceled) { - entityMounting.setPositionAndRotation(entityMounting.getPosX(), entityMounting.getPosY(), entityMounting.getPosZ(), entityMounting.prevRotationYaw, entityMounting.prevRotationPitch); + entityMounting.absMoveTo(entityMounting.getX(), entityMounting.getY(), entityMounting.getZ(), entityMounting.yRotO, entityMounting.xRotO); return false; } else @@ -522,7 +522,7 @@ public class ForgeEventFactory boolean changed = false; for (int x = 0; x < stacks.size(); x++) { - changed |= ItemStack.areItemStacksEqual(tmp.get(x), stacks.get(x)); + changed |= ItemStack.matches(tmp.get(x), stacks.get(x)); stacks.set(x, event.getItem(x)); } if (changed) @@ -545,13 +545,13 @@ public class ForgeEventFactory @OnlyIn(Dist.CLIENT) public static boolean renderFireOverlay(PlayerEntity player, MatrixStack mat) { - return renderBlockOverlay(player, mat, OverlayType.FIRE, Blocks.FIRE.getDefaultState(), player.getPosition()); + return renderBlockOverlay(player, mat, OverlayType.FIRE, Blocks.FIRE.defaultBlockState(), player.blockPosition()); } @OnlyIn(Dist.CLIENT) public static boolean renderWaterOverlay(PlayerEntity player, MatrixStack mat) { - return renderBlockOverlay(player, mat, OverlayType.WATER, Blocks.WATER.getDefaultState(), player.getPosition()); + return renderBlockOverlay(player, mat, OverlayType.WATER, Blocks.WATER.defaultBlockState(), player.blockPosition()); } @OnlyIn(Dist.CLIENT) @@ -588,9 +588,9 @@ public class ForgeEventFactory Result canContinueSleep = evt.getResult(); if (canContinueSleep == Result.DEFAULT) { - return player.getBedPosition().map(pos-> { - BlockState state = player.world.getBlockState(pos); - return state.getBlock().isBed(state, player.world, pos, player); + return player.getSleepingPos().map(pos-> { + BlockState state = player.level.getBlockState(pos); + return state.getBlock().isBed(state, player.level, pos, player); }).orElse(false); } else @@ -604,7 +604,7 @@ public class ForgeEventFactory Result canContinueSleep = evt.getResult(); if (canContinueSleep == Result.DEFAULT) - return !player.world.isDaytime(); + return !player.level.isDay(); else return canContinueSleep == Result.ALLOW; } @@ -654,7 +654,7 @@ public class ForgeEventFactory { LootTableLoadEvent event = new LootTableLoadEvent(name, table, lootTableManager); if (MinecraftForge.EVENT_BUS.post(event)) - return LootTable.EMPTY_LOOT_TABLE; + return LootTable.EMPTY; return event.getTable(); } @@ -691,7 +691,7 @@ public class ForgeEventFactory MinecraftForge.EVENT_BUS.post(event); Result result = event.getResult(); - return result == Result.DEFAULT ? world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) : result == Result.ALLOW; + return result == Result.DEFAULT ? world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) : result == Result.ALLOW; } public static boolean saplingGrowTree(IWorld world, Random rand, BlockPos pos) diff --git a/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java index b35980056c..caeeab9a95 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java @@ -46,7 +46,7 @@ public class EntityAttributeCreationEvent extends Event implements IModBusEvent public void put(EntityType entity, AttributeModifierMap map) { - if (GlobalEntityTypeAttributes.doesEntityHaveAttributes(entity)) + if (GlobalEntityTypeAttributes.hasSupplier(entity)) throw new IllegalStateException("Duplicate GlobalEntityTypeAttributes entry: " + entity); this.map.put(entity, map); } diff --git a/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java index ce3df04e86..dd97fbaec0 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java @@ -51,7 +51,7 @@ public class EntityAttributeModificationEvent extends Event implements IModBusEv this.entityAttributes = mapIn; this.entityTypes = ImmutableList.copyOf( ForgeRegistries.ENTITIES.getValues().stream() - .filter(GlobalEntityTypeAttributes::doesEntityHaveAttributes) + .filter(GlobalEntityTypeAttributes::hasSupplier) .map(entityType -> (EntityType) entityType) .collect(Collectors.toList()) ); @@ -61,7 +61,7 @@ public class EntityAttributeModificationEvent extends Event implements IModBusEv { AttributeModifierMap.MutableAttribute attributes = entityAttributes.computeIfAbsent(entityType, (type) -> new AttributeModifierMap.MutableAttribute()); - attributes.createMutableAttribute(attribute, value); + attributes.add(attribute, value); } public void add(EntityType entityType, Attribute attribute) @@ -71,7 +71,7 @@ public class EntityAttributeModificationEvent extends Event implements IModBusEv public boolean has(EntityType entityType, Attribute attribute) { - AttributeModifierMap globalMap = GlobalEntityTypeAttributes.getAttributesForEntity(entityType); + AttributeModifierMap globalMap = GlobalEntityTypeAttributes.getSupplier(entityType); return globalMap.hasAttribute(attribute) || (entityAttributes.get(entityType) != null && entityAttributes.get(entityType).hasAttribute(attribute)); } diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingSpawnEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingSpawnEvent.java index 6c810b0216..f71fc8cb17 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingSpawnEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingSpawnEvent.java @@ -173,7 +173,7 @@ public class LivingSpawnEvent extends LivingEvent { public AllowDespawn(MobEntity entity) { - super(entity, entity.world, entity.getPosX(), entity.getPosY(), entity.getPosZ()); + super(entity, entity.level, entity.getX(), entity.getY(), entity.getZ()); } } diff --git a/src/main/java/net/minecraftforge/event/entity/living/PotionEvent.java b/src/main/java/net/minecraftforge/event/entity/living/PotionEvent.java index bae9726a2c..dac00c324e 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/PotionEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/PotionEvent.java @@ -64,14 +64,14 @@ public class PotionEvent extends LivingEvent public PotionRemoveEvent(LivingEntity living, Effect potion) { - super(living, living.getActivePotionEffect(potion)); + super(living, living.getEffect(potion)); this.potion = potion; } public PotionRemoveEvent(LivingEntity living, EffectInstance effect) { super(living, effect); - this.potion = effect.getPotion(); + this.potion = effect.getEffect(); } /** diff --git a/src/main/java/net/minecraftforge/event/entity/player/ItemFishedEvent.java b/src/main/java/net/minecraftforge/event/entity/player/ItemFishedEvent.java index b0e9028854..b5e1c0f1fb 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/ItemFishedEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/ItemFishedEvent.java @@ -44,7 +44,7 @@ public class ItemFishedEvent extends PlayerEvent public ItemFishedEvent(List stacks, int rodDamage, FishingBobberEntity hook) { - super(hook.func_234606_i_()); + super(hook.getPlayerOwner()); this.stacks.addAll(stacks); this.rodDamage = rodDamage; this.hook = hook; diff --git a/src/main/java/net/minecraftforge/event/entity/player/PlayerInteractEvent.java b/src/main/java/net/minecraftforge/event/entity/player/PlayerInteractEvent.java index 7ee7679d44..477a0296db 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/PlayerInteractEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/PlayerInteractEvent.java @@ -81,7 +81,7 @@ public class PlayerInteractEvent extends PlayerEvent public EntityInteractSpecific(PlayerEntity player, Hand hand, Entity target, Vector3d localPos) { - super(player, hand, target.getPosition(), null); + super(player, hand, target.blockPosition(), null); this.localPos = localPos; this.target = target; } @@ -121,7 +121,7 @@ public class PlayerInteractEvent extends PlayerEvent public EntityInteract(PlayerEntity player, Hand hand, Entity target) { - super(player, hand, target.getPosition(), null); + super(player, hand, target.blockPosition(), null); this.target = target; } @@ -157,7 +157,7 @@ public class PlayerInteractEvent extends PlayerEvent } public RightClickBlock(PlayerEntity player, Hand hand, BlockPos pos, BlockRayTraceResult hitVec) { - super(player, hand, pos, hitVec.getFace()); + super(player, hand, pos, hitVec.getDirection()); this.hitVec = hitVec; } @@ -230,7 +230,7 @@ public class PlayerInteractEvent extends PlayerEvent { public RightClickItem(PlayerEntity player, Hand hand) { - super(player, hand, player.getPosition(), null); + super(player, hand, player.blockPosition(), null); } } @@ -243,7 +243,7 @@ public class PlayerInteractEvent extends PlayerEvent { public RightClickEmpty(PlayerEntity player, Hand hand) { - super(player, hand, player.getPosition(), null); + super(player, hand, player.blockPosition(), null); } } @@ -317,7 +317,7 @@ public class PlayerInteractEvent extends PlayerEvent { public LeftClickEmpty(PlayerEntity player) { - super(player, Hand.MAIN_HAND, player.getPosition(), null); + super(player, Hand.MAIN_HAND, player.blockPosition(), null); } } @@ -336,7 +336,7 @@ public class PlayerInteractEvent extends PlayerEvent @Nonnull public ItemStack getItemStack() { - return getPlayer().getHeldItem(hand); + return getPlayer().getItemInHand(hand); } /** @@ -366,7 +366,7 @@ public class PlayerInteractEvent extends PlayerEvent */ public World getWorld() { - return getPlayer().getEntityWorld(); + return getPlayer().getCommandSenderWorld(); } /** @@ -374,7 +374,7 @@ public class PlayerInteractEvent extends PlayerEvent */ public LogicalSide getSide() { - return getWorld().isRemote ? LogicalSide.CLIENT : LogicalSide.SERVER; + return getWorld().isClientSide ? LogicalSide.CLIENT : LogicalSide.SERVER; } /** diff --git a/src/main/java/net/minecraftforge/event/world/BlockEvent.java b/src/main/java/net/minecraftforge/event/world/BlockEvent.java index efbd4b9d2d..3b055c8664 100644 --- a/src/main/java/net/minecraftforge/event/world/BlockEvent.java +++ b/src/main/java/net/minecraftforge/event/world/BlockEvent.java @@ -100,8 +100,8 @@ public class BlockEvent extends Event } else { - int bonusLevel = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, player.getHeldItemMainhand()); - int silklevel = EnchantmentHelper.getEnchantmentLevel(Enchantments.SILK_TOUCH, player.getHeldItemMainhand()); + int bonusLevel = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.BLOCK_FORTUNE, player.getMainHandItem()); + int silklevel = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, player.getMainHandItem()); this.exp = state.getExpDrop(world, pos, bonusLevel, silklevel); } } diff --git a/src/main/java/net/minecraftforge/event/world/ExplosionEvent.java b/src/main/java/net/minecraftforge/event/world/ExplosionEvent.java index 155ea330a3..aa5d4aefd8 100644 --- a/src/main/java/net/minecraftforge/event/world/ExplosionEvent.java +++ b/src/main/java/net/minecraftforge/event/world/ExplosionEvent.java @@ -94,7 +94,7 @@ public class ExplosionEvent extends Event /** return the list of blocks affected by the explosion. */ public List getAffectedBlocks() { - return getExplosion().getAffectedBlockPositions(); + return getExplosion().getToBlow(); } /** return the list of entities affected by the explosion. */ diff --git a/src/main/java/net/minecraftforge/event/world/PistonEvent.java b/src/main/java/net/minecraftforge/event/world/PistonEvent.java index c02c458a25..4ce201f83e 100644 --- a/src/main/java/net/minecraftforge/event/world/PistonEvent.java +++ b/src/main/java/net/minecraftforge/event/world/PistonEvent.java @@ -62,7 +62,7 @@ public abstract class PistonEvent extends BlockEvent */ public BlockPos getFaceOffsetPos() { - return this.getPos().offset(direction); + return this.getPos().relative(direction); } /** diff --git a/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java b/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java index 6d6375494c..718572ff2b 100644 --- a/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java +++ b/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java @@ -51,7 +51,7 @@ public class DispenseFluidContainer extends DefaultDispenseItemBehavior @Override @Nonnull - public ItemStack dispenseStack(@Nonnull IBlockSource source, @Nonnull ItemStack stack) + public ItemStack execute(@Nonnull IBlockSource source, @Nonnull ItemStack stack) { if (FluidUtil.getFluidContained(stack).isPresent()) { @@ -69,23 +69,23 @@ public class DispenseFluidContainer extends DefaultDispenseItemBehavior @Nonnull private ItemStack fillContainer(@Nonnull IBlockSource source, @Nonnull ItemStack stack) { - World world = source.getWorld(); - Direction dispenserFacing = source.getBlockState().get(DispenserBlock.FACING); - BlockPos blockpos = source.getBlockPos().offset(dispenserFacing); + World world = source.getLevel(); + Direction dispenserFacing = source.getBlockState().getValue(DispenserBlock.FACING); + BlockPos blockpos = source.getPos().relative(dispenserFacing); FluidActionResult actionResult = FluidUtil.tryPickUpFluid(stack, null, world, blockpos, dispenserFacing.getOpposite()); ItemStack resultStack = actionResult.getResult(); if (!actionResult.isSuccess() || resultStack.isEmpty()) { - return super.dispenseStack(source, stack); + return super.execute(source, stack); } if (stack.getCount() == 1) { return resultStack; } - else if (((DispenserTileEntity)source.getBlockTileEntity()).addItemStack(resultStack) < 0) + else if (((DispenserTileEntity)source.getEntity()).addItem(resultStack) < 0) { this.dispenseBehavior.dispense(source, resultStack); } @@ -106,13 +106,13 @@ public class DispenseFluidContainer extends DefaultDispenseItemBehavior IFluidHandlerItem fluidHandler = FluidUtil.getFluidHandler(singleStack).orElse(null); if (fluidHandler == null) { - return super.dispenseStack(source, stack); + return super.execute(source, stack); } FluidStack fluidStack = fluidHandler.drain(FluidAttributes.BUCKET_VOLUME, IFluidHandler.FluidAction.EXECUTE); - Direction dispenserFacing = source.getBlockState().get(DispenserBlock.FACING); - BlockPos blockpos = source.getBlockPos().offset(dispenserFacing); - FluidActionResult result = FluidUtil.tryPlaceFluid(null, source.getWorld(), Hand.MAIN_HAND, blockpos, stack, fluidStack); + Direction dispenserFacing = source.getBlockState().getValue(DispenserBlock.FACING); + BlockPos blockpos = source.getPos().relative(dispenserFacing); + FluidActionResult result = FluidUtil.tryPlaceFluid(null, source.getLevel(), Hand.MAIN_HAND, blockpos, stack, fluidStack); if (result.isSuccess()) { @@ -122,7 +122,7 @@ public class DispenseFluidContainer extends DefaultDispenseItemBehavior { return drainedStack; } - else if (!drainedStack.isEmpty() && ((DispenserTileEntity)source.getBlockTileEntity()).addItemStack(drainedStack) < 0) + else if (!drainedStack.isEmpty() && ((DispenserTileEntity)source.getEntity()).addItem(drainedStack) < 0) { this.dispenseBehavior.dispense(source, drainedStack); } diff --git a/src/main/java/net/minecraftforge/fluids/FluidAttributes.java b/src/main/java/net/minecraftforge/fluids/FluidAttributes.java index a393e09cfb..11003efa6d 100644 --- a/src/main/java/net/minecraftforge/fluids/FluidAttributes.java +++ b/src/main/java/net/minecraftforge/fluids/FluidAttributes.java @@ -132,7 +132,7 @@ public class FluidAttributes protected FluidAttributes(Builder builder, Fluid fluid) { - this.translationKey = builder.translationKey != null ? builder.translationKey : Util.makeTranslationKey("fluid", fluid.getRegistryName()); + this.translationKey = builder.translationKey != null ? builder.translationKey : Util.makeDescriptionId("fluid", fluid.getRegistryName()); this.stillTexture = builder.stillTexture; this.flowingTexture = builder.flowingTexture; this.overlayTexture = builder.overlayTexture; @@ -149,17 +149,17 @@ public class FluidAttributes public ItemStack getBucket(FluidStack stack) { - return new ItemStack(stack.getFluid().getFilledBucket()); + return new ItemStack(stack.getFluid().getBucket()); } public BlockState getBlock(IBlockDisplayReader reader, BlockPos pos, FluidState state) { - return state.getBlockState(); + return state.createLegacyBlock(); } public FluidState getStateForPlacement(IBlockDisplayReader reader, BlockPos pos, FluidStack state) { - return state.getFluid().getDefaultState(); + return state.getFluid().defaultFluidState(); } public final boolean canBePlacedInWorld(IBlockDisplayReader reader, BlockPos pos, FluidState state) @@ -206,11 +206,11 @@ public class FluidAttributes */ public void vaporize(@Nullable PlayerEntity player, World worldIn, BlockPos pos, FluidStack fluidStack) { - worldIn.playSound(player, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (worldIn.rand.nextFloat() - worldIn.rand.nextFloat()) * 0.8F); + worldIn.playSound(player, pos, SoundEvents.FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (worldIn.random.nextFloat() - worldIn.random.nextFloat()) * 0.8F); for (int l = 0; l < 8; ++l) { - worldIn.addOptionalParticle(ParticleTypes.LARGE_SMOKE, (double) pos.getX() + Math.random(), (double) pos.getY() + Math.random(), (double) pos.getZ() + Math.random(), 0.0D, 0.0D, 0.0D); + worldIn.addAlwaysVisibleParticle(ParticleTypes.LARGE_SMOKE, (double) pos.getX() + Math.random(), (double) pos.getY() + Math.random(), (double) pos.getZ() + Math.random(), 0.0D, 0.0D, 0.0D); } } @@ -443,7 +443,7 @@ public class FluidAttributes @Override public int getColor(IBlockDisplayReader world, BlockPos pos) { - return BiomeColors.getWaterColor(world, pos) | 0xFF000000; + return BiomeColors.getAverageWaterColor(world, pos) | 0xFF000000; } public static Builder builder(ResourceLocation stillTexture, ResourceLocation flowingTexture) { diff --git a/src/main/java/net/minecraftforge/fluids/FluidStack.java b/src/main/java/net/minecraftforge/fluids/FluidStack.java index 3a3dbcf98a..8933783f42 100644 --- a/src/main/java/net/minecraftforge/fluids/FluidStack.java +++ b/src/main/java/net/minecraftforge/fluids/FluidStack.java @@ -151,14 +151,14 @@ public class FluidStack { buf.writeRegistryId(getFluid()); buf.writeVarInt(getAmount()); - buf.writeCompoundTag(tag); + buf.writeNbt(tag); } public static FluidStack readFromPacket(PacketBuffer buf) { Fluid fluid = buf.readRegistryId(); int amount = buf.readVarInt(); - CompoundNBT tag = buf.readCompoundTag(); + CompoundNBT tag = buf.readNbt(); if (fluid == Fluids.EMPTY) return EMPTY; return new FluidStack(fluid, amount, tag); } diff --git a/src/main/java/net/minecraftforge/fluids/FluidUtil.java b/src/main/java/net/minecraftforge/fluids/FluidUtil.java index e372afe754..d37acdeea7 100644 --- a/src/main/java/net/minecraftforge/fluids/FluidUtil.java +++ b/src/main/java/net/minecraftforge/fluids/FluidUtil.java @@ -97,7 +97,7 @@ public class FluidUtil Preconditions.checkNotNull(hand); Preconditions.checkNotNull(handler); - ItemStack heldItem = player.getHeldItem(hand); + ItemStack heldItem = player.getItemInHand(hand); if (!heldItem.isEmpty()) { return player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) @@ -111,7 +111,7 @@ public class FluidUtil if (fluidActionResult.isSuccess()) { - player.setHeldItem(hand, fluidActionResult.getResult()); + player.setItemInHand(hand, fluidActionResult.getResult()); return true; } return false; @@ -148,7 +148,7 @@ public class FluidUtil if (player != null) { SoundEvent soundevent = simulatedTransfer.getFluid().getAttributes().getFillSound(simulatedTransfer); - player.world.playSound(null, player.getPosX(), player.getPosY() + 0.5, player.getPosZ(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); + player.level.playSound(null, player.getX(), player.getY() + 0.5, player.getZ(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); } } else @@ -192,7 +192,7 @@ public class FluidUtil if (doDrain && player != null) { SoundEvent soundevent = transfer.getFluid().getAttributes().getEmptySound(transfer); - player.world.playSound(null, player.getPosX(), player.getPosY() + 0.5, player.getPosZ(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); + player.level.playSound(null, player.getX(), player.getY() + 0.5, player.getZ(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); } ItemStack resultContainer = containerFluidHandler.getContainer(); @@ -226,7 +226,7 @@ public class FluidUtil return FluidActionResult.FAILURE; } - if (player != null && player.abilities.isCreativeMode) + if (player != null && player.abilities.instabuild) { FluidActionResult filledReal = tryFillContainer(container, fluidSource, maxAmount, player, doFill); if (filledReal.isSuccess()) @@ -294,7 +294,7 @@ public class FluidUtil return FluidActionResult.FAILURE; } - if (player != null && player.abilities.isCreativeMode) + if (player != null && player.abilities.instabuild) { FluidActionResult emptiedReal = tryEmptyContainer(container, fluidDestination, maxAmount, player, doDrain); if (emptiedReal.isSuccess()) @@ -458,7 +458,7 @@ public class FluidUtil if (block.hasTileEntity(state)) { - TileEntity tileEntity = world.getTileEntity(blockPos); + TileEntity tileEntity = world.getBlockEntity(blockPos); if (tileEntity != null) { return tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side); @@ -566,20 +566,20 @@ public class FluidUtil return false; } - BlockItemUseContext context = new BlockItemUseContext(world, player, hand, player == null ? ItemStack.EMPTY : player.getHeldItem(hand), new BlockRayTraceResult(Vector3d.ZERO, Direction.UP, pos, false)); + BlockItemUseContext context = new BlockItemUseContext(world, player, hand, player == null ? ItemStack.EMPTY : player.getItemInHand(hand), new BlockRayTraceResult(Vector3d.ZERO, Direction.UP, pos, false)); // check that we can place the fluid at the destination BlockState destBlockState = world.getBlockState(pos); Material destMaterial = destBlockState.getMaterial(); boolean isDestNonSolid = !destMaterial.isSolid(); - boolean isDestReplaceable = destBlockState.isReplaceable(context); - boolean canDestContainFluid = destBlockState.getBlock() instanceof ILiquidContainer && ((ILiquidContainer) destBlockState.getBlock()).canContainFluid(world, pos, destBlockState, fluid); - if (!world.isAirBlock(pos) && !isDestNonSolid && !isDestReplaceable && !canDestContainFluid) + boolean isDestReplaceable = destBlockState.canBeReplaced(context); + boolean canDestContainFluid = destBlockState.getBlock() instanceof ILiquidContainer && ((ILiquidContainer) destBlockState.getBlock()).canPlaceLiquid(world, pos, destBlockState, fluid); + if (!world.isEmptyBlock(pos) && !isDestNonSolid && !isDestReplaceable && !canDestContainFluid) { return false; // Non-air, solid, unreplacable block. We can't put fluid here. } - if (world.getDimensionType().isUltrawarm() && fluid.getAttributes().doesVaporize(world, pos, resource)) + if (world.dimensionType().ultraWarm() && fluid.getAttributes().doesVaporize(world, pos, resource)) { FluidStack result = fluidSource.drain(resource, IFluidHandler.FluidAction.EXECUTE); if (!result.isEmpty()) @@ -619,7 +619,7 @@ public class FluidUtil */ private static IFluidHandler getFluidBlockHandler(Fluid fluid, World world, BlockPos pos) { - BlockState state = fluid.getAttributes().getBlock(world, pos, fluid.getDefaultState()); + BlockState state = fluid.getAttributes().getBlock(world, pos, fluid.defaultFluidState()); return new BlockWrapper(state, world, pos); } @@ -634,7 +634,7 @@ public class FluidUtil */ public static void destroyBlockOnFluidPlacement(World world, BlockPos pos) { - if (!world.isRemote) + if (!world.isClientSide) { BlockState destBlockState = world.getBlockState(pos); Material destMaterial = destBlockState.getMaterial(); diff --git a/src/main/java/net/minecraftforge/fluids/ForgeFlowingFluid.java b/src/main/java/net/minecraftforge/fluids/ForgeFlowingFluid.java index c70909e78c..aa7fd0c91c 100644 --- a/src/main/java/net/minecraftforge/fluids/ForgeFlowingFluid.java +++ b/src/main/java/net/minecraftforge/fluids/ForgeFlowingFluid.java @@ -70,28 +70,28 @@ public abstract class ForgeFlowingFluid extends FlowingFluid } @Override - public Fluid getFlowingFluid() + public Fluid getFlowing() { return flowing.get(); } @Override - public Fluid getStillFluid() + public Fluid getSource() { return still.get(); } @Override - protected boolean canSourcesMultiply() + protected boolean canConvertToSource() { return canMultiply; } @Override - protected void beforeReplacingBlock(IWorld worldIn, BlockPos pos, BlockState state) + protected void beforeDestroyingBlock(IWorld worldIn, BlockPos pos, BlockState state) { - TileEntity tileentity = state.getBlock().hasTileEntity(state) ? worldIn.getTileEntity(pos) : null; - Block.spawnDrops(state, worldIn, pos, tileentity); + TileEntity tileentity = state.getBlock().hasTileEntity(state) ? worldIn.getBlockEntity(pos) : null; + Block.dropResources(state, worldIn, pos, tileentity); } @Override @@ -101,26 +101,26 @@ public abstract class ForgeFlowingFluid extends FlowingFluid } @Override - protected int getLevelDecreasePerBlock(IWorldReader worldIn) + protected int getDropOff(IWorldReader worldIn) { return levelDecreasePerBlock; } @Override - public Item getFilledBucket() + public Item getBucket() { return bucket != null ? bucket.get() : Items.AIR; } @Override - protected boolean canDisplace(FluidState state, IBlockReader world, BlockPos pos, Fluid fluidIn, Direction direction) + protected boolean canBeReplacedWith(FluidState state, IBlockReader world, BlockPos pos, Fluid fluidIn, Direction direction) { // Based on the water implementation, may need to be overriden for mod fluids that shouldn't behave like water. - return direction == Direction.DOWN && !isEquivalentTo(fluidIn); + return direction == Direction.DOWN && !isSame(fluidIn); } @Override - public int getTickRate(IWorldReader world) + public int getTickDelay(IWorldReader world) { return tickRate; } @@ -132,15 +132,15 @@ public abstract class ForgeFlowingFluid extends FlowingFluid } @Override - protected BlockState getBlockState(FluidState state) + protected BlockState createLegacyBlock(FluidState state) { if (block != null) - return block.get().getDefaultState().with(FlowingFluidBlock.LEVEL, getLevelFromState(state)); - return Blocks.AIR.getDefaultState(); + return block.get().defaultBlockState().setValue(FlowingFluidBlock.LEVEL, getLegacyLevel(state)); + return Blocks.AIR.defaultBlockState(); } @Override - public boolean isEquivalentTo(Fluid fluidIn) { + public boolean isSame(Fluid fluidIn) { return fluidIn == still.get() || fluidIn == flowing.get(); } @@ -155,16 +155,16 @@ public abstract class ForgeFlowingFluid extends FlowingFluid public Flowing(Properties properties) { super(properties); - setDefaultState(getStateContainer().getBaseState().with(LEVEL_1_8, 7)); + registerDefaultState(getStateDefinition().any().setValue(LEVEL, 7)); } - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); - builder.add(LEVEL_1_8); + protected void createFluidStateDefinition(StateContainer.Builder builder) { + super.createFluidStateDefinition(builder); + builder.add(LEVEL); } - public int getLevel(FluidState state) { - return state.get(LEVEL_1_8); + public int getAmount(FluidState state) { + return state.getValue(LEVEL); } public boolean isSource(FluidState state) { @@ -179,7 +179,7 @@ public abstract class ForgeFlowingFluid extends FlowingFluid super(properties); } - public int getLevel(FluidState state) { + public int getAmount(FluidState state) { return 8; } diff --git a/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java b/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java index 5b7a2ca004..cb7706caae 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java +++ b/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java @@ -44,16 +44,16 @@ public class TileFluidHandler extends TileEntity } @Override - public void read(BlockState state, CompoundNBT tag) + public void load(BlockState state, CompoundNBT tag) { - super.read(state, tag); + super.load(state, tag); tank.readFromNBT(tag); } @Override - public CompoundNBT write(CompoundNBT tag) + public CompoundNBT save(CompoundNBT tag) { - tag = super.write(tag); + tag = super.save(tag); tank.writeToNBT(tag); return tag; } diff --git a/src/main/java/net/minecraftforge/fluids/capability/templates/EmptyFluidHandler.java b/src/main/java/net/minecraftforge/fluids/capability/templates/EmptyFluidHandler.java index a08c91a225..7e8330227a 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/templates/EmptyFluidHandler.java +++ b/src/main/java/net/minecraftforge/fluids/capability/templates/EmptyFluidHandler.java @@ -25,6 +25,8 @@ import javax.annotation.Nullable; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + public class EmptyFluidHandler implements IFluidHandler { public static final EmptyFluidHandler INSTANCE = new EmptyFluidHandler(); diff --git a/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStack.java b/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStack.java index 24496911d8..8866ff4170 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStack.java +++ b/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStack.java @@ -32,6 +32,8 @@ import net.minecraftforge.fluids.*; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandlerItem; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + /** * FluidHandlerItemStack is a template capability provider for ItemStacks. * Data is stored directly in the vanilla NBT, in the same way as the old ItemFluidContainer. @@ -219,7 +221,7 @@ public class FluidHandlerItemStack implements IFluidHandlerItem, ICapabilityProv */ protected void setContainerToEmpty() { - container.removeChildTag(FLUID_NBT_KEY); + container.removeTagKey(FLUID_NBT_KEY); } @Override diff --git a/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStackSimple.java b/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStackSimple.java index a269ee908d..ef7425c93a 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStackSimple.java +++ b/src/main/java/net/minecraftforge/fluids/capability/templates/FluidHandlerItemStackSimple.java @@ -32,6 +32,8 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandlerItem; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + /** * FluidHandlerItemStackSimple is a template capability provider for ItemStacks. * Data is stored directly in the vanilla NBT, in the same way as the old ItemFluidContainer. @@ -196,7 +198,7 @@ public class FluidHandlerItemStackSimple implements IFluidHandlerItem, ICapabili */ protected void setContainerToEmpty() { - container.removeChildTag(FLUID_NBT_KEY); + container.removeTagKey(FLUID_NBT_KEY); } @Override diff --git a/src/main/java/net/minecraftforge/fluids/capability/templates/VoidFluidHandler.java b/src/main/java/net/minecraftforge/fluids/capability/templates/VoidFluidHandler.java index 6bd95a4d9d..de2d23d423 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/templates/VoidFluidHandler.java +++ b/src/main/java/net/minecraftforge/fluids/capability/templates/VoidFluidHandler.java @@ -25,6 +25,8 @@ import net.minecraftforge.fluids.capability.IFluidHandler; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + /** * VoidFluidHandler is a template fluid handler that can be filled indefinitely without ever getting full. * It does not store fluid that gets filled into it, but "destroys" it upon receiving it. diff --git a/src/main/java/net/minecraftforge/fluids/capability/wrappers/BlockWrapper.java b/src/main/java/net/minecraftforge/fluids/capability/wrappers/BlockWrapper.java index 682d9d4553..1eddab6128 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/wrappers/BlockWrapper.java +++ b/src/main/java/net/minecraftforge/fluids/capability/wrappers/BlockWrapper.java @@ -29,6 +29,8 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidUtil; import net.minecraftforge.fluids.capability.templates.VoidFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + /** * Wrapper around any block, only accounts for fluid placement, otherwise the block acts a void. * If the block in question inherits from the default Vanilla or Forge implementations, @@ -58,7 +60,7 @@ public class BlockWrapper extends VoidFluidHandler if (action.execute()) { FluidUtil.destroyBlockOnFluidPlacement(world, blockPos); - world.setBlockState(blockPos, state, Constants.BlockFlags.DEFAULT_AND_RERENDER); + world.setBlock(blockPos, state, Constants.BlockFlags.DEFAULT_AND_RERENDER); } return FluidAttributes.BUCKET_VOLUME; } @@ -83,10 +85,10 @@ public class BlockWrapper extends VoidFluidHandler if (resource.getAmount() >= FluidAttributes.BUCKET_VOLUME) { BlockState state = world.getBlockState(blockPos); - if (liquidContainer.canContainFluid(world, blockPos, state, resource.getFluid())) + if (liquidContainer.canPlaceLiquid(world, blockPos, state, resource.getFluid())) { //If we are executing try to actually fill the container, if it failed return that we failed - if (action.simulate() || liquidContainer.receiveFluid(world, blockPos, state, resource.getFluid().getAttributes().getStateForPlacement(world, blockPos, resource))) + if (action.simulate() || liquidContainer.placeLiquid(world, blockPos, state, resource.getFluid().getAttributes().getStateForPlacement(world, blockPos, resource))) { return FluidAttributes.BUCKET_VOLUME; } diff --git a/src/main/java/net/minecraftforge/fluids/capability/wrappers/BucketPickupHandlerWrapper.java b/src/main/java/net/minecraftforge/fluids/capability/wrappers/BucketPickupHandlerWrapper.java index b3b70c0afa..328f1eca78 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/wrappers/BucketPickupHandlerWrapper.java +++ b/src/main/java/net/minecraftforge/fluids/capability/wrappers/BucketPickupHandlerWrapper.java @@ -32,6 +32,8 @@ import net.minecraftforge.fluids.capability.IFluidHandler; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + public class BucketPickupHandlerWrapper implements IFluidHandler { private static final Logger LOGGER = LogManager.getLogger(); @@ -63,7 +65,7 @@ public class BucketPickupHandlerWrapper implements IFluidHandler FluidState fluidState = world.getFluidState(blockPos); if (!fluidState.isEmpty()) { - return new FluidStack(fluidState.getFluid(), FluidAttributes.BUCKET_VOLUME); + return new FluidStack(fluidState.getType(), FluidAttributes.BUCKET_VOLUME); } } return FluidStack.EMPTY; @@ -94,11 +96,11 @@ public class BucketPickupHandlerWrapper implements IFluidHandler if (!resource.isEmpty() && FluidAttributes.BUCKET_VOLUME <= resource.getAmount()) { FluidState fluidState = world.getFluidState(blockPos); - if (!fluidState.isEmpty() && resource.getFluid() == fluidState.getFluid()) + if (!fluidState.isEmpty() && resource.getFluid() == fluidState.getType()) { if (action.execute()) { - Fluid fluid = bucketPickupHandler.pickupFluid(world, blockPos, world.getBlockState(blockPos)); + Fluid fluid = bucketPickupHandler.takeLiquid(world, blockPos, world.getBlockState(blockPos)); if (fluid != Fluids.EMPTY) { FluidStack extracted = new FluidStack(fluid, FluidAttributes.BUCKET_VOLUME); @@ -106,7 +108,7 @@ public class BucketPickupHandlerWrapper implements IFluidHandler { //Be loud if something went wrong LOGGER.error("Fluid removed without successfully being picked up. Fluid {} at {} in {} matched requested type, but after performing pickup was {}.", - fluidState.getFluid().getRegistryName(), blockPos, world.getDimensionKey().getLocation(), fluid.getRegistryName()); + fluidState.getType().getRegistryName(), blockPos, world.dimension().location(), fluid.getRegistryName()); return FluidStack.EMPTY; } return extracted; @@ -114,7 +116,7 @@ public class BucketPickupHandlerWrapper implements IFluidHandler } else { - FluidStack extracted = new FluidStack(fluidState.getFluid(), FluidAttributes.BUCKET_VOLUME); + FluidStack extracted = new FluidStack(fluidState.getType(), FluidAttributes.BUCKET_VOLUME); if (resource.isFluidEqual(extracted)) { //Validate NBT matches @@ -137,9 +139,9 @@ public class BucketPickupHandlerWrapper implements IFluidHandler { if (action.simulate()) { - return new FluidStack(fluidState.getFluid(), FluidAttributes.BUCKET_VOLUME); + return new FluidStack(fluidState.getType(), FluidAttributes.BUCKET_VOLUME); } - Fluid fluid = bucketPickupHandler.pickupFluid(world, blockPos, world.getBlockState(blockPos)); + Fluid fluid = bucketPickupHandler.takeLiquid(world, blockPos, world.getBlockState(blockPos)); if (fluid != Fluids.EMPTY) { return new FluidStack(fluid, FluidAttributes.BUCKET_VOLUME); diff --git a/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBlockWrapper.java b/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBlockWrapper.java index f2ca007783..789f4b211d 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBlockWrapper.java +++ b/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBlockWrapper.java @@ -27,6 +27,8 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidBlock; import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + public class FluidBlockWrapper implements IFluidHandler { protected final IFluidBlock fluidBlock; diff --git a/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBucketWrapper.java b/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBucketWrapper.java index 9e2b348f40..1c25d3349d 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBucketWrapper.java +++ b/src/main/java/net/minecraftforge/fluids/capability/wrappers/FluidBucketWrapper.java @@ -36,6 +36,8 @@ import net.minecraftforge.fluids.FluidUtil; import net.minecraftforge.fluids.capability.IFluidHandlerItem; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + /** * Wrapper for vanilla and forge buckets. * Swaps between empty bucket and filled bucket of the correct type. diff --git a/src/main/java/net/minecraftforge/fml/CrashReportExtender.java b/src/main/java/net/minecraftforge/fml/CrashReportExtender.java index 826fed8099..c3fc3df427 100644 --- a/src/main/java/net/minecraftforge/fml/CrashReportExtender.java +++ b/src/main/java/net/minecraftforge/fml/CrashReportExtender.java @@ -41,7 +41,7 @@ public class CrashReportExtender { for (final ICrashCallable call: crashCallables) { - category.addDetail(call.getLabel(), call); + category.setDetail(call.getLabel(), call); } } @@ -82,23 +82,23 @@ public class CrashReportExtender public static File dumpModLoadingCrashReport(final Logger logger, final LoadingFailedException error, final File topLevelDir) { - final CrashReport crashReport = CrashReport.makeCrashReport(new Exception("Mod Loading has failed"), "Mod loading error has occurred"); + final CrashReport crashReport = CrashReport.forThrowable(new Exception("Mod Loading has failed"), "Mod loading error has occurred"); error.getErrors().forEach(mle -> { final Optional modInfo = Optional.ofNullable(mle.getModInfo()); - final CrashReportCategory category = crashReport.makeCategory(modInfo.map(iModInfo -> "MOD "+iModInfo.getModId()).orElse("NO MOD INFO AVAILABLE")); + final CrashReportCategory category = crashReport.addCategory(modInfo.map(iModInfo -> "MOD "+iModInfo.getModId()).orElse("NO MOD INFO AVAILABLE")); Throwable cause = mle.getCause(); int depth = 0; while (cause != null && cause.getCause() != null && cause.getCause()!=cause) { - category.addDetail("Caused by "+(depth++), cause + generateEnhancedStackTrace(cause.getStackTrace()).replaceAll(Strings.LINE_SEPARATOR+"\t", "\n\t\t")); + category.setDetail("Caused by "+(depth++), cause + generateEnhancedStackTrace(cause.getStackTrace()).replaceAll(Strings.LINE_SEPARATOR+"\t", "\n\t\t")); cause = cause.getCause(); } if (cause != null) category.applyStackTrace(cause); - category.addDetail("Mod File", () -> modInfo.map(IModInfo::getOwningFile).map(t->((ModFileInfo)t).getFile().getFileName()).orElse("NO FILE INFO")); - category.addDetail("Failure message", () -> mle.getCleanMessage().replace("\n", "\n\t\t")); - category.addDetail("Mod Version", () -> modInfo.map(IModInfo::getVersion).map(Object::toString).orElse("NO MOD INFO AVAILABLE")); - category.addDetail("Mod Issue URL", () -> modInfo.map(IModInfo::getOwningFile).map(ModFileInfo.class::cast).flatMap(mfi->mfi.getConfigElement("issueTrackerURL")).orElse("NOT PROVIDED")); - category.addDetail("Exception message", Objects.toString(cause, "MISSING EXCEPTION MESSAGE")); + category.setDetail("Mod File", () -> modInfo.map(IModInfo::getOwningFile).map(t->((ModFileInfo)t).getFile().getFileName()).orElse("NO FILE INFO")); + category.setDetail("Failure message", () -> mle.getCleanMessage().replace("\n", "\n\t\t")); + category.setDetail("Mod Version", () -> modInfo.map(IModInfo::getVersion).map(Object::toString).orElse("NO MOD INFO AVAILABLE")); + category.setDetail("Mod Issue URL", () -> modInfo.map(IModInfo::getOwningFile).map(ModFileInfo.class::cast).flatMap(mfi->mfi.getConfigElement("issueTrackerURL")).orElse("NOT PROVIDED")); + category.setDetail("Exception message", Objects.toString(cause, "MISSING EXCEPTION MESSAGE")); }); final File file1 = new File(topLevelDir, "crash-reports"); final File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-fml.txt"); @@ -107,7 +107,7 @@ public class CrashReportExtender } else { logger.fatal("Failed to save crash report"); } - System.out.print(crashReport.getCompleteReport()); + System.out.print(crashReport.getFriendlyReport()); return file2; } } diff --git a/src/main/java/net/minecraftforge/fml/DatagenModLoader.java b/src/main/java/net/minecraftforge/fml/DatagenModLoader.java index 348e886076..61ea2dae64 100644 --- a/src/main/java/net/minecraftforge/fml/DatagenModLoader.java +++ b/src/main/java/net/minecraftforge/fml/DatagenModLoader.java @@ -49,7 +49,7 @@ public class DatagenModLoader { if (mods.contains("minecraft") && mods.size() == 1) return; LOGGER.info("Initializing Data Gatherer for mods {}", mods); runningDataGen = true; - Bootstrap.register(); + Bootstrap.bootStrap(); dataGeneratorConfig = new GatherDataEvent.DataGeneratorConfig(mods, path, inputs, serverGenerators, clientGenerators, devToolGenerators, reportsGenerator, structureValidator, flat); ModLoader.get().gatherAndInitializeMods(ModWorkManager.syncExecutor(), ModWorkManager.parallelExecutor(), ()->{}); if (!mods.contains("forge")) { diff --git a/src/main/java/net/minecraftforge/fml/FMLWorldPersistenceHook.java b/src/main/java/net/minecraftforge/fml/FMLWorldPersistenceHook.java index 3a47408fa5..1781b289d9 100644 --- a/src/main/java/net/minecraftforge/fml/FMLWorldPersistenceHook.java +++ b/src/main/java/net/minecraftforge/fml/FMLWorldPersistenceHook.java @@ -71,13 +71,13 @@ public final class FMLWorldPersistenceHook implements WorldPersistenceHooks.Worl CompoundNBT registries = new CompoundNBT(); fmlData.put("Registries", registries); - LOGGER.debug(WORLDPERSISTENCE,"Gathering id map for writing to world save {}", serverInfo.getWorldName()); + LOGGER.debug(WORLDPERSISTENCE,"Gathering id map for writing to world save {}", serverInfo.getLevelName()); for (Map.Entry e : RegistryManager.ACTIVE.takeSnapshot(true).entrySet()) { registries.put(e.getKey().toString(), e.getValue().write()); } - LOGGER.debug(WORLDPERSISTENCE,"ID Map collection complete {}", serverInfo.getWorldName()); + LOGGER.debug(WORLDPERSISTENCE,"ID Map collection complete {}", serverInfo.getLevelName()); return fmlData; } @@ -114,7 +114,7 @@ public final class FMLWorldPersistenceHook implements WorldPersistenceHooks.Worl { Map snapshot = new HashMap<>(); CompoundNBT regs = tag.getCompound("Registries"); - for (String key : regs.keySet()) + for (String key : regs.getAllKeys()) { snapshot.put(new ResourceLocation(key), ForgeRegistry.Snapshot.read(regs.getCompound(key))); } diff --git a/src/main/java/net/minecraftforge/fml/LogicalSidedProvider.java b/src/main/java/net/minecraftforge/fml/LogicalSidedProvider.java index c00b052477..2a49383537 100644 --- a/src/main/java/net/minecraftforge/fml/LogicalSidedProvider.java +++ b/src/main/java/net/minecraftforge/fml/LogicalSidedProvider.java @@ -31,7 +31,7 @@ public enum LogicalSidedProvider { WORKQUEUE((c)->c.get(), (s)->s.get()), INSTANCE((c)->c.get(), (s)->s.get()), - CLIENTWORLD((c)-> Optional.of(c.get().world), (s)->Optional.empty()) + CLIENTWORLD((c)-> Optional.of(c.get().level), (s)->Optional.empty()) ; private static Supplier client; private static Supplier server; diff --git a/src/main/java/net/minecraftforge/fml/TextComponentMessageFormatHandler.java b/src/main/java/net/minecraftforge/fml/TextComponentMessageFormatHandler.java index fcc9f8c1b3..c89137a299 100644 --- a/src/main/java/net/minecraftforge/fml/TextComponentMessageFormatHandler.java +++ b/src/main/java/net/minecraftforge/fml/TextComponentMessageFormatHandler.java @@ -29,7 +29,7 @@ public class TextComponentMessageFormatHandler { public static int handle(final TranslationTextComponent parent, final List children, final Object[] formatArgs, final String format) { try { StringTextComponent component = new StringTextComponent(ForgeI18n.parseFormat(format, formatArgs)); - component.getStyle().mergeStyle(parent.getStyle()); + component.getStyle().applyTo(parent.getStyle()); children.add(component); return format.length(); } catch (IllegalArgumentException ex) { diff --git a/src/main/java/net/minecraftforge/fml/client/ClientHooks.java b/src/main/java/net/minecraftforge/fml/client/ClientHooks.java index ea796b0d38..f5bb12f80f 100644 --- a/src/main/java/net/minecraftforge/fml/client/ClientHooks.java +++ b/src/main/java/net/minecraftforge/fml/client/ClientHooks.java @@ -104,7 +104,7 @@ public class ClientHooks filter(e -> !ModList.get().isLoaded(e.getKey())). collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); - LOGGER.debug(CLIENTHOOKS, "Received FML ping data from server at {}: FMLNETVER={}, mod list is compatible : {}, channel list is compatible: {}, extra server mods: {}", target.serverIP, fmlver, modsMatch, channelsMatch, extraServerMods); + LOGGER.debug(CLIENTHOOKS, "Received FML ping data from server at {}: FMLNETVER={}, mod list is compatible : {}, channel list is compatible: {}, extra server mods: {}", target.ip, fmlver, modsMatch, channelsMatch, extraServerMods); String extraReason = null; @@ -169,12 +169,12 @@ public class ClientHooks tooltip = ForgeI18n.parseMessage("fml.menu.multiplayer.unknown", target.forgeData.type); } - Minecraft.getInstance().getTextureManager().bindTexture(iconSheet); + Minecraft.getInstance().getTextureManager().bind(iconSheet); AbstractGui.blit(mStack, x + width - 18, y + 10, 16, 16, 0, idx, 16, 16, 256, 256); if(relativeMouseX > width - 15 && relativeMouseX < width && relativeMouseY > 10 && relativeMouseY < 26) //TODO using StringTextComponent here is a hack, we should be using TranslationTextComponents. - gui.func_238854_b_(Collections.singletonList(new StringTextComponent(tooltip))); + gui.setToolTip(Collections.singletonList(new StringTextComponent(tooltip))); } @@ -186,19 +186,19 @@ public class ClientHooks @SuppressWarnings("resource") static File getSavesDir() { - return new File(Minecraft.getInstance().gameDir, "saves"); + return new File(Minecraft.getInstance().gameDirectory, "saves"); } private static NetworkManager getClientToServerNetworkManager() { - return Minecraft.getInstance().getConnection()!=null ? Minecraft.getInstance().getConnection().getNetworkManager() : null; + return Minecraft.getInstance().getConnection()!=null ? Minecraft.getInstance().getConnection().getConnection() : null; } public static void handleClientWorldClosing(ClientWorld world) { NetworkManager client = getClientToServerNetworkManager(); // ONLY revert a non-local connection - if (client != null && !client.isLocalChannel()) + if (client != null && !client.isMemoryConnection()) { GameData.revertToFrozen(); } @@ -251,7 +251,7 @@ public class ClientHooks } else { - List resPacks = fallbackResourceManager.resourcePacks; + List resPacks = fallbackResourceManager.fallbacks; logger.error(" domain {} has {} location{}:",resourceDomain, resPacks.size(), resPacks.size() != 1 ? "s" :""); for (IResourcePack resPack : resPacks) { @@ -306,7 +306,7 @@ public class ClientHooks } public static void firePlayerLogout(PlayerController pc, ClientPlayerEntity player) { - MinecraftForge.EVENT_BUS.post(new ClientPlayerNetworkEvent.LoggedOutEvent(pc, player, player != null ? player.connection != null ? player.connection.getNetworkManager() : null : null)); + MinecraftForge.EVENT_BUS.post(new ClientPlayerNetworkEvent.LoggedOutEvent(pc, player, player != null ? player.connection != null ? player.connection.getConnection() : null : null)); } public static void firePlayerRespawn(PlayerController pc, ClientPlayerEntity oldPlayer, ClientPlayerEntity newPlayer, NetworkManager networkManager) { diff --git a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java index 873cb9dfdb..0018398732 100644 --- a/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java +++ b/src/main/java/net/minecraftforge/fml/client/ClientModLoader.java @@ -99,20 +99,20 @@ public class ClientModLoader ClientModLoader.mc = minecraft; LogicalSidedProvider.setClient(()->minecraft); LanguageHook.loadForgeAndMCLangs(); - earlyLoaderGUI = new EarlyLoaderGUI(minecraft.getMainWindow()); + earlyLoaderGUI = new EarlyLoaderGUI(minecraft.getWindow()); createRunnableWithCatch(()->ModLoader.get().gatherAndInitializeMods(ModWorkManager.syncExecutor(), ModWorkManager.parallelExecutor(), new SpacedRunnable(earlyLoaderGUI::renderTick))).run(); if (error == null) { ResourcePackLoader.loadResourcePacks(defaultResourcePacks, ClientModLoader::buildPackFinder); - DatapackCodec.VANILLA_CODEC.addModPacks(ResourcePackLoader.getPackNames()); - mcResourceManager.addReloadListener(ClientModLoader::onResourceReload); - mcResourceManager.addReloadListener(BrandingControl.resourceManagerReloadListener()); + DatapackCodec.DEFAULT.addModPacks(ResourcePackLoader.getPackNames()); + mcResourceManager.registerReloadListener(ClientModLoader::onResourceReload); + mcResourceManager.registerReloadListener(BrandingControl.resourceManagerReloadListener()); ModelLoaderRegistry.init(); } } private static CompletableFuture onResourceReload(final IFutureReloadListener.IStage stage, final IResourceManager resourceManager, final IProfiler prepareProfiler, final IProfiler executeProfiler, final Executor asyncExecutor, final Executor syncExecutor) { return CompletableFuture.runAsync(createRunnableWithCatch(() -> startModLoading(ModWorkManager.wrappedExecutor(syncExecutor), asyncExecutor)), ModWorkManager.parallelExecutor()) - .thenCompose(stage::markCompleteAwaitingOthers) + .thenCompose(stage::wait) .thenRunAsync(() -> finishModLoading(ModWorkManager.wrappedExecutor(syncExecutor), asyncExecutor), ModWorkManager.parallelExecutor()); } @@ -134,7 +134,7 @@ public class ClientModLoader private static void postSidedRunnable() { LOGGER.debug(LOADING, "Running post client event work"); - RenderingRegistry.loadEntityRenderers(mc.getRenderManager()); + RenderingRegistry.loadEntityRenderers(mc.getEntityRenderDispatcher()); } private static void preSidedRunnable() { @@ -147,7 +147,7 @@ public class ClientModLoader loading = false; loadingComplete = true; // reload game settings on main thread - syncExecutor.execute(()->mc.gameSettings.loadOptions()); + syncExecutor.execute(()->mc.options.load()); } public static VersionChecker.Status checkForUpdates() @@ -185,10 +185,10 @@ public class ClientModLoader } else { // Double check we have the langs loaded for forge LanguageHook.loadForgeAndMCLangs(); - dumpedLocation = CrashReportExtender.dumpModLoadingCrashReport(LOGGER, error, mc.gameDir); + dumpedLocation = CrashReportExtender.dumpModLoadingCrashReport(LOGGER, error, mc.gameDirectory); } if (error != null || !warnings.isEmpty()) { - mc.displayGuiScreen(new LoadingErrorScreen(error, warnings, dumpedLocation)); + mc.setScreen(new LoadingErrorScreen(error, warnings, dumpedLocation)); return true; } else { ClientHooks.logMissingTextureErrors(); @@ -215,7 +215,7 @@ public class ClientModLoader IModInfo mod = e.getKey().getModInfos().get(0); if (Objects.equals(mod.getModId(), "minecraft")) continue; // skip the minecraft "mod" final String name = "mod:" + mod.getModId(); - final ResourcePackInfo packInfo = ResourcePackInfo.createResourcePack(name, false, e::getValue, factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.PLAIN); + final ResourcePackInfo packInfo = ResourcePackInfo.create(name, false, e::getValue, factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.DEFAULT); if (packInfo == null) { // Vanilla only logs an error, instead of propagating, so handle null and warn that something went wrong ModLoader.get().addWarning(new ModLoadingWarning(mod, ModLoadingStage.ERROR, "fml.modloading.brokenresources", e.getKey())); @@ -229,9 +229,9 @@ public class ClientModLoader hiddenPacks.add(e.getValue()); } } - final ResourcePackInfo packInfo = ResourcePackInfo.createResourcePack("mod_resources", true, () -> new DelegatingResourcePack("mod_resources", "Mod Resources", + final ResourcePackInfo packInfo = ResourcePackInfo.create("mod_resources", true, () -> new DelegatingResourcePack("mod_resources", "Mod Resources", new PackMetadataSection(new TranslationTextComponent("fml.resources.modresources", hiddenPacks.size()), 6), - hiddenPacks), factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.PLAIN); + hiddenPacks), factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.DEFAULT); consumer.accept(packInfo); } } diff --git a/src/main/java/net/minecraftforge/fml/client/EarlyLoaderGUI.java b/src/main/java/net/minecraftforge/fml/client/EarlyLoaderGUI.java index d77287c6d5..9f17da2b2c 100644 --- a/src/main/java/net/minecraftforge/fml/client/EarlyLoaderGUI.java +++ b/src/main/java/net/minecraftforge/fml/client/EarlyLoaderGUI.java @@ -47,10 +47,10 @@ public class EarlyLoaderGUI { @SuppressWarnings("deprecation") private void setupMatrix() { - RenderSystem.clear(256, Minecraft.IS_RUNNING_ON_MAC); + RenderSystem.clear(256, Minecraft.ON_OSX); RenderSystem.matrixMode(5889); RenderSystem.loadIdentity(); - RenderSystem.ortho(0.0D, window.getFramebufferWidth() / window.getGuiScaleFactor(), window.getFramebufferHeight() / window.getGuiScaleFactor(), 0.0D, 1000.0D, 3000.0D); + RenderSystem.ortho(0.0D, window.getWidth() / window.getGuiScale(), window.getHeight() / window.getGuiScale(), 0.0D, 1000.0D, 3000.0D); RenderSystem.matrixMode(5888); RenderSystem.loadIdentity(); RenderSystem.translatef(0.0F, 0.0F, -2000.0F); @@ -67,16 +67,16 @@ public class EarlyLoaderGUI { @SuppressWarnings("deprecation") void renderTick() { if (handledElsewhere) return; - int guiScale = window.calcGuiScale(0, false); + int guiScale = window.calculateScale(0, false); window.setGuiScale(guiScale); RenderSystem.clearColor(1.0f, 1.0f, 1.0f, 1.0f); - RenderSystem.clear(GL11.GL_COLOR_BUFFER_BIT, Minecraft.IS_RUNNING_ON_MAC); + RenderSystem.clear(GL11.GL_COLOR_BUFFER_BIT, Minecraft.ON_OSX); RenderSystem.pushMatrix(); setupMatrix(); renderBackground(); renderMessages(); - window.flipFrame(); + window.updateDisplay(); RenderSystem.popMatrix(); } @@ -84,9 +84,9 @@ public class EarlyLoaderGUI { GL11.glBegin(GL11.GL_QUADS); GL11.glColor4f(239F / 255F, 50F / 255F, 61F / 255F, 255F / 255F); //Color from ResourceLoadProgressGui GL11.glVertex3f(0, 0, -10); - GL11.glVertex3f(0, window.getScaledHeight(), -10); - GL11.glVertex3f(window.getScaledWidth(), window.getScaledHeight(), -10); - GL11.glVertex3f(window.getScaledWidth(), 0, -10); + GL11.glVertex3f(0, window.getGuiScaledHeight(), -10); + GL11.glVertex3f(window.getGuiScaledWidth(), window.getGuiScaledHeight(), -10); + GL11.glVertex3f(window.getGuiScaledWidth(), 0, -10); GL11.glEnd(); } @@ -98,7 +98,7 @@ public class EarlyLoaderGUI { final float fade = MathHelper.clamp((4000.0f - (float) pair.getLeft() - ( i - 4 ) * 1000.0f) / 5000.0f, 0.0f, 1.0f); if (fade <0.01f && !nofade) continue; StartupMessageManager.Message msg = pair.getRight(); - renderMessage(msg.getText(), msg.getTypeColour(), ((window.getScaledHeight() - 15) / 10) - i + 1, nofade ? 1.0f : fade); + renderMessage(msg.getText(), msg.getTypeColour(), ((window.getGuiScaledHeight() - 15) / 10) - i + 1, nofade ? 1.0f : fade); } renderMemoryInfo(); } @@ -111,7 +111,7 @@ public class EarlyLoaderGUI { final float pctmemory = (float) heapusage.getUsed() / heapusage.getMax(); String memory = String.format("Memory Heap: %d / %d MB (%.1f%%) OffHeap: %d MB", heapusage.getUsed() >> 20, heapusage.getMax() >> 20, pctmemory * 100.0, offheapusage.getUsed() >> 20); - final int i = MathHelper.hsvToRGB((1.0f - (float)Math.pow(pctmemory, 1.5f)) / 3f, 1.0f, 0.5f); + final int i = MathHelper.hsvToRgb((1.0f - (float)Math.pow(pctmemory, 1.5f)) / 3f, 1.0f, 0.5f); memorycolour[2] = ((i) & 0xFF) / 255.0f; memorycolour[1] = ((i >> 8 ) & 0xFF) / 255.0f; memorycolour[0] = ((i >> 16 ) & 0xFF) / 255.0f; @@ -120,7 +120,7 @@ public class EarlyLoaderGUI { @SuppressWarnings("deprecation") void renderMessage(final String message, final float[] colour, int line, float alpha) { - GlStateManager.enableClientState(GL11.GL_VERTEX_ARRAY); + GlStateManager._enableClientState(GL11.GL_VERTEX_ARRAY); ByteBuffer charBuffer = MemoryUtil.memAlloc(message.length() * 270); int quads = STBEasyFont.stb_easy_font_print(0, 0, message, null, charBuffer); GL14.glVertexPointer(2, GL11.GL_FLOAT, 16, charBuffer); @@ -140,7 +140,7 @@ public class EarlyLoaderGUI { RenderSystem.popMatrix(); RenderSystem.enableCull(); - GlStateManager.disableClientState(GL11.GL_VERTEX_ARRAY); + GlStateManager._disableClientState(GL11.GL_VERTEX_ARRAY); MemoryUtil.memFree(charBuffer); } } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/GuiUtils.java b/src/main/java/net/minecraftforge/fml/client/gui/GuiUtils.java index e9c5dcda77..2ba4c453a8 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/GuiUtils.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/GuiUtils.java @@ -137,7 +137,7 @@ public class GuiUtils public static void drawContinuousTexturedBox(ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) { - Minecraft.getInstance().getTextureManager().bindTexture(res); + Minecraft.getInstance().getTextureManager().bind(res); drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, topBorder, bottomBorder, leftBorder, rightBorder, zLevel); } @@ -216,13 +216,13 @@ public class GuiUtils final float vScale = 1f / 0x100; Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder wr = tessellator.getBuffer(); + BufferBuilder wr = tessellator.getBuilder(); wr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); - wr.pos(x , y + height, zLevel).tex( u * uScale, ((v + height) * vScale)).endVertex(); - wr.pos(x + width, y + height, zLevel).tex((u + width) * uScale, ((v + height) * vScale)).endVertex(); - wr.pos(x + width, y , zLevel).tex((u + width) * uScale, ( v * vScale)).endVertex(); - wr.pos(x , y , zLevel).tex( u * uScale, ( v * vScale)).endVertex(); - tessellator.draw(); + wr.vertex(x , y + height, zLevel).uv( u * uScale, ((v + height) * vScale)).endVertex(); + wr.vertex(x + width, y + height, zLevel).uv((u + width) * uScale, ((v + height) * vScale)).endVertex(); + wr.vertex(x + width, y , zLevel).uv((u + width) * uScale, ( v * vScale)).endVertex(); + wr.vertex(x , y , zLevel).uv( u * uScale, ( v * vScale)).endVertex(); + tessellator.end(); } /** @@ -296,7 +296,7 @@ public class GuiUtils public static void drawContinuousTexturedBox(MatrixStack matrixStack, ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) { - Minecraft.getInstance().getTextureManager().bindTexture(res); + Minecraft.getInstance().getTextureManager().bind(res); drawContinuousTexturedBox(matrixStack, x, y, u, v, width, height, textureWidth, textureHeight, topBorder, bottomBorder, leftBorder, rightBorder, zLevel); } @@ -375,14 +375,14 @@ public class GuiUtils final float vScale = 1f / 0x100; Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder wr = tessellator.getBuffer(); + BufferBuilder wr = tessellator.getBuilder(); wr.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); - Matrix4f matrix = matrixStack.getLast().getMatrix(); - wr.pos(matrix, x , y + height, zLevel).tex( u * uScale, ((v + height) * vScale)).endVertex(); - wr.pos(matrix, x + width, y + height, zLevel).tex((u + width) * uScale, ((v + height) * vScale)).endVertex(); - wr.pos(matrix, x + width, y , zLevel).tex((u + width) * uScale, ( v * vScale)).endVertex(); - wr.pos(matrix, x , y , zLevel).tex( u * uScale, ( v * vScale)).endVertex(); - tessellator.draw(); + Matrix4f matrix = matrixStack.last().pose(); + wr.vertex(matrix, x , y + height, zLevel).uv( u * uScale, ((v + height) * vScale)).endVertex(); + wr.vertex(matrix, x + width, y + height, zLevel).uv((u + width) * uScale, ((v + height) * vScale)).endVertex(); + wr.vertex(matrix, x + width, y , zLevel).uv((u + width) * uScale, ( v * vScale)).endVertex(); + wr.vertex(matrix, x , y , zLevel).uv( u * uScale, ( v * vScale)).endVertex(); + tessellator.end(); } @Nonnull @@ -469,7 +469,7 @@ public class GuiUtils for (ITextProperties textLine : textLines) { - int textLineWidth = font.getStringPropertyWidth(textLine); + int textLineWidth = font.width(textLine); if (textLineWidth > tooltipTextWidth) tooltipTextWidth = textLineWidth; } @@ -504,13 +504,13 @@ public class GuiUtils for (int i = 0; i < textLines.size(); i++) { ITextProperties textLine = textLines.get(i); - List wrappedLine = font.getCharacterManager().func_238362_b_(textLine, tooltipTextWidth, Style.EMPTY); + List wrappedLine = font.getSplitter().splitLines(textLine, tooltipTextWidth, Style.EMPTY); if (i == 0) titleLinesCount = wrappedLine.size(); for (ITextProperties line : wrappedLine) { - int lineWidth = font.getStringPropertyWidth(line); + int lineWidth = font.width(line); if (lineWidth > wrappedTooltipWidth) wrappedTooltipWidth = lineWidth; wrappedTextLines.add(line); @@ -547,8 +547,8 @@ public class GuiUtils borderColorStart = colorEvent.getBorderStart(); borderColorEnd = colorEvent.getBorderEnd(); - mStack.push(); - Matrix4f mat = mStack.getLast().getMatrix(); + mStack.pushPose(); + Matrix4f mat = mStack.last().pose(); //TODO, lots of unnessesary GL calls here, we can buffer all these together. drawGradientRect(mat, zLevel, tooltipX - 3, tooltipY - 4, tooltipX + tooltipTextWidth + 3, tooltipY - 3, backgroundColor, backgroundColor); drawGradientRect(mat, zLevel, tooltipX - 3, tooltipY + tooltipHeight + 3, tooltipX + tooltipTextWidth + 3, tooltipY + tooltipHeight + 4, backgroundColor, backgroundColor); @@ -562,7 +562,7 @@ public class GuiUtils MinecraftForge.EVENT_BUS.post(new RenderTooltipEvent.PostBackground(stack, textLines, mStack, tooltipX, tooltipY, font, tooltipTextWidth, tooltipHeight)); - IRenderTypeBuffer.Impl renderType = IRenderTypeBuffer.getImpl(Tessellator.getInstance().getBuffer()); + IRenderTypeBuffer.Impl renderType = IRenderTypeBuffer.immediate(Tessellator.getInstance().getBuilder()); mStack.translate(0.0D, 0.0D, zLevel); int tooltipTop = tooltipY; @@ -571,7 +571,7 @@ public class GuiUtils { ITextProperties line = textLines.get(lineNumber); if (line != null) - font.func_238416_a_(LanguageMap.getInstance().func_241870_a(line), (float)tooltipX, (float)tooltipY, -1, true, mat, renderType, false, 0, 15728880); + font.drawInBatch(LanguageMap.getInstance().getVisualOrder(line), (float)tooltipX, (float)tooltipY, -1, true, mat, renderType, false, 0, 15728880); if (lineNumber + 1 == titleLinesCount) tooltipY += 2; @@ -579,8 +579,8 @@ public class GuiUtils tooltipY += 10; } - renderType.finish(); - mStack.pop(); + renderType.endBatch(); + mStack.popPose(); MinecraftForge.EVENT_BUS.post(new RenderTooltipEvent.PostText(stack, textLines, mStack, tooltipX, tooltipTop, font, tooltipTextWidth, tooltipHeight)); @@ -608,13 +608,13 @@ public class GuiUtils RenderSystem.shadeModel(GL11.GL_SMOOTH); Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder buffer = tessellator.getBuffer(); + BufferBuilder buffer = tessellator.getBuilder(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); - buffer.pos(mat, right, top, zLevel).color(startRed, startGreen, startBlue, startAlpha).endVertex(); - buffer.pos(mat, left, top, zLevel).color(startRed, startGreen, startBlue, startAlpha).endVertex(); - buffer.pos(mat, left, bottom, zLevel).color( endRed, endGreen, endBlue, endAlpha).endVertex(); - buffer.pos(mat, right, bottom, zLevel).color( endRed, endGreen, endBlue, endAlpha).endVertex(); - tessellator.draw(); + buffer.vertex(mat, right, top, zLevel).color(startRed, startGreen, startBlue, startAlpha).endVertex(); + buffer.vertex(mat, left, top, zLevel).color(startRed, startGreen, startBlue, startAlpha).endVertex(); + buffer.vertex(mat, left, bottom, zLevel).color( endRed, endGreen, endBlue, endAlpha).endVertex(); + buffer.vertex(mat, right, bottom, zLevel).color( endRed, endGreen, endBlue, endAlpha).endVertex(); + tessellator.end(); RenderSystem.shadeModel(GL11.GL_FLAT); RenderSystem.disableBlend(); diff --git a/src/main/java/net/minecraftforge/fml/client/gui/screen/ConfirmationScreen.java b/src/main/java/net/minecraftforge/fml/client/gui/screen/ConfirmationScreen.java index cf530783ed..074a1cc8ef 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/screen/ConfirmationScreen.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/screen/ConfirmationScreen.java @@ -35,16 +35,16 @@ public class ConfirmationScreen extends NotificationScreen @Override protected void addConfirmationButtons() { - this.func_230480_a_(new Button(this.field_230708_k_ / 2 - 104, this.field_230709_l_ - PADDING - 20, 100, 20, new StringTextComponent(ForgeI18n.parseMessage("gui.yes")), b -> + this.addButton(new Button(this.width / 2 - 104, this.height - PADDING - 20, 100, 20, new StringTextComponent(ForgeI18n.parseMessage("gui.yes")), b -> { - ConfirmationScreen.this.field_230706_i_.currentScreen = null; + ConfirmationScreen.this.minecraft.currentScreen = null; query.setResult(true); query.finish(); } )); - this.func_230480_a_(new Button(this.field_230708_k_ / 2 + 4, this.field_230709_l_ - PADDING - 20, 100, 20, new StringTextComponent(ForgeI18n.parseMessage("gui.no")), b -> + this.addButton(new Button(this.width / 2 + 4, this.height - PADDING - 20, 100, 20, new StringTextComponent(ForgeI18n.parseMessage("gui.no")), b -> { - ConfirmationScreen.this.field_230706_i_.currentScreen = null; + ConfirmationScreen.this.minecraft.currentScreen = null; query.setResult(false); query.finish(); } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/screen/LoadingErrorScreen.java b/src/main/java/net/minecraftforge/fml/client/gui/screen/LoadingErrorScreen.java index c5fa5ee275..d9bd22bd7d 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/screen/LoadingErrorScreen.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/screen/LoadingErrorScreen.java @@ -80,20 +80,20 @@ public class LoadingErrorScreen extends ErrorScreen { this.warningHeader = new StringTextComponent(TextFormatting.YELLOW + ForgeI18n.parseMessage("fml.loadingerrorscreen.warningheader", this.modLoadErrors.size()) + TextFormatting.RESET); int yOffset = 46; - this.addButton(new ExtendedButton(50, this.height - yOffset, this.width / 2 - 55, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.mods.folder")), b -> Util.getOSType().openFile(modsDir.toFile()))); - this.addButton(new ExtendedButton(this.width / 2 + 5, this.height - yOffset, this.width / 2 - 55, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.file", logFile.getFileName())), b -> Util.getOSType().openFile(logFile.toFile()))); + this.addButton(new ExtendedButton(50, this.height - yOffset, this.width / 2 - 55, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.mods.folder")), b -> Util.getPlatform().openFile(modsDir.toFile()))); + this.addButton(new ExtendedButton(this.width / 2 + 5, this.height - yOffset, this.width / 2 - 55, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.file", logFile.getFileName())), b -> Util.getPlatform().openFile(logFile.toFile()))); if (this.modLoadErrors.isEmpty()) { this.addButton(new ExtendedButton(this.width / 4, this.height - 24, this.width / 2, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.continue.launch")), b -> { ClientHooks.logMissingTextureErrors(); - this.minecraft.displayGuiScreen(null); + this.minecraft.setScreen(null); })); } else { - this.addButton(new ExtendedButton(this.width / 4, this.height - 24, this.width / 2, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.file", dumpedLocation.getFileName())), b -> Util.getOSType().openFile(dumpedLocation.toFile()))); + this.addButton(new ExtendedButton(this.width / 4, this.height - 24, this.width / 2, 20, new StringTextComponent(ForgeI18n.parseMessage("fml.button.open.file", dumpedLocation.getFileName())), b -> Util.getPlatform().openFile(dumpedLocation.toFile()))); } this.entryList = new LoadingEntryList(this, this.modLoadErrors, this.modLoadWarnings); this.children.add(this.entryList); - this.setListener(this.entryList); + this.setFocused(this.entryList); } @Override @@ -106,20 +106,20 @@ public class LoadingErrorScreen extends ErrorScreen { } private void drawMultiLineCenteredString(MatrixStack mStack, FontRenderer fr, ITextComponent str, int x, int y) { - for (IReorderingProcessor s : fr.trimStringToWidth(str, this.width)) { - fr.func_238407_a_(mStack, s, (float) (x - fr.func_243245_a(s) / 2.0), y, 0xFFFFFF); - y+=fr.FONT_HEIGHT; + for (IReorderingProcessor s : fr.split(str, this.width)) { + fr.drawShadow(mStack, s, (float) (x - fr.width(s) / 2.0), y, 0xFFFFFF); + y+=fr.lineHeight; } } public static class LoadingEntryList extends ExtendedList { LoadingEntryList(final LoadingErrorScreen parent, final List errors, final List warnings) { - super(parent.minecraft, parent.width, parent.height, 35, parent.height - 50, 2 * parent.minecraft.fontRenderer.FONT_HEIGHT + 8); + super(parent.minecraft, parent.width, parent.height, 35, parent.height - 50, 2 * parent.minecraft.font.lineHeight + 8); boolean both = !errors.isEmpty() && !warnings.isEmpty(); if (both) addEntry(new LoadingMessageEntry(parent.errorHeader, true)); errors.forEach(e->addEntry(new LoadingMessageEntry(new StringTextComponent(e.formatToString())))); if (both) { - int maxChars = (this.width - 10) / parent.minecraft.fontRenderer.getStringWidth("-"); + int maxChars = (this.width - 10) / parent.minecraft.font.width("-"); addEntry(new LoadingMessageEntry(new StringTextComponent("\n" + Strings.repeat("-", maxChars) + "\n"))); addEntry(new LoadingMessageEntry(parent.warningHeader, true)); } @@ -153,15 +153,15 @@ public class LoadingErrorScreen extends ErrorScreen { @Override public void render(MatrixStack mStack, int entryIdx, int top, int left, final int entryWidth, final int entryHeight, final int mouseX, final int mouseY, final boolean p_194999_5_, final float partialTicks) { - FontRenderer font = Minecraft.getInstance().fontRenderer; - final List strings = font.trimStringToWidth(message, LoadingEntryList.this.width); + FontRenderer font = Minecraft.getInstance().font; + final List strings = font.split(message, LoadingEntryList.this.width); int y = top + 2; for (int i = 0; i < Math.min(strings.size(), 2); i++) { if (center) - font.func_238422_b_(mStack, strings.get(i), left + (width) - font.func_243245_a(strings.get(i)) / 2F, y, 0xFFFFFF); + font.draw(mStack, strings.get(i), left + (width) - font.width(strings.get(i)) / 2F, y, 0xFFFFFF); else - font.func_238422_b_(mStack, strings.get(i), left + 5, y, 0xFFFFFF); - y += font.FONT_HEIGHT; + font.draw(mStack, strings.get(i), left + 5, y, 0xFFFFFF); + y += font.lineHeight; } } } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/screen/ModListScreen.java b/src/main/java/net/minecraftforge/fml/client/gui/screen/ModListScreen.java index 8381e535c4..d4a7c89496 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/screen/ModListScreen.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/screen/ModListScreen.java @@ -74,7 +74,7 @@ import net.minecraftforge.forgespi.language.IModInfo; public class ModListScreen extends Screen { - private static String stripControlCodes(String value) { return net.minecraft.util.StringUtils.stripControlCodes(value); } + private static String stripControlCodes(String value) { return net.minecraft.util.StringUtils.stripColor(value); } private static final Logger LOGGER = LogManager.getLogger(); private enum SortType implements Comparator { @@ -167,7 +167,7 @@ public class ModListScreen extends Screen int maxTextLength = this.width - 12; if (maxTextLength >= 0) { - ret.addAll(LanguageMap.getInstance().func_244260_a(font.getCharacterManager().func_238362_b_(chat, maxTextLength, Style.EMPTY))); + ret.addAll(LanguageMap.getInstance().getVisualOrder(font.getSplitter().splitLines(chat, maxTextLength, Style.EMPTY))); } } return ret; @@ -177,7 +177,7 @@ public class ModListScreen extends Screen public int getContentHeight() { int height = 50; - height += (lines.size() * font.FONT_HEIGHT); + height += (lines.size() * font.lineHeight); if (height < this.bottom - this.top - 8) height = this.bottom - this.top - 8; return height; @@ -186,14 +186,14 @@ public class ModListScreen extends Screen @Override protected int getScrollAmount() { - return font.FONT_HEIGHT * 3; + return font.lineHeight * 3; } @Override protected void drawPanel(MatrixStack mStack, int entryRight, int relativeY, Tessellator tess, int mouseX, int mouseY) { if (logoPath != null) { - Minecraft.getInstance().getTextureManager().bindTexture(logoPath); + Minecraft.getInstance().getTextureManager().bind(logoPath); RenderSystem.enableBlend(); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); // Draw the logo image inscribed in a rectangle with width entryWidth (minus some padding) and height 50 @@ -207,11 +207,11 @@ public class ModListScreen extends Screen if (line != null) { RenderSystem.enableBlend(); - ModListScreen.this.font.func_238407_a_(mStack, line, left + PADDING, relativeY, 0xFFFFFF); + ModListScreen.this.font.drawShadow(mStack, line, left + PADDING, relativeY, 0xFFFFFF); RenderSystem.disableAlphaTest(); RenderSystem.disableBlend(); } - relativeY += font.FONT_HEIGHT; + relativeY += font.lineHeight; } final Style component = findTextLine(mouseX, mouseY); @@ -228,14 +228,14 @@ public class ModListScreen extends Screen if (offset <= 0) return null; - int lineIdx = (int) (offset / font.FONT_HEIGHT); + int lineIdx = (int) (offset / font.lineHeight); if (lineIdx >= lines.size() || lineIdx < 1) return null; IReorderingProcessor line = lines.get(lineIdx-1); if (line != null) { - return font.getCharacterManager().func_243239_a(line, mouseX); + return font.getSplitter().componentStyleAtWidth(line, mouseX); } return null; } @@ -260,8 +260,8 @@ public class ModListScreen extends Screen { for (ModInfo mod : mods) { - listWidth = Math.max(listWidth,getFontRenderer().getStringWidth(mod.getDisplayName()) + 10); - listWidth = Math.max(listWidth,getFontRenderer().getStringWidth(MavenVersionStringHelper.artifactVersionToString(mod.getVersion())) + 5); + listWidth = Math.max(listWidth,getFontRenderer().width(mod.getDisplayName()) + 10); + listWidth = Math.max(listWidth,getFontRenderer().width(MavenVersionStringHelper.artifactVersionToString(mod.getVersion())) + 5); } listWidth = Math.max(Math.min(listWidth, width/3), 100); listWidth += listWidth % numButtons != 0 ? (numButtons - listWidth % numButtons) : 0; @@ -270,9 +270,9 @@ public class ModListScreen extends Screen int doneButtonWidth = Math.min(modInfoWidth, 200); int y = this.height - 20 - PADDING; this.addButton(new Button(((listWidth + PADDING + this.width - doneButtonWidth) / 2), y, doneButtonWidth, 20, - new TranslationTextComponent("gui.done"), b -> ModListScreen.this.closeScreen())); + new TranslationTextComponent("gui.done"), b -> ModListScreen.this.onClose())); this.addButton(this.openModsFolderButton = new Button(6, y, this.listWidth, 20, - new TranslationTextComponent("fml.menu.mods.openmodsfolder"), b -> Util.getOSType().openFile(FMLPaths.MODSDIR.get().toFile()))); + new TranslationTextComponent("fml.menu.mods.openmodsfolder"), b -> Util.getPlatform().openFile(FMLPaths.MODSDIR.get().toFile()))); y -= 20 + PADDING; this.addButton(this.configButton = new Button(6, y, this.listWidth, 20, new TranslationTextComponent("fml.menu.mods.config"), b -> ModListScreen.this.displayModConfig())); @@ -282,7 +282,7 @@ public class ModListScreen extends Screen search = new TextFieldWidget(getFontRenderer(), PADDING + 1, y, listWidth - 2, 14, new TranslationTextComponent("fml.menu.mods.search")); int fullButtonHeight = PADDING + 20 + PADDING; - this.modList = new ModListWidget(this, listWidth, fullButtonHeight, search.y - getFontRenderer().FONT_HEIGHT - PADDING); + this.modList = new ModListWidget(this, listWidth, fullButtonHeight, search.y - getFontRenderer().lineHeight - PADDING); this.modList.setLeftPos(6); this.modInfo = new InfoPanel(this.minecraft, modInfoWidth, this.height - PADDING - fullButtonHeight, PADDING); @@ -290,7 +290,7 @@ public class ModListScreen extends Screen children.add(search); children.add(modList); children.add(modInfo); - search.setFocused2(false); + search.setFocus(false); search.setCanLoseFocus(true); final int width = listWidth / numButtons; @@ -309,7 +309,7 @@ public class ModListScreen extends Screen if (selected == null) return; try { - ConfigGuiHandler.getGuiFactoryFor(selected.getInfo()).map(f->f.apply(this.minecraft, this)).ifPresent(newScreen -> this.minecraft.displayGuiScreen(newScreen)); + ConfigGuiHandler.getGuiFactoryFor(selected.getInfo()).map(f->f.apply(this.minecraft, this)).ifPresent(newScreen -> this.minecraft.setScreen(newScreen)); } catch (final Exception e) { @@ -323,7 +323,7 @@ public class ModListScreen extends Screen search.tick(); modList.setSelected(selected); - if (!search.getText().equals(lastFilterText)) + if (!search.getValue().equals(lastFilterText)) { reloadMods(); sorted = false; @@ -336,7 +336,7 @@ public class ModListScreen extends Screen modList.refreshList(); if (selected != null) { - selected = modList.getEventListeners().stream().filter(e -> e.getInfo() == selected.getInfo()).findFirst().orElse(null); + selected = modList.children().stream().filter(e -> e.getInfo() == selected.getInfo()).findFirst().orElse(null); updateCache(); } sorted = true; @@ -351,8 +351,8 @@ public class ModListScreen extends Screen private void reloadMods() { this.mods = this.unsortedMods.stream(). - filter(mi->StringUtils.toLowerCase(stripControlCodes(mi.getDisplayName())).contains(StringUtils.toLowerCase(search.getText()))).collect(Collectors.toList()); - lastFilterText = search.getText(); + filter(mi->StringUtils.toLowerCase(stripControlCodes(mi.getDisplayName())).contains(StringUtils.toLowerCase(search.getValue()))).collect(Collectors.toList()); + lastFilterText = search.getValue(); } private void resortMods(SortType newSort) @@ -375,8 +375,8 @@ public class ModListScreen extends Screen this.modInfo.render(mStack, mouseX, mouseY, partialTicks); ITextComponent text = new TranslationTextComponent("fml.menu.mods.search"); - int x = modList.getLeft() + ((modList.getRight() - modList.getLeft()) / 2) - (getFontRenderer().getStringPropertyWidth(text) / 2); - getFontRenderer().func_238422_b_(mStack, text.func_241878_f(), x, search.y - getFontRenderer().FONT_HEIGHT, 0xFFFFFF); + int x = modList.getLeft() + ((modList.getRight() - modList.getLeft()) / 2) - (getFontRenderer().width(text) / 2); + getFontRenderer().draw(mStack, text.getVisualOrderText(), x, search.y - getFontRenderer().lineHeight, 0xFFFFFF); this.search.render(mStack, mouseX , mouseY, partialTicks); super.render(mStack, mouseX, mouseY, partialTicks); } @@ -419,20 +419,20 @@ public class ModListScreen extends Screen try { NativeImage logo = null; - InputStream logoResource = resourcePack.getRootResourceStream(logoFile); + InputStream logoResource = resourcePack.getRootResource(logoFile); if (logoResource != null) logo = NativeImage.read(logoResource); if (logo != null) { - return Pair.of(tm.getDynamicTextureLocation("modlogo", new DynamicTexture(logo) { + return Pair.of(tm.register("modlogo", new DynamicTexture(logo) { @Override - public void updateDynamicTexture() { - this.bindTexture(); - NativeImage td = this.getTextureData(); + public void upload() { + this.bind(); + NativeImage td = this.getPixels(); // Use custom "blur" value which controls texture filtering (nearest-neighbor vs linear) - this.getTextureData().uploadTextureSub(0, 0, 0, 0, 0, td.getWidth(), td.getHeight(), selectedMod.getLogoBlur(), false, false, false); + this.getPixels().upload(0, 0, 0, 0, 0, td.getWidth(), td.getHeight(), selectedMod.getLogoBlur(), false, false, false); } }), new Size2i(logo.getWidth(), logo.getHeight())); } @@ -488,13 +488,13 @@ public class ModListScreen extends Screen @Override public void resize(Minecraft mc, int width, int height) { - String s = this.search.getText(); + String s = this.search.getValue(); SortType sort = this.sortType; ModListWidget.ModEntry selected = this.selected; this.init(mc, width, height); - this.search.setText(s); + this.search.setValue(s); this.selected = selected; - if (!this.search.getText().isEmpty()) + if (!this.search.getValue().isEmpty()) reloadMods(); if (sort != SortType.NORMAL) resortMods(sort); @@ -502,8 +502,8 @@ public class ModListScreen extends Screen } @Override - public void closeScreen() + public void onClose() { - this.minecraft.displayGuiScreen(this.parentScreen); + this.minecraft.setScreen(this.parentScreen); } } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/screen/NotificationScreen.java b/src/main/java/net/minecraftforge/fml/client/gui/screen/NotificationScreen.java index d0e61e9f0d..95ce98dd23 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/screen/NotificationScreen.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/screen/NotificationScreen.java @@ -41,7 +41,7 @@ public class NotificationScreen extends Screen protected int getContentHeight() { int height = 0; - height += (textLines.length * field_230712_o_.FONT_HEIGHT) + 4; + height += (textLines.length * font.FONT_HEIGHT) + 4; if (height < this.height - 50) height = this.height - 50; return height; @@ -56,7 +56,7 @@ public class NotificationScreen extends Screen @Override protected int getScrollAmount() { - return field_230712_o_.FONT_HEIGHT * 3; + return font.FONT_HEIGHT * 3; } } @@ -80,44 +80,44 @@ public class NotificationScreen extends Screen } @Override - public void func_231160_c_() + public void init() { - super.func_231160_c_(); - int panelY = PADDING + headerLines.length * field_230712_o_.FONT_HEIGHT + PADDING; - int panelHeight = this.field_230709_l_ - PADDING - 20 - panelY; + super.init(); + int panelY = PADDING + headerLines.length * font.FONT_HEIGHT + PADDING; + int panelHeight = this.height - PADDING - 20 - panelY; if (!action.isEmpty()) { - panelHeight = panelHeight - field_230712_o_.FONT_HEIGHT - PADDING; + panelHeight = panelHeight - font.FONT_HEIGHT - PADDING; } - textPanel = new TextPanel(this.field_230706_i_, this.field_230708_k_ - (PADDING * 2), panelHeight, panelY, PADDING); - this.field_230705_e_.add(textPanel); + textPanel = new TextPanel(this.minecraft, this.width - (PADDING * 2), panelHeight, panelY, PADDING); + this.children.add(textPanel); addConfirmationButtons(); } protected void addConfirmationButtons() { - this.field_230710_m_.add(new Button(this.field_230708_k_ / 2 - 100, this.field_230709_l_ - PADDING - 20, 200, 20, new TranslationTextComponent("gui.done"), b -> { - NotificationScreen.this.field_230706_i_.displayGuiScreen(null); + this.buttons.add(new Button(this.width / 2 - 100, this.height - PADDING - 20, 200, 20, new TranslationTextComponent("gui.done"), b -> { + NotificationScreen.this.minecraft.displayGuiScreen(null); query.finish(); })); } @Override - public void func_230430_a_(MatrixStack mStack, int mouseX, int mouseY, float partialTicks) + public void render(MatrixStack mStack, int mouseX, int mouseY, float partialTicks) { - this.func_230446_a_(mStack); + this.renderBackground(mStack); drawCenteredLines(mStack, PADDING, headerLines); if (textPanel != null) { - textPanel.func_230430_a_(mStack, mouseX, mouseY, partialTicks); + textPanel.render(mStack, mouseX, mouseY, partialTicks); } if (!action.isEmpty()) { - func_238471_a_(mStack, field_230712_o_, action, this.field_230708_k_ / 2, this.field_230709_l_ - PADDING - 20 - field_230712_o_.FONT_HEIGHT, -1); + drawCenteredString(mStack, font, action, this.width / 2, this.height - PADDING - 20 - font.FONT_HEIGHT, -1); } - super.func_230430_a_(mStack, mouseX, mouseY, partialTicks); + super.render(mStack, mouseX, mouseY, partialTicks); } protected void drawCenteredLines(MatrixStack mStack, int yStart, String... lines) @@ -125,8 +125,8 @@ public class NotificationScreen extends Screen for (String line : lines) { if (!line.isEmpty()) - this.func_238471_a_(mStack, field_230712_o_, line, this.field_230708_k_ / 2, yStart, 0xFFFFFF); - yStart += field_230712_o_.FONT_HEIGHT; + this.drawCenteredString(mStack, font, line, this.width / 2, yStart, 0xFFFFFF); + yStart += font.FONT_HEIGHT; } } } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/widget/ExtendedButton.java b/src/main/java/net/minecraftforge/fml/client/gui/widget/ExtendedButton.java index a470e9bb04..3b42e842c7 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/widget/ExtendedButton.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/widget/ExtendedButton.java @@ -26,6 +26,8 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraftforge.fml.client.gui.GuiUtils; +import net.minecraft.client.gui.widget.button.Button.IPressable; + /** * This class provides a button that fixes several bugs present in the vanilla GuiButton drawing code. * The gist of it is that it allows buttons of any size without gaps in the graphics and with the @@ -58,14 +60,14 @@ public class ExtendedButton extends Button this.renderBg(mStack, mc, mouseX, mouseY); ITextComponent buttonText = this.getMessage(); - int strWidth = mc.fontRenderer.getStringPropertyWidth(buttonText); - int ellipsisWidth = mc.fontRenderer.getStringWidth("..."); + int strWidth = mc.font.width(buttonText); + int ellipsisWidth = mc.font.width("..."); if (strWidth > width - 6 && strWidth > ellipsisWidth) //TODO, srg names make it hard to figure out how to append to an ITextProperties from this trim operation, wraping this in StringTextComponent is kinda dirty. - buttonText = new StringTextComponent(mc.fontRenderer.func_238417_a_(buttonText, width - 6 - ellipsisWidth).getString() + "..."); + buttonText = new StringTextComponent(mc.font.substrByWidth(buttonText, width - 6 - ellipsisWidth).getString() + "..."); - drawCenteredString(mStack, mc.fontRenderer, buttonText, this.x + this.width / 2, this.y + (this.height - 8) / 2, getFGColor()); + drawCenteredString(mStack, mc.font, buttonText, this.x + this.width / 2, this.y + (this.height - 8) / 2, getFGColor()); } } } diff --git a/src/main/java/net/minecraftforge/fml/client/gui/widget/ModListWidget.java b/src/main/java/net/minecraftforge/fml/client/gui/widget/ModListWidget.java index f73f8e0cbf..0f41e7a6a4 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/widget/ModListWidget.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/widget/ModListWidget.java @@ -39,7 +39,7 @@ import com.mojang.blaze3d.systems.RenderSystem; public class ModListWidget extends ExtendedList { - private static String stripControlCodes(String value) { return net.minecraft.util.StringUtils.stripControlCodes(value); } + private static String stripControlCodes(String value) { return net.minecraft.util.StringUtils.stripColor(value); } private static final ResourceLocation VERSION_CHECK_ICONS = new ResourceLocation(ForgeVersion.MOD_ID, "textures/gui/version_check_icons.png"); private final int listWidth; @@ -47,7 +47,7 @@ public class ModListWidget extends ExtendedList public ModListWidget(ModListScreen parent, int listWidth, int top, int bottom) { - super(parent.getMinecraftInstance(), listWidth, parent.height, top, bottom, parent.getFontRenderer().FONT_HEIGHT * 2 + 8); + super(parent.getMinecraftInstance(), listWidth, parent.height, top, bottom, parent.getFontRenderer().lineHeight * 2 + 8); this.parent = parent; this.listWidth = listWidth; this.refreshList(); @@ -92,12 +92,12 @@ public class ModListWidget extends ExtendedList ITextComponent version = new StringTextComponent(stripControlCodes(MavenVersionStringHelper.artifactVersionToString(modInfo.getVersion()))); VersionChecker.CheckResult vercheck = VersionChecker.getResult(modInfo); FontRenderer font = this.parent.getFontRenderer(); - font.func_238422_b_(mStack, LanguageMap.getInstance().func_241870_a(ITextProperties.func_240655_a_(font.func_238417_a_(name, listWidth))), left + 3, top + 2, 0xFFFFFF); - font.func_238422_b_(mStack, LanguageMap.getInstance().func_241870_a(ITextProperties.func_240655_a_(font.func_238417_a_(version, listWidth))), left + 3, top + 2 + font.FONT_HEIGHT, 0xCCCCCC); + font.draw(mStack, LanguageMap.getInstance().getVisualOrder(ITextProperties.composite(font.substrByWidth(name, listWidth))), left + 3, top + 2, 0xFFFFFF); + font.draw(mStack, LanguageMap.getInstance().getVisualOrder(ITextProperties.composite(font.substrByWidth(version, listWidth))), left + 3, top + 2 + font.lineHeight, 0xCCCCCC); if (vercheck.status.shouldDraw()) { //TODO: Consider adding more icons for visualization - Minecraft.getInstance().getTextureManager().bindTexture(VERSION_CHECK_ICONS); + Minecraft.getInstance().getTextureManager().bind(VERSION_CHECK_ICONS); RenderSystem.color4f(1, 1, 1, 1); RenderSystem.pushMatrix(); AbstractGui.blit(mStack, getLeft() + width - 12, top + entryHeight / 4, vercheck.status.getSheetOffset() * 8, (vercheck.status.isAnimated() && ((System.currentTimeMillis() / 800 & 1)) == 1) ? 8 : 0, 8, 8, 64, 16); diff --git a/src/main/java/net/minecraftforge/fml/client/gui/widget/Slider.java b/src/main/java/net/minecraftforge/fml/client/gui/widget/Slider.java index 0770aba5c2..7203517b90 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/widget/Slider.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/widget/Slider.java @@ -27,6 +27,8 @@ import net.minecraftforge.fml.client.gui.GuiUtils; import javax.annotation.Nullable; +import net.minecraft.client.gui.widget.button.Button.IPressable; + /** * This class is blatantly stolen from iChunUtils with permission. * @@ -82,7 +84,7 @@ public class Slider extends ExtendedButton precision = 0; } - setMessage(new StringTextComponent("").append(dispString).appendString(val).append(suffix)); + setMessage(new StringTextComponent("").append(dispString).append(val).append(suffix)); drawString = drawStr; if(!drawString) @@ -176,7 +178,7 @@ public class Slider extends ExtendedButton if(drawString) { - setMessage(new StringTextComponent("").append(dispString).appendString(val).append(suffix)); + setMessage(new StringTextComponent("").append(dispString).append(val).append(suffix)); } if (parent != null) diff --git a/src/main/java/net/minecraftforge/fml/client/gui/widget/UnicodeGlyphButton.java b/src/main/java/net/minecraftforge/fml/client/gui/widget/UnicodeGlyphButton.java index db3862f05c..e48caa5fab 100644 --- a/src/main/java/net/minecraftforge/fml/client/gui/widget/UnicodeGlyphButton.java +++ b/src/main/java/net/minecraftforge/fml/client/gui/widget/UnicodeGlyphButton.java @@ -27,6 +27,8 @@ import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraftforge.fml.client.gui.GuiUtils; +import net.minecraft.client.gui.widget.button.Button.IPressable; + /** * This class provides a button that shows a string glyph at the beginning. The glyph can be scaled using the glyphScale parameter. * @@ -55,26 +57,26 @@ public class UnicodeGlyphButton extends ExtendedButton GuiUtils.drawContinuousTexturedBox(mStack, Button.WIDGETS_LOCATION, this.x, this.y, 0, 46 + k * 20, this.width, this.height, 200, 20, 2, 3, 2, 2, this.getBlitOffset()); this.renderBg(mStack, mc, mouseX, mouseY); - ITextComponent buttonText = this.getNarrationMessage(); - int glyphWidth = (int) (mc.fontRenderer.getStringWidth(glyph) * glyphScale); - int strWidth = mc.fontRenderer.getStringPropertyWidth(buttonText); - int ellipsisWidth = mc.fontRenderer.getStringWidth("..."); + ITextComponent buttonText = this.createNarrationMessage(); + int glyphWidth = (int) (mc.font.width(glyph) * glyphScale); + int strWidth = mc.font.width(buttonText); + int ellipsisWidth = mc.font.width("..."); int totalWidth = strWidth + glyphWidth; if (totalWidth > width - 6 && totalWidth > ellipsisWidth) - buttonText = new StringTextComponent(mc.fontRenderer.func_238417_a_(buttonText, width - 6 - ellipsisWidth).getString().trim() + "...") ; + buttonText = new StringTextComponent(mc.font.substrByWidth(buttonText, width - 6 - ellipsisWidth).getString().trim() + "...") ; - strWidth = mc.fontRenderer.getStringPropertyWidth(buttonText); + strWidth = mc.font.width(buttonText); totalWidth = glyphWidth + strWidth; - mStack.push(); + mStack.pushPose(); mStack.scale(glyphScale, glyphScale, 1.0F); - this.drawCenteredString(mStack, mc.fontRenderer, new StringTextComponent(glyph), + this.drawCenteredString(mStack, mc.font, new StringTextComponent(glyph), (int) (((this.x + (this.width / 2) - (strWidth / 2)) / glyphScale) - (glyphWidth / (2 * glyphScale)) + 2), (int) (((this.y + ((this.height - 8) / glyphScale) / 2) - 1) / glyphScale), getFGColor()); - mStack.pop(); + mStack.popPose(); - this.drawCenteredString(mStack, mc.fontRenderer, buttonText, (int) (this.x + (this.width / 2) + (glyphWidth / glyphScale)), + this.drawCenteredString(mStack, mc.font, buttonText, (int) (this.x + (this.width / 2) + (glyphWidth / glyphScale)), this.y + (this.height - 8) / 2, getFGColor()); } diff --git a/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java b/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java index 2c6d15211c..2fe2af782c 100644 --- a/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java +++ b/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java @@ -56,7 +56,7 @@ public class ClientRegistry */ public static synchronized void registerKeyBinding(KeyBinding key) { - Minecraft.getInstance().gameSettings.keyBindings = ArrayUtils.add(Minecraft.getInstance().gameSettings.keyBindings, key); + Minecraft.getInstance().options.keyMappings = ArrayUtils.add(Minecraft.getInstance().options.keyMappings, key); } /** diff --git a/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java b/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java index 948c9ec48a..ddb51f0eeb 100644 --- a/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java +++ b/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java @@ -47,7 +47,7 @@ public class PacketLoggingHandler { ChannelPipeline pipeline = manager.channel().pipeline(); final PacketDirection direction = manager.getDirection(); - if (manager.isLocalChannel()) + if (manager.isMemoryConnection()) { pipeline.addBefore("packet_handler", "splitter", new SimpleChannelInboundHandler>() { @@ -56,7 +56,7 @@ public class PacketLoggingHandler protected void channelRead0(ChannelHandlerContext ctx, IPacket msg) throws Exception { PacketBuffer buf = new PacketBuffer(Unpooled.buffer()); - msg.writePacketData(buf); + msg.write(buf); LOGGER.debug("{} {}:\n{}", prefix, msg.getClass().getSimpleName(), ByteBufUtils.getContentDump(buf)); ctx.fireChannelRead(msg); } @@ -70,7 +70,7 @@ public class PacketLoggingHandler if (msg instanceof IPacket) { PacketBuffer buf = new PacketBuffer(Unpooled.buffer()); - ((IPacket)msg).writePacketData(buf); + ((IPacket)msg).write(buf); LOGGER.debug("{} {}:\n{}", prefix, msg.getClass().getSimpleName(), ByteBufUtils.getContentDump(buf)); } ctx.write(msg, promise); diff --git a/src/main/java/net/minecraftforge/fml/config/ConfigTracker.java b/src/main/java/net/minecraftforge/fml/config/ConfigTracker.java index 4d009512fc..b9b9dc68ed 100644 --- a/src/main/java/net/minecraftforge/fml/config/ConfigTracker.java +++ b/src/main/java/net/minecraftforge/fml/config/ConfigTracker.java @@ -117,7 +117,7 @@ public class ConfigTracker { } public void receiveSyncedConfig(final FMLHandshakeMessages.S2CConfigData s2CConfigData, final Supplier contextSupplier) { - if (!Minecraft.getInstance().isIntegratedServerRunning()) { + if (!Minecraft.getInstance().isLocalServer()) { Optional.ofNullable(fileMap.get(s2CConfigData.getFileName())).ifPresent(mc-> { mc.setConfigData(TomlFormat.instance().createParser().parse(new ByteArrayInputStream(s2CConfigData.getBytes()))); mc.fireEvent(new ModConfig.Reloading(mc)); diff --git a/src/main/java/net/minecraftforge/fml/mclanguageprovider/MinecraftModLanguageProvider.java b/src/main/java/net/minecraftforge/fml/mclanguageprovider/MinecraftModLanguageProvider.java index 40474dbff8..df231f98d2 100644 --- a/src/main/java/net/minecraftforge/fml/mclanguageprovider/MinecraftModLanguageProvider.java +++ b/src/main/java/net/minecraftforge/fml/mclanguageprovider/MinecraftModLanguageProvider.java @@ -35,6 +35,8 @@ import java.util.function.Supplier; import static net.minecraftforge.fml.Logging.LOADING; +import net.minecraftforge.forgespi.language.IModLanguageProvider.IModLanguageLoader; + public class MinecraftModLanguageProvider implements IModLanguageProvider { private static final Logger LOGGER = LogManager.getLogger(); @Override diff --git a/src/main/java/net/minecraftforge/fml/network/FMLHandshakeHandler.java b/src/main/java/net/minecraftforge/fml/network/FMLHandshakeHandler.java index 79cfb738e2..32ff2f7430 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLHandshakeHandler.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLHandshakeHandler.java @@ -117,7 +117,7 @@ public class FMLHandshakeHandler { { this.direction = side; this.manager = networkManager; - if (networkManager.isLocalChannel()) { + if (networkManager.isMemoryConnection()) { this.messageList = NetworkRegistry.gatherLoginPayloads(this.direction, true); LOGGER.debug(FMLHSMARKER, "Starting local connection."); } else if (NetworkHooks.getConnectionType(()->this.manager)==ConnectionType.VANILLA) { @@ -176,7 +176,7 @@ public class FMLHandshakeHandler { c.get().setPacketHandled(true); if (!accepted) { LOGGER.error(FMLHSMARKER, "Terminating connection with server, mismatched mod list"); - c.get().getNetworkManager().closeChannel(new StringTextComponent("Connection closed - mismatched mod channel list")); + c.get().getNetworkManager().disconnect(new StringTextComponent("Connection closed - mismatched mod channel list")); return; } FMLNetworkConstants.handshakeChannel.reply(new FMLHandshakeMessages.C2SModListReply(), c.get()); @@ -206,7 +206,7 @@ public class FMLHandshakeHandler { c.get().setPacketHandled(true); if (!accepted) { LOGGER.error(FMLHSMARKER, "Terminating connection with client, mismatched mod list"); - c.get().getNetworkManager().closeChannel(new StringTextComponent("Connection closed - mismatched mod channel list")); + c.get().getNetworkManager().disconnect(new StringTextComponent("Connection closed - mismatched mod channel list")); return; } LOGGER.debug(FMLHSMARKER, "Accepted client connection mod list"); @@ -255,7 +255,7 @@ public class FMLHandshakeHandler { LOGGER.debug(FMLHSMARKER, "Registry load complete, continuing handshake."); } else { LOGGER.error(FMLHSMARKER, "Failed to load registry, closing connection."); - this.manager.closeChannel(new StringTextComponent("Failed to synchronize registry data from server, closing connection")); + this.manager.disconnect(new StringTextComponent("Failed to synchronize registry data from server, closing connection")); } return successfulConnection.get(); } diff --git a/src/main/java/net/minecraftforge/fml/network/FMLHandshakeMessages.java b/src/main/java/net/minecraftforge/fml/network/FMLHandshakeMessages.java index 02161834c5..c8e547c85f 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLHandshakeMessages.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLHandshakeMessages.java @@ -85,12 +85,12 @@ public class FMLHandshakeMessages List mods = new ArrayList<>(); int len = input.readVarInt(); for (int x = 0; x < len; x++) - mods.add(input.readString(0x100)); + mods.add(input.readUtf(0x100)); Map channels = new HashMap<>(); len = input.readVarInt(); for (int x = 0; x < len; x++) - channels.put(input.readResourceLocation(), input.readString(0x100)); + channels.put(input.readResourceLocation(), input.readUtf(0x100)); List registries = new ArrayList<>(); len = input.readVarInt(); @@ -103,12 +103,12 @@ public class FMLHandshakeMessages public void encode(PacketBuffer output) { output.writeVarInt(mods.size()); - mods.forEach(m -> output.writeString(m, 0x100)); + mods.forEach(m -> output.writeUtf(m, 0x100)); output.writeVarInt(channels.size()); channels.forEach((k, v) -> { output.writeResourceLocation(k); - output.writeString(v, 0x100); + output.writeUtf(v, 0x100); }); output.writeVarInt(registries.size()); @@ -153,17 +153,17 @@ public class FMLHandshakeMessages List mods = new ArrayList<>(); int len = input.readVarInt(); for (int x = 0; x < len; x++) - mods.add(input.readString(0x100)); + mods.add(input.readUtf(0x100)); Map channels = new HashMap<>(); len = input.readVarInt(); for (int x = 0; x < len; x++) - channels.put(input.readResourceLocation(), input.readString(0x100)); + channels.put(input.readResourceLocation(), input.readUtf(0x100)); Map registries = new HashMap<>(); len = input.readVarInt(); for (int x = 0; x < len; x++) - registries.put(input.readResourceLocation(), input.readString(0x100)); + registries.put(input.readResourceLocation(), input.readUtf(0x100)); return new C2SModListReply(mods, channels, registries); } @@ -171,18 +171,18 @@ public class FMLHandshakeMessages public void encode(PacketBuffer output) { output.writeVarInt(mods.size()); - mods.forEach(m -> output.writeString(m, 0x100)); + mods.forEach(m -> output.writeUtf(m, 0x100)); output.writeVarInt(channels.size()); channels.forEach((k, v) -> { output.writeResourceLocation(k); - output.writeString(v, 0x100); + output.writeUtf(v, 0x100); }); output.writeVarInt(registries.size()); registries.forEach((k, v) -> { output.writeResourceLocation(k); - output.writeString(v, 0x100); + output.writeUtf(v, 0x100); }); } @@ -259,12 +259,12 @@ public class FMLHandshakeMessages } void encode(final PacketBuffer buffer) { - buffer.writeString(this.fileName); + buffer.writeUtf(this.fileName); buffer.writeByteArray(this.fileData); } public static S2CConfigData decode(final PacketBuffer buffer) { - return new S2CConfigData(buffer.readString(32767), buffer.readByteArray()); + return new S2CConfigData(buffer.readUtf(32767), buffer.readByteArray()); } public String getFileName() { diff --git a/src/main/java/net/minecraftforge/fml/network/FMLLoginWrapper.java b/src/main/java/net/minecraftforge/fml/network/FMLLoginWrapper.java index ce2ea1f988..9757d35622 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLLoginWrapper.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLLoginWrapper.java @@ -81,6 +81,6 @@ public class FMLLoginWrapper { void sendServerToClientLoginPacket(final ResourceLocation resourceLocation, final PacketBuffer buffer, final int index, final NetworkManager manager) { PacketBuffer pb = wrapPacket(resourceLocation, buffer); - manager.sendPacket(NetworkDirection.LOGIN_TO_CLIENT.buildPacket(Pair.of(pb, index), WRAPPER).getThis()); + manager.send(NetworkDirection.LOGIN_TO_CLIENT.buildPacket(Pair.of(pb, index), WRAPPER).getThis()); } } diff --git a/src/main/java/net/minecraftforge/fml/network/FMLMCRegisterPacketHandler.java b/src/main/java/net/minecraftforge/fml/network/FMLMCRegisterPacketHandler.java index d990cbdb74..cbd869c97d 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLMCRegisterPacketHandler.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLMCRegisterPacketHandler.java @@ -116,6 +116,6 @@ public class FMLMCRegisterPacketHandler { PacketBuffer pb = new PacketBuffer(Unpooled.buffer()); pb.writeBytes(getFrom(manager).toByteArray()); final ICustomPacket> iPacketICustomPacket = dir.buildPacket(Pair.of(pb, 0), FMLNetworkConstants.MC_REGISTER_RESOURCE); - manager.sendPacket(iPacketICustomPacket.getThis()); + manager.send(iPacketICustomPacket.getThis()); } } diff --git a/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java b/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java index 6094d8065d..0da97ce6d2 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLPlayMessages.java @@ -86,15 +86,15 @@ public class FMLPlayMessages { this.entity = e; this.typeId = Registry.ENTITY_TYPE.getId(e.getType()); //TODO: Codecs - this.entityId = e.getEntityId(); - this.uuid = e.getUniqueID(); - this.posX = e.getPosX(); - this.posY = e.getPosY(); - this.posZ = e.getPosZ(); - this.pitch = (byte) MathHelper.floor(e.rotationPitch * 256.0F / 360.0F); - this.yaw = (byte) MathHelper.floor(e.rotationYaw * 256.0F / 360.0F); - this.headYaw = (byte) (e.getRotationYawHead() * 256.0F / 360.0F); - Vector3d vec3d = e.getMotion(); + this.entityId = e.getId(); + this.uuid = e.getUUID(); + this.posX = e.getX(); + this.posY = e.getY(); + this.posZ = e.getZ(); + this.pitch = (byte) MathHelper.floor(e.xRot * 256.0F / 360.0F); + this.yaw = (byte) MathHelper.floor(e.yRot * 256.0F / 360.0F); + this.headYaw = (byte) (e.getYHeadRot() * 256.0F / 360.0F); + Vector3d vec3d = e.getDeltaMovement(); double d1 = MathHelper.clamp(vec3d.x, -3.9D, 3.9D); double d2 = MathHelper.clamp(vec3d.y, -3.9D, 3.9D); double d3 = MathHelper.clamp(vec3d.z, -3.9D, 3.9D); @@ -160,7 +160,7 @@ public class FMLPlayMessages public static void handle(SpawnEntity msg, Supplier ctx) { ctx.get().enqueueWork(() -> { - EntityType type = Registry.ENTITY_TYPE.getByValue(msg.typeId); + EntityType type = Registry.ENTITY_TYPE.byId(msg.typeId); if (type == null) { throw new RuntimeException(String.format("Could not spawn entity (id %d) with unknown type at (%f, %f, %f)", msg.entityId, msg.posX, msg.posY, msg.posZ)); @@ -174,14 +174,14 @@ public class FMLPlayMessages } e.setPacketCoordinates(msg.posX, msg.posY, msg.posZ); - e.setPositionAndRotation(msg.posX, msg.posY, msg.posZ, (msg.yaw * 360) / 256.0F, (msg.pitch * 360) / 256.0F); - e.setRotationYawHead((msg.headYaw * 360) / 256.0F); - e.setRenderYawOffset((msg.headYaw * 360) / 256.0F); + e.absMoveTo(msg.posX, msg.posY, msg.posZ, (msg.yaw * 360) / 256.0F, (msg.pitch * 360) / 256.0F); + e.setYHeadRot((msg.headYaw * 360) / 256.0F); + e.setYBodyRot((msg.headYaw * 360) / 256.0F); - e.setEntityId(msg.entityId); - e.setUniqueId(msg.uuid); - world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).addEntity(msg.entityId, e)); - e.setVelocity(msg.velX / 8000.0, msg.velY / 8000.0, msg.velZ / 8000.0); + e.setId(msg.entityId); + e.setUUID(msg.uuid); + world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).putNonPlayerEntity(msg.entityId, e)); + e.lerpMotion(msg.velX / 8000.0, msg.velY / 8000.0, msg.velZ / 8000.0); if (e instanceof IEntityAdditionalSpawnData) { ((IEntityAdditionalSpawnData) e).readSpawnData(msg.buf); @@ -285,13 +285,13 @@ public class FMLPlayMessages { buf.writeVarInt(msg.id); buf.writeVarInt(msg.windowId); - buf.writeTextComponent(msg.name); + buf.writeComponent(msg.name); buf.writeByteArray(msg.additionalData.readByteArray()); } public static OpenContainer decode(PacketBuffer buf) { - return new OpenContainer(buf.readVarInt(), buf.readVarInt(), buf.readTextComponent(), new PacketBuffer(Unpooled.wrappedBuffer(buf.readByteArray(32600)))); + return new OpenContainer(buf.readVarInt(), buf.readVarInt(), buf.readComponent(), new PacketBuffer(Unpooled.wrappedBuffer(buf.readByteArray(32600)))); } public static void handle(OpenContainer msg, Supplier ctx) @@ -302,15 +302,15 @@ public class FMLPlayMessages Container c = msg.getType().create(msg.getWindowId(), Minecraft.getInstance().player.inventory, msg.getAdditionalData()); @SuppressWarnings("unchecked") Screen s = ((ScreenManager.IScreenFactory)f).create(c, Minecraft.getInstance().player.inventory, msg.getName()); - Minecraft.getInstance().player.openContainer = ((IHasContainer)s).getContainer(); - Minecraft.getInstance().displayGuiScreen(s); + Minecraft.getInstance().player.containerMenu = ((IHasContainer)s).getMenu(); + Minecraft.getInstance().setScreen(s); }); }); ctx.get().setPacketHandled(true); } public final ContainerType getType() { - return Registry.MENU.getByValue(this.id); + return Registry.MENU.byId(this.id); } public int getWindowId() { @@ -344,7 +344,7 @@ public class FMLPlayMessages public static void encode(SyncCustomTagTypes msg, PacketBuffer buf) { buf.writeVarInt(msg.customTagTypeCollections.size()); - msg.customTagTypeCollections.forEach((registryName, modded) -> forgeTagCollectionWrite(buf, registryName, modded.getIDTagMap())); + msg.customTagTypeCollections.forEach((registryName, modded) -> forgeTagCollectionWrite(buf, registryName, modded.getAllTags())); } private static void forgeTagCollectionWrite(PacketBuffer buf, ResourceLocation registryName, Map> tags) @@ -353,7 +353,7 @@ public class FMLPlayMessages buf.writeVarInt(tags.size()); tags.forEach((name, tag) -> { buf.writeResourceLocation(name); - List elements = tag.getAllElements(); + List elements = tag.getValues(); buf.writeVarInt(elements.size()); for (T element : elements) { @@ -395,29 +395,29 @@ public class FMLPlayMessages elementBuilder.add(element); } } - tags.put(name, ITag.getTagOf(elementBuilder.build())); + tags.put(name, ITag.fromSet(elementBuilder.build())); } - return ITagCollection.getTagCollectionFromMap(tags); + return ITagCollection.of(tags); } public static void handle(SyncCustomTagTypes msg, Supplier ctx) { ctx.get().enqueueWork(() -> { - if (Minecraft.getInstance().world != null) + if (Minecraft.getInstance().level != null) { - ITagCollectionSupplier tagCollectionSupplier = Minecraft.getInstance().world.getTags(); + ITagCollectionSupplier tagCollectionSupplier = Minecraft.getInstance().level.getTagManager(); //Validate that all the tags exist using the tag type collections from the packet // We mimic vanilla in that we validate before updating the actual stored tags so that it can gracefully fallback // to the last working set of tags //Note: We gracefully ignore any tag types the server may have that we don't as they won't be in our tag registry // so they won't be validated //Override and use the tags from the packet to test for validation before we actually set them - Multimap missingTags = TagRegistryManager.validateTags(ForgeTagHandler.withSpecificCustom(tagCollectionSupplier, msg.customTagTypeCollections)); + Multimap missingTags = TagRegistryManager.getAllMissingTags(ForgeTagHandler.withSpecificCustom(tagCollectionSupplier, msg.customTagTypeCollections)); if (missingTags.isEmpty()) { //If we have no missing tags, update the custom tag types ForgeTagHandler.updateCustomTagTypes(msg); - if (!ctx.get().getNetworkManager().isLocalChannel()) + if (!ctx.get().getNetworkManager().isMemoryConnection()) { //And if everything hasn't already been set due to being in single player // Fetch and update the custom tag types. We skip vanilla tag types as they have already been fetched @@ -427,7 +427,7 @@ public class FMLPlayMessages } } else { LOGGER.warn("Incomplete server tags, disconnecting. Missing: {}", missingTags); - ctx.get().getNetworkManager().closeChannel(new TranslationTextComponent("multiplayer.disconnect.missing_tags")); + ctx.get().getNetworkManager().disconnect(new TranslationTextComponent("multiplayer.disconnect.missing_tags")); } } }); diff --git a/src/main/java/net/minecraftforge/fml/network/FMLStatusPing.java b/src/main/java/net/minecraftforge/fml/network/FMLStatusPing.java index ad59bb4a94..796cdc16fd 100644 --- a/src/main/java/net/minecraftforge/fml/network/FMLStatusPing.java +++ b/src/main/java/net/minecraftforge/fml/network/FMLStatusPing.java @@ -85,17 +85,17 @@ public class FMLStatusPing { public static class Serializer { public static FMLStatusPing deserialize(JsonObject forgeData, JsonDeserializationContext ctx) { try { - final Map> channels = StreamSupport.stream(JSONUtils.getJsonArray(forgeData, "channels").spliterator(), false). + final Map> channels = StreamSupport.stream(JSONUtils.getAsJsonArray(forgeData, "channels").spliterator(), false). map(JsonElement::getAsJsonObject). - collect(Collectors.toMap(jo -> new ResourceLocation(JSONUtils.getString(jo, "res")), - jo -> Pair.of(JSONUtils.getString(jo, "version"), JSONUtils.getBoolean(jo, "required"))) + collect(Collectors.toMap(jo -> new ResourceLocation(JSONUtils.getAsString(jo, "res")), + jo -> Pair.of(JSONUtils.getAsString(jo, "version"), JSONUtils.getAsBoolean(jo, "required"))) ); - final Map mods = StreamSupport.stream(JSONUtils.getJsonArray(forgeData, "mods").spliterator(), false). + final Map mods = StreamSupport.stream(JSONUtils.getAsJsonArray(forgeData, "mods").spliterator(), false). map(JsonElement::getAsJsonObject). - collect(Collectors.toMap(jo -> JSONUtils.getString(jo, "modId"), jo->JSONUtils.getString(jo, "modmarker"))); + collect(Collectors.toMap(jo -> JSONUtils.getAsString(jo, "modId"), jo->JSONUtils.getAsString(jo, "modmarker"))); - final int remoteFMLVersion = JSONUtils.getInt(forgeData, "fmlNetworkVersion"); + final int remoteFMLVersion = JSONUtils.getAsInt(forgeData, "fmlNetworkVersion"); return new FMLStatusPing(channels, mods, remoteFMLVersion); } catch (JsonSyntaxException e) { LOGGER.debug(NETWORK, "Encountered an error parsing status ping data", e); diff --git a/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java b/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java index 1ee0a84727..c7f536247b 100644 --- a/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java +++ b/src/main/java/net/minecraftforge/fml/network/NetworkEvent.java @@ -209,8 +209,8 @@ public class NetworkEvent extends Event ThreadTaskExecutor executor = LogicalSidedProvider.WORKQUEUE.get(getDirection().getReceptionSide()); // Must check ourselves as Minecraft will sometimes delay tasks even when they are received on the client thread // Same logic as ThreadTaskExecutor#runImmediately without the join - if (!executor.isOnExecutionThread()) { - return executor.deferTask(runnable); // Use the internal method so thread check isn't done twice + if (!executor.isSameThread()) { + return executor.submitAsync(runnable); // Use the internal method so thread check isn't done twice } else { runnable.run(); return CompletableFuture.completedFuture(null); @@ -223,7 +223,7 @@ public class NetworkEvent extends Event @Nullable public ServerPlayerEntity getSender() { - INetHandler netHandler = networkManager.getNetHandler(); + INetHandler netHandler = networkManager.getPacketListener(); if (netHandler instanceof ServerPlayNetHandler) { ServerPlayNetHandler netHandlerPlayServer = (ServerPlayNetHandler) netHandler; diff --git a/src/main/java/net/minecraftforge/fml/network/NetworkHooks.java b/src/main/java/net/minecraftforge/fml/network/NetworkHooks.java index 5c23babbe8..0990d28375 100644 --- a/src/main/java/net/minecraftforge/fml/network/NetworkHooks.java +++ b/src/main/java/net/minecraftforge/fml/network/NetworkHooks.java @@ -90,7 +90,7 @@ public class NetworkHooks private static boolean validateSideForProcessing(final ICustomPacket packet, final NetworkInstance ni, final NetworkManager manager) { if (packet.getDirection().getReceptionSide() != EffectiveSide.get()) { - manager.closeChannel(new StringTextComponent("Illegal packet received, terminating connection")); + manager.disconnect(new StringTextComponent("Illegal packet received, terminating connection")); return false; } return true; @@ -98,7 +98,7 @@ public class NetworkHooks public static void validatePacketDirection(final NetworkDirection packetDirection, final Optional expectedDirection, final NetworkManager connection) { if (packetDirection != expectedDirection.orElse(packetDirection)) { - connection.closeChannel(new StringTextComponent("Illegal packet received, terminating connection")); + connection.disconnect(new StringTextComponent("Illegal packet received, terminating connection")); throw new IllegalStateException("Invalid packet received, aborting connection"); } } @@ -204,10 +204,10 @@ public class NetworkHooks */ public static void openGui(ServerPlayerEntity player, INamedContainerProvider containerSupplier, Consumer extraDataWriter) { - if (player.world.isRemote) return; - player.closeContainer(); - player.getNextWindowId(); - int openContainerId = player.currentWindowId; + if (player.level.isClientSide) return; + player.doCloseContainer(); + player.nextContainerCounter(); + int openContainerId = player.containerCounter; PacketBuffer extraData = new PacketBuffer(Unpooled.buffer()); extraDataWriter.accept(extraData); extraData.readerIndex(0); // reset to beginning in case modders read for whatever reason @@ -222,10 +222,10 @@ public class NetworkHooks Container c = containerSupplier.createMenu(openContainerId, player.inventory, player); ContainerType type = c.getType(); FMLPlayMessages.OpenContainer msg = new FMLPlayMessages.OpenContainer(type, openContainerId, containerSupplier.getDisplayName(), output); - FMLNetworkConstants.playChannel.sendTo(msg, player.connection.getNetworkManager(), NetworkDirection.PLAY_TO_CLIENT); + FMLNetworkConstants.playChannel.sendTo(msg, player.connection.getConnection(), NetworkDirection.PLAY_TO_CLIENT); - player.openContainer = c; - player.openContainer.addListener(player); + player.containerMenu = c; + player.containerMenu.addSlotListener(player); MinecraftForge.EVENT_BUS.post(new PlayerContainerEvent.Open(player, c)); } @@ -252,7 +252,7 @@ public class NetworkHooks Map> customTagTypes = tagCollectionSupplier.getCustomTagTypes(); if (!customTagTypes.isEmpty()) { - FMLNetworkConstants.playChannel.sendTo(new FMLPlayMessages.SyncCustomTagTypes(customTagTypes), player.connection.getNetworkManager(), NetworkDirection.PLAY_TO_CLIENT); + FMLNetworkConstants.playChannel.sendTo(new FMLPlayMessages.SyncCustomTagTypes(customTagTypes), player.connection.getConnection(), NetworkDirection.PLAY_TO_CLIENT); } } } diff --git a/src/main/java/net/minecraftforge/fml/network/PacketDispatcher.java b/src/main/java/net/minecraftforge/fml/network/PacketDispatcher.java index be943b3669..27cb6f284f 100644 --- a/src/main/java/net/minecraftforge/fml/network/PacketDispatcher.java +++ b/src/main/java/net/minecraftforge/fml/network/PacketDispatcher.java @@ -61,7 +61,7 @@ public class PacketDispatcher { private void dispatchPacket(final ResourceLocation resourceLocation, final PacketBuffer buffer) { final ICustomPacket packet = this.customPacketSupplier.apply(Pair.of(buffer, packetIndex), resourceLocation); - this.manager.sendPacket(packet.getThis()); + this.manager.send(packet.getThis()); } } } diff --git a/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java b/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java index 34a2c1c5c7..a3f8ef9910 100644 --- a/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java +++ b/src/main/java/net/minecraftforge/fml/network/PacketDistributor.java @@ -214,50 +214,50 @@ public class PacketDistributor { } private Consumer> playerConsumer(final Supplier entityPlayerMPSupplier) { - return p -> entityPlayerMPSupplier.get().connection.netManager.sendPacket(p); + return p -> entityPlayerMPSupplier.get().connection.connection.send(p); } private Consumer> playerListDimConsumer(final Supplier> dimensionTypeSupplier) { - return p->getServer().getPlayerList().func_232642_a_(p, dimensionTypeSupplier.get()); + return p->getServer().getPlayerList().broadcastAll(p, dimensionTypeSupplier.get()); } private Consumer> playerListAll(final Supplier voidSupplier) { - return p -> getServer().getPlayerList().sendPacketToAllPlayers(p); + return p -> getServer().getPlayerList().broadcastAll(p); } private Consumer> clientToServer(final Supplier voidSupplier) { - return p -> Minecraft.getInstance().getConnection().sendPacket(p); + return p -> Minecraft.getInstance().getConnection().send(p); } private Consumer> playerListPointConsumer(final Supplier targetPointSupplier) { return p -> { final TargetPoint tp = targetPointSupplier.get(); - getServer().getPlayerList().sendToAllNearExcept(tp.excluded, tp.x, tp.y, tp.z, tp.r2, tp.dim, p); + getServer().getPlayerList().broadcast(tp.excluded, tp.x, tp.y, tp.z, tp.r2, tp.dim, p); }; } private Consumer> trackingEntity(final Supplier entitySupplier) { return p-> { final Entity entity = entitySupplier.get(); - ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToAllTracking(entity, p); + ((ServerChunkProvider)entity.getCommandSenderWorld().getChunkSource()).broadcast(entity, p); }; } private Consumer> trackingEntityAndSelf(final Supplier entitySupplier) { return p-> { final Entity entity = entitySupplier.get(); - ((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToTrackingAndSelf(entity, p); + ((ServerChunkProvider)entity.getCommandSenderWorld().getChunkSource()).broadcastAndSend(entity, p); }; } private Consumer> trackingChunk(final Supplier chunkPosSupplier) { return p -> { final Chunk chunk = chunkPosSupplier.get(); - ((ServerChunkProvider)chunk.getWorld().getChunkProvider()).chunkManager.getTrackingPlayers(chunk.getPos(), false).forEach(e -> e.connection.sendPacket(p)); + ((ServerChunkProvider)chunk.getLevel().getChunkSource()).chunkMap.getPlayers(chunk.getPos(), false).forEach(e -> e.connection.send(p)); }; } private Consumer> networkManagerList(final Supplier> nmListSupplier) { - return p -> nmListSupplier.get().forEach(nm->nm.sendPacket(p)); + return p -> nmListSupplier.get().forEach(nm->nm.send(p)); } private MinecraftServer getServer() { diff --git a/src/main/java/net/minecraftforge/fml/network/simple/SimpleChannel.java b/src/main/java/net/minecraftforge/fml/network/simple/SimpleChannel.java index e1f3106c15..dc79cd05c3 100644 --- a/src/main/java/net/minecraftforge/fml/network/simple/SimpleChannel.java +++ b/src/main/java/net/minecraftforge/fml/network/simple/SimpleChannel.java @@ -101,12 +101,12 @@ public class SimpleChannel public void sendToServer(MSG message) { - sendTo(message, Minecraft.getInstance().getConnection().getNetworkManager(), NetworkDirection.PLAY_TO_SERVER); + sendTo(message, Minecraft.getInstance().getConnection().getConnection(), NetworkDirection.PLAY_TO_SERVER); } public void sendTo(MSG message, NetworkManager manager, NetworkDirection direction) { - manager.sendPacket(toVanillaPacket(message, direction)); + manager.send(toVanillaPacket(message, direction)); } /** diff --git a/src/main/java/net/minecraftforge/fml/packs/DelegatingResourcePack.java b/src/main/java/net/minecraftforge/fml/packs/DelegatingResourcePack.java index 9f0fe9e1c1..029745a751 100644 --- a/src/main/java/net/minecraftforge/fml/packs/DelegatingResourcePack.java +++ b/src/main/java/net/minecraftforge/fml/packs/DelegatingResourcePack.java @@ -61,7 +61,7 @@ public class DelegatingResourcePack extends ResourcePack Map> map = new HashMap<>(); for (IResourcePack pack : packList) { - for (String namespace : pack.getResourceNamespaces(type)) + for (String namespace : pack.getNamespaces(type)) { map.computeIfAbsent(namespace, k -> new ArrayList<>()).add(pack); } @@ -78,9 +78,9 @@ public class DelegatingResourcePack extends ResourcePack @SuppressWarnings("unchecked") @Override - public T getMetadata(IMetadataSectionSerializer deserializer) throws IOException + public T getMetadataSection(IMetadataSectionSerializer deserializer) throws IOException { - if (deserializer.getSectionName().equals("pack")) + if (deserializer.getMetadataSectionName().equals("pack")) { return (T) packInfo; } @@ -88,15 +88,15 @@ public class DelegatingResourcePack extends ResourcePack } @Override - public Collection getAllResourceLocations(ResourcePackType type, String pathIn, String pathIn2, int maxDepth, Predicate filter) + public Collection getResources(ResourcePackType type, String pathIn, String pathIn2, int maxDepth, Predicate filter) { return delegates.stream() - .flatMap(r -> r.getAllResourceLocations(type, pathIn, pathIn2, maxDepth, filter).stream()) + .flatMap(r -> r.getResources(type, pathIn, pathIn2, maxDepth, filter).stream()) .collect(Collectors.toList()); } @Override - public Set getResourceNamespaces(ResourcePackType type) + public Set getNamespaces(ResourcePackType type) { return type == ResourcePackType.CLIENT_RESOURCES ? namespacesAssets.keySet() : namespacesData.keySet(); } @@ -111,45 +111,45 @@ public class DelegatingResourcePack extends ResourcePack } @Override - public InputStream getRootResourceStream(String fileName) throws IOException + public InputStream getRootResource(String fileName) throws IOException { // root resources do not make sense here throw new ResourcePackFileNotFoundException(this.file, fileName); } @Override - protected InputStream getInputStream(String resourcePath) throws IOException + protected InputStream getResource(String resourcePath) throws IOException { // never called, we override all methods that call this throw new ResourcePackFileNotFoundException(this.file, resourcePath); } @Override - protected boolean resourceExists(String resourcePath) + protected boolean hasResource(String resourcePath) { // never called, we override all methods that call this return false; } @Override - public InputStream getResourceStream(ResourcePackType type, ResourceLocation location) throws IOException + public InputStream getResource(ResourcePackType type, ResourceLocation location) throws IOException { for (IResourcePack pack : getCandidatePacks(type, location)) { - if (pack.resourceExists(type, location)) + if (pack.hasResource(type, location)) { - return pack.getResourceStream(type, location); + return pack.getResource(type, location); } } throw new ResourcePackFileNotFoundException(this.file, getFullPath(type, location)); } @Override - public boolean resourceExists(ResourcePackType type, ResourceLocation location) + public boolean hasResource(ResourcePackType type, ResourceLocation location) { for (IResourcePack pack : getCandidatePacks(type, location)) { - if (pack.resourceExists(type, location)) + if (pack.hasResource(type, location)) { return true; } @@ -167,7 +167,7 @@ public class DelegatingResourcePack extends ResourcePack private static String getFullPath(ResourcePackType type, ResourceLocation location) { // stolen from ResourcePack - return String.format("%s/%s/%s", type.getDirectoryName(), location.getNamespace(), location.getPath()); + return String.format("%s/%s/%s", type.getDirectory(), location.getNamespace(), location.getPath()); } } diff --git a/src/main/java/net/minecraftforge/fml/packs/ModFileResourcePack.java b/src/main/java/net/minecraftforge/fml/packs/ModFileResourcePack.java index b230f6a628..23ce7f55c8 100644 --- a/src/main/java/net/minecraftforge/fml/packs/ModFileResourcePack.java +++ b/src/main/java/net/minecraftforge/fml/packs/ModFileResourcePack.java @@ -62,7 +62,7 @@ public class ModFileResourcePack extends ResourcePack } @Override - protected InputStream getInputStream(String name) throws IOException + protected InputStream getResource(String name) throws IOException { final Path path = modFile.getLocator().findPath(modFile, name); if(!Files.exists(path)) @@ -71,18 +71,18 @@ public class ModFileResourcePack extends ResourcePack } @Override - protected boolean resourceExists(String name) + protected boolean hasResource(String name) { return Files.exists(modFile.getLocator().findPath(modFile, name)); } @Override - public Collection getAllResourceLocations(ResourcePackType type, String resourceNamespace, String pathIn, int maxDepth, Predicate filter) + public Collection getResources(ResourcePackType type, String resourceNamespace, String pathIn, int maxDepth, Predicate filter) { try { - Path root = modFile.getLocator().findPath(modFile, type.getDirectoryName(), resourceNamespace).toAbsolutePath(); + Path root = modFile.getLocator().findPath(modFile, type.getDirectory(), resourceNamespace).toAbsolutePath(); Path inputPath = root.getFileSystem().getPath(pathIn); return Files.walk(root). @@ -104,10 +104,10 @@ public class ModFileResourcePack extends ResourcePack } @Override - public Set getResourceNamespaces(ResourcePackType type) + public Set getNamespaces(ResourcePackType type) { try { - Path root = modFile.getLocator().findPath(modFile, type.getDirectoryName()).toAbsolutePath(); + Path root = modFile.getLocator().findPath(modFile, type.getDirectory()).toAbsolutePath(); return Files.walk(root,1) .map(path -> root.relativize(path.toAbsolutePath())) .filter(path -> path.getNameCount() > 0) // skip the root entry @@ -119,7 +119,7 @@ public class ModFileResourcePack extends ResourcePack { if (type == ResourcePackType.SERVER_DATA) //We still have to add the resource namespace if client resources exist, as we load langs (which are in assets) on server { - return this.getResourceNamespaces(ResourcePackType.CLIENT_RESOURCES); + return this.getNamespaces(ResourcePackType.CLIENT_RESOURCES); } else { @@ -128,19 +128,19 @@ public class ModFileResourcePack extends ResourcePack } } - public InputStream getResourceStream(ResourcePackType type, ResourceLocation location) throws IOException { + public InputStream getResource(ResourcePackType type, ResourceLocation location) throws IOException { if (location.getPath().startsWith("lang/")) { - return super.getResourceStream(ResourcePackType.CLIENT_RESOURCES, location); + return super.getResource(ResourcePackType.CLIENT_RESOURCES, location); } else { - return super.getResourceStream(type, location); + return super.getResource(type, location); } } - public boolean resourceExists(ResourcePackType type, ResourceLocation location) { + public boolean hasResource(ResourcePackType type, ResourceLocation location) { if (location.getPath().startsWith("lang/")) { - return super.resourceExists(ResourcePackType.CLIENT_RESOURCES, location); + return super.hasResource(ResourcePackType.CLIENT_RESOURCES, location); } else { - return super.resourceExists(type, location); + return super.hasResource(type, location); } } diff --git a/src/main/java/net/minecraftforge/fml/packs/ResourcePackLoader.java b/src/main/java/net/minecraftforge/fml/packs/ResourcePackLoader.java index 92bdafe8dd..5ee42f5c95 100644 --- a/src/main/java/net/minecraftforge/fml/packs/ResourcePackLoader.java +++ b/src/main/java/net/minecraftforge/fml/packs/ResourcePackLoader.java @@ -111,7 +111,7 @@ public class ResourcePackLoader } @Override - public void findPacks(Consumer consumer, IFactory factory) + public void loadPacks(Consumer consumer, IFactory factory) { wrapped.addPackInfos(consumer, factory); } diff --git a/src/main/java/net/minecraftforge/fml/server/LanguageHook.java b/src/main/java/net/minecraftforge/fml/server/LanguageHook.java index 875be03396..437864f94a 100644 --- a/src/main/java/net/minecraftforge/fml/server/LanguageHook.java +++ b/src/main/java/net/minecraftforge/fml/server/LanguageHook.java @@ -66,10 +66,10 @@ public class LanguageHook try { JsonElement jsonelement = GSON.fromJson(new InputStreamReader(inputstream, StandardCharsets.UTF_8), JsonElement.class); - JsonObject jsonobject = JSONUtils.getJsonObject(jsonelement, "strings"); + JsonObject jsonobject = JSONUtils.convertToJsonObject(jsonelement, "strings"); jsonobject.entrySet().forEach(entry -> { - String s = PATTERN.matcher(JSONUtils.getString(entry.getValue(), entry.getKey())).replaceAll("%$1s"); + String s = PATTERN.matcher(JSONUtils.convertToString(entry.getValue(), entry.getKey())).replaceAll("%$1s"); modTable.put(entry.getKey(), s); }); } @@ -82,10 +82,10 @@ public class LanguageHook private static void loadLanguage(String langName, MinecraftServer server) { String langFile = String.format("lang/%s.json", langName); IResourceManager resourceManager = server.getDataPackRegistries().getResourceManager(); - resourceManager.getResourceNamespaces().forEach(namespace -> { + resourceManager.getNamespaces().forEach(namespace -> { try { ResourceLocation langResource = new ResourceLocation(namespace, langFile); - loadLocaleData(resourceManager.getAllResources(langResource)); + loadLocaleData(resourceManager.getResources(langResource)); } catch (FileNotFoundException fnfe) { } catch (Exception exception) { LOGGER.warn("Skipped language file: {}:{}", namespace, langFile, exception); diff --git a/src/main/java/net/minecraftforge/fml/server/ServerLifecycleHooks.java b/src/main/java/net/minecraftforge/fml/server/ServerLifecycleHooks.java index 502d80ca3f..b09168edd1 100644 --- a/src/main/java/net/minecraftforge/fml/server/ServerLifecycleHooks.java +++ b/src/main/java/net/minecraftforge/fml/server/ServerLifecycleHooks.java @@ -81,7 +81,7 @@ public class ServerLifecycleHooks private static Path getServerConfigPath(final MinecraftServer server) { - final Path serverConfig = server.func_240776_a_(SERVERCONFIG); + final Path serverConfig = server.getWorldPath(SERVERCONFIG); FileUtils.getOrCreateDirectory(serverConfig, "serverconfig"); return serverConfig; } @@ -89,7 +89,7 @@ public class ServerLifecycleHooks public static boolean handleServerAboutToStart(final MinecraftServer server) { currentServer = server; - currentServer.getServerStatusResponse().setForgeData(new FMLStatusPing()); //gathers NetworkRegistry data + currentServer.getStatus().setForgeData(new FMLStatusPing()); //gathers NetworkRegistry data // on the dedi server we need to force the stuff to setup properly LogicalSidedProvider.setServer(()->server); ConfigTracker.INSTANCE.loadConfigs(ModConfig.Type.SERVER, getServerConfigPath(server)); @@ -145,13 +145,13 @@ public class ServerLifecycleHooks if (!allowLogins.get()) { StringTextComponent text = new StringTextComponent("Server is still starting! Please wait before reconnecting."); - LOGGER.info(SERVERHOOKS,"Disconnecting Player (server is still starting): {}", text.getUnformattedComponentText()); - manager.sendPacket(new SDisconnectLoginPacket(text)); - manager.closeChannel(text); + LOGGER.info(SERVERHOOKS,"Disconnecting Player (server is still starting): {}", text.getContents()); + manager.send(new SDisconnectLoginPacket(text)); + manager.disconnect(text); return false; } - if (packet.getRequestedState() == ProtocolType.LOGIN) { + if (packet.getIntention() == ProtocolType.LOGIN) { final ConnectionType connectionType = ConnectionType.forVersionFlag(packet.getFMLVersion()); final int versionNumber = connectionType.getFMLVersionNumber(packet.getFMLVersion()); @@ -166,7 +166,7 @@ public class ServerLifecycleHooks } } - if (packet.getRequestedState() == ProtocolType.STATUS) return true; + if (packet.getIntention() == ProtocolType.STATUS) return true; NetworkHooks.registerServerLoginChannel(manager, packet); NetworkFilters.injectIfNecessary(manager); @@ -175,11 +175,11 @@ public class ServerLifecycleHooks } private static void rejectConnection(final NetworkManager manager, ConnectionType type, String message) { - manager.setConnectionState(ProtocolType.LOGIN); + manager.setProtocol(ProtocolType.LOGIN); LOGGER.info(SERVERHOOKS, "Disconnecting {} connection attempt: {}", type, message); StringTextComponent text = new StringTextComponent(message); - manager.sendPacket(new SDisconnectLoginPacket(text)); - manager.closeChannel(text); + manager.send(new SDisconnectLoginPacket(text)); + manager.disconnect(text); } public static void handleExit(int retVal) @@ -199,7 +199,7 @@ public class ServerLifecycleHooks IModInfo mod = e.getKey().getModInfos().get(0); if (Objects.equals(mod.getModId(), "minecraft")) continue; // skip the minecraft "mod" final String name = "mod:" + mod.getModId(); - final ResourcePackInfo packInfo = ResourcePackInfo.createResourcePack(name, false, e::getValue, factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.PLAIN); + final ResourcePackInfo packInfo = ResourcePackInfo.create(name, false, e::getValue, factory, ResourcePackInfo.Priority.BOTTOM, IPackNameDecorator.DEFAULT); if (packInfo == null) { // Vanilla only logs an error, instead of propagating, so handle null and warn that something went wrong ModLoader.get().addWarning(new ModLoadingWarning(mod, ModLoadingStage.ERROR, "fml.modloading.brokenresources", e.getKey())); diff --git a/src/main/java/net/minecraftforge/items/CapabilityItemHandler.java b/src/main/java/net/minecraftforge/items/CapabilityItemHandler.java index 011c1daed2..632d21d5c1 100644 --- a/src/main/java/net/minecraftforge/items/CapabilityItemHandler.java +++ b/src/main/java/net/minecraftforge/items/CapabilityItemHandler.java @@ -51,7 +51,7 @@ public class CapabilityItemHandler { CompoundNBT itemTag = new CompoundNBT(); itemTag.putInt("Slot", i); - stack.write(itemTag); + stack.save(itemTag); nbtTagList.add(itemTag); } } @@ -72,7 +72,7 @@ public class CapabilityItemHandler if (j >= 0 && j < instance.getSlots()) { - itemHandlerModifiable.setStackInSlot(j, ItemStack.read(itemTags)); + itemHandlerModifiable.setStackInSlot(j, ItemStack.of(itemTags)); } } } diff --git a/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java b/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java index 278df30e24..dffcbd6eab 100644 --- a/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java +++ b/src/main/java/net/minecraftforge/items/ItemHandlerHelper.java @@ -53,7 +53,7 @@ public class ItemHandlerHelper public static boolean canItemStacksStack(@Nonnull ItemStack a, @Nonnull ItemStack b) { - if (a.isEmpty() || !a.isItemEqual(b) || a.hasTag() != b.hasTag()) + if (a.isEmpty() || !a.sameItem(b) || a.hasTag() != b.hasTag()) return false; return (!a.hasTag() || a.getTag().equals(b.getTag())) && a.areCapsCompatible(b); @@ -165,7 +165,7 @@ public class ItemHandlerHelper if (stack.isEmpty()) return; IItemHandler inventory = new PlayerMainInvWrapper(player.inventory); - World world = player.world; + World world = player.level; // try adding it into the inventory ItemStack remainder = stack; @@ -183,18 +183,18 @@ public class ItemHandlerHelper // play sound if something got picked up if (remainder.isEmpty() || remainder.getCount() != stack.getCount()) { - world.playSound(null, player.getPosX(), player.getPosY() + 0.5, player.getPosZ(), - SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, ((world.rand.nextFloat() - world.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + world.playSound(null, player.getX(), player.getY() + 0.5, player.getZ(), + SoundEvents.ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, ((world.random.nextFloat() - world.random.nextFloat()) * 0.7F + 1.0F) * 2.0F); } // drop remaining itemstack into the world - if (!remainder.isEmpty() && !world.isRemote) + if (!remainder.isEmpty() && !world.isClientSide) { - ItemEntity entityitem = new ItemEntity(world, player.getPosX(), player.getPosY() + 0.5, player.getPosZ(), remainder); - entityitem.setPickupDelay(40); - entityitem.setMotion(entityitem.getMotion().mul(0, 1, 0)); + ItemEntity entityitem = new ItemEntity(world, player.getX(), player.getY() + 0.5, player.getZ(), remainder); + entityitem.setPickUpDelay(40); + entityitem.setDeltaMovement(entityitem.getDeltaMovement().multiply(0, 1, 0)); - world.addEntity(entityitem); + world.addFreshEntity(entityitem); } } diff --git a/src/main/java/net/minecraftforge/items/ItemStackHandler.java b/src/main/java/net/minecraftforge/items/ItemStackHandler.java index 0e64445657..d102e9e319 100644 --- a/src/main/java/net/minecraftforge/items/ItemStackHandler.java +++ b/src/main/java/net/minecraftforge/items/ItemStackHandler.java @@ -187,7 +187,7 @@ public class ItemStackHandler implements IItemHandler, IItemHandlerModifiable, I { CompoundNBT itemTag = new CompoundNBT(); itemTag.putInt("Slot", i); - stacks.get(i).write(itemTag); + stacks.get(i).save(itemTag); nbtTagList.add(itemTag); } } @@ -209,7 +209,7 @@ public class ItemStackHandler implements IItemHandler, IItemHandlerModifiable, I if (slot >= 0 && slot < stacks.size()) { - stacks.set(slot, ItemStack.read(itemTags)); + stacks.set(slot, ItemStack.of(itemTags)); } } onLoad(); diff --git a/src/main/java/net/minecraftforge/items/SlotItemHandler.java b/src/main/java/net/minecraftforge/items/SlotItemHandler.java index 2cbbe83295..a3f88d1d07 100644 --- a/src/main/java/net/minecraftforge/items/SlotItemHandler.java +++ b/src/main/java/net/minecraftforge/items/SlotItemHandler.java @@ -40,7 +40,7 @@ public class SlotItemHandler extends Slot } @Override - public boolean isItemValid(@Nonnull ItemStack stack) + public boolean mayPlace(@Nonnull ItemStack stack) { if (stack.isEmpty()) return false; @@ -49,33 +49,33 @@ public class SlotItemHandler extends Slot @Override @Nonnull - public ItemStack getStack() + public ItemStack getItem() { return this.getItemHandler().getStackInSlot(index); } // Override if your IItemHandler does not implement IItemHandlerModifiable @Override - public void putStack(@Nonnull ItemStack stack) + public void set(@Nonnull ItemStack stack) { ((IItemHandlerModifiable) this.getItemHandler()).setStackInSlot(index, stack); - this.onSlotChanged(); + this.setChanged(); } @Override - public void onSlotChange(@Nonnull ItemStack oldStackIn, @Nonnull ItemStack newStackIn) + public void onQuickCraft(@Nonnull ItemStack oldStackIn, @Nonnull ItemStack newStackIn) { } @Override - public int getSlotStackLimit() + public int getMaxStackSize() { return this.itemHandler.getSlotLimit(this.index); } @Override - public int getItemStackLimit(@Nonnull ItemStack stack) + public int getMaxStackSize(@Nonnull ItemStack stack) { ItemStack maxAdd = stack.copy(); int maxInput = stack.getMaxStackSize(); @@ -105,14 +105,14 @@ public class SlotItemHandler extends Slot } @Override - public boolean canTakeStack(PlayerEntity playerIn) + public boolean mayPickup(PlayerEntity playerIn) { return !this.getItemHandler().extractItem(index, 1, true).isEmpty(); } @Override @Nonnull - public ItemStack decrStackSize(int amount) + public ItemStack remove(int amount) { return this.getItemHandler().extractItem(index, amount, false); } diff --git a/src/main/java/net/minecraftforge/items/VanillaHopperItemHandler.java b/src/main/java/net/minecraftforge/items/VanillaHopperItemHandler.java index 1ec34e8bcf..6c6edb1100 100644 --- a/src/main/java/net/minecraftforge/items/VanillaHopperItemHandler.java +++ b/src/main/java/net/minecraftforge/items/VanillaHopperItemHandler.java @@ -52,14 +52,14 @@ public class VanillaHopperItemHandler extends InvWrapper if (wasEmpty && originalStackSize > stack.getCount()) { - if (!hopper.mayTransfer()) + if (!hopper.isOnCustomCooldown()) { // This cooldown is always set to 8 in vanilla with one exception: // Hopper -> Hopper transfer sets this cooldown to 7 when this hopper // has not been updated as recently as the one pushing items into it. // This vanilla behavior is preserved by VanillaInventoryCodeHooks#insertStack, // the cooldown is set properly by the hopper that is pushing items into this one. - hopper.setTransferCooldown(8); + hopper.setCooldown(8); } } diff --git a/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java b/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java index c12825173a..50398c4ac2 100644 --- a/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java +++ b/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java @@ -58,20 +58,20 @@ public class VanillaInventoryCodeHooks ItemStack extractItem = handler.extractItem(i, 1, true); if (!extractItem.isEmpty()) { - for (int j = 0; j < dest.getSizeInventory(); j++) + for (int j = 0; j < dest.getContainerSize(); j++) { - ItemStack destStack = dest.getStackInSlot(j); - if (dest.isItemValidForSlot(j, extractItem) && (destStack.isEmpty() || destStack.getCount() < destStack.getMaxStackSize() && destStack.getCount() < dest.getInventoryStackLimit() && ItemHandlerHelper.canItemStacksStack(extractItem, destStack))) + ItemStack destStack = dest.getItem(j); + if (dest.canPlaceItem(j, extractItem) && (destStack.isEmpty() || destStack.getCount() < destStack.getMaxStackSize() && destStack.getCount() < dest.getMaxStackSize() && ItemHandlerHelper.canItemStacksStack(extractItem, destStack))) { extractItem = handler.extractItem(i, 1, false); if (destStack.isEmpty()) - dest.setInventorySlotContents(j, extractItem); + dest.setItem(j, extractItem); else { destStack.grow(1); - dest.setInventorySlotContents(j, destStack); + dest.setItem(j, destStack); } - dest.markDirty(); + dest.setChanged(); return true; } } @@ -88,8 +88,8 @@ public class VanillaInventoryCodeHooks */ public static boolean dropperInsertHook(World world, BlockPos pos, DispenserTileEntity dropper, int slot, @Nonnull ItemStack stack) { - Direction enumfacing = world.getBlockState(pos).get(DropperBlock.FACING); - BlockPos blockpos = pos.offset(enumfacing); + Direction enumfacing = world.getBlockState(pos).getValue(DropperBlock.FACING); + BlockPos blockpos = pos.relative(enumfacing); return getItemHandler(world, (double) blockpos.getX(), (double) blockpos.getY(), (double) blockpos.getZ(), enumfacing.getOpposite()) .map(destinationResult -> { IItemHandler itemHandler = destinationResult.getKey(); @@ -107,7 +107,7 @@ public class VanillaInventoryCodeHooks remainder = stack.copy(); } - dropper.setInventorySlotContents(slot, remainder); + dropper.setItem(slot, remainder); return false; }) .orElse(true); @@ -118,7 +118,7 @@ public class VanillaInventoryCodeHooks */ public static boolean insertHook(HopperTileEntity hopper) { - Direction hopperFacing = hopper.getBlockState().get(HopperBlock.FACING); + Direction hopperFacing = hopper.getBlockState().getValue(HopperBlock.FACING); return getItemHandler(hopper, hopperFacing) .map(destinationResult -> { IItemHandler itemHandler = destinationResult.getKey(); @@ -129,12 +129,12 @@ public class VanillaInventoryCodeHooks } else { - for (int i = 0; i < hopper.getSizeInventory(); ++i) + for (int i = 0; i < hopper.getContainerSize(); ++i) { - if (!hopper.getStackInSlot(i).isEmpty()) + if (!hopper.getItem(i).isEmpty()) { - ItemStack originalSlotContents = hopper.getStackInSlot(i).copy(); - ItemStack insertStack = hopper.decrStackSize(i, 1); + ItemStack originalSlotContents = hopper.getItem(i).copy(); + ItemStack insertStack = hopper.removeItem(i, 1); ItemStack remainder = putStackInInventoryAllSlots(hopper, destination, itemHandler, insertStack); if (remainder.isEmpty()) @@ -142,7 +142,7 @@ public class VanillaInventoryCodeHooks return true; } - hopper.setInventorySlotContents(i, originalSlotContents); + hopper.setItem(i, originalSlotContents); } } @@ -192,7 +192,7 @@ public class VanillaInventoryCodeHooks { HopperTileEntity destinationHopper = (HopperTileEntity)destination; - if (!destinationHopper.mayTransfer()) + if (!destinationHopper.isOnCustomCooldown()) { int k = 0; if (source instanceof HopperTileEntity) @@ -202,7 +202,7 @@ public class VanillaInventoryCodeHooks k = 1; } } - destinationHopper.setTransferCooldown(8 - k); + destinationHopper.setCooldown(8 - k); } } } @@ -213,10 +213,10 @@ public class VanillaInventoryCodeHooks private static Optional> getItemHandler(IHopper hopper, Direction hopperFacing) { - double x = hopper.getXPos() + (double) hopperFacing.getXOffset(); - double y = hopper.getYPos() + (double) hopperFacing.getYOffset(); - double z = hopper.getZPos() + (double) hopperFacing.getZOffset(); - return getItemHandler(hopper.getWorld(), x, y, z, hopperFacing.getOpposite()); + double x = hopper.getLevelX() + (double) hopperFacing.getStepX(); + double y = hopper.getLevelY() + (double) hopperFacing.getStepY(); + double z = hopper.getLevelZ() + (double) hopperFacing.getStepZ(); + return getItemHandler(hopper.getLevel(), x, y, z, hopperFacing.getOpposite()); } private static boolean isFull(IItemHandler itemHandler) @@ -255,7 +255,7 @@ public class VanillaInventoryCodeHooks if (state.hasTileEntity()) { - TileEntity tileentity = worldIn.getTileEntity(blockpos); + TileEntity tileentity = worldIn.getBlockEntity(blockpos); if (tileentity != null) { return tileentity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side) diff --git a/src/main/java/net/minecraftforge/items/wrapper/EntityEquipmentInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/EntityEquipmentInvWrapper.java index d9a371fc2a..00ba9e8732 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/EntityEquipmentInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/EntityEquipmentInvWrapper.java @@ -64,7 +64,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl for (final EquipmentSlotType slot : EquipmentSlotType.values()) { - if (slot.getSlotType() == slotType) + if (slot.getType() == slotType) { slots.add(slot); } @@ -83,7 +83,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl @Override public ItemStack getStackInSlot(final int slot) { - return entity.getItemStackFromSlot(validateSlotIndex(slot)); + return entity.getItemBySlot(validateSlotIndex(slot)); } @Nonnull @@ -95,7 +95,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl final EquipmentSlotType equipmentSlot = validateSlotIndex(slot); - final ItemStack existing = entity.getItemStackFromSlot(equipmentSlot); + final ItemStack existing = entity.getItemBySlot(equipmentSlot); int limit = getStackLimit(slot, stack); @@ -116,7 +116,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl { if (existing.isEmpty()) { - entity.setItemStackToSlot(equipmentSlot, reachedLimit ? ItemHandlerHelper.copyStackWithSize(stack, limit) : stack); + entity.setItemSlot(equipmentSlot, reachedLimit ? ItemHandlerHelper.copyStackWithSize(stack, limit) : stack); } else { @@ -136,7 +136,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl final EquipmentSlotType equipmentSlot = validateSlotIndex(slot); - final ItemStack existing = entity.getItemStackFromSlot(equipmentSlot); + final ItemStack existing = entity.getItemBySlot(equipmentSlot); if (existing.isEmpty()) return ItemStack.EMPTY; @@ -147,7 +147,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl { if (!simulate) { - entity.setItemStackToSlot(equipmentSlot, ItemStack.EMPTY); + entity.setItemSlot(equipmentSlot, ItemStack.EMPTY); } return existing; @@ -156,7 +156,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl { if (!simulate) { - entity.setItemStackToSlot(equipmentSlot, ItemHandlerHelper.copyStackWithSize(existing, existing.getCount() - toExtract)); + entity.setItemSlot(equipmentSlot, ItemHandlerHelper.copyStackWithSize(existing, existing.getCount() - toExtract)); } return ItemHandlerHelper.copyStackWithSize(existing, toExtract); @@ -167,7 +167,7 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl public int getSlotLimit(final int slot) { final EquipmentSlotType equipmentSlot = validateSlotIndex(slot); - return equipmentSlot.getSlotType() == EquipmentSlotType.Group.ARMOR ? 1 : 64; + return equipmentSlot.getType() == EquipmentSlotType.Group.ARMOR ? 1 : 64; } protected int getStackLimit(final int slot, @Nonnull final ItemStack stack) @@ -179,9 +179,9 @@ public abstract class EntityEquipmentInvWrapper implements IItemHandlerModifiabl public void setStackInSlot(final int slot, @Nonnull final ItemStack stack) { final EquipmentSlotType equipmentSlot = validateSlotIndex(slot); - if (ItemStack.areItemStacksEqual(entity.getItemStackFromSlot(equipmentSlot), stack)) + if (ItemStack.matches(entity.getItemBySlot(equipmentSlot), stack)) return; - entity.setItemStackToSlot(equipmentSlot, stack); + entity.setItemSlot(equipmentSlot, stack); } @Override diff --git a/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java index a2a8dda825..d51ba2dc11 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java @@ -58,14 +58,14 @@ public class InvWrapper implements IItemHandlerModifiable @Override public int getSlots() { - return getInv().getSizeInventory(); + return getInv().getContainerSize(); } @Override @Nonnull public ItemStack getStackInSlot(int slot) { - return getInv().getStackInSlot(slot); + return getInv().getItem(slot); } @Override @@ -75,7 +75,7 @@ public class InvWrapper implements IItemHandlerModifiable if (stack.isEmpty()) return ItemStack.EMPTY; - ItemStack stackInSlot = getInv().getStackInSlot(slot); + ItemStack stackInSlot = getInv().getItem(slot); int m; if (!stackInSlot.isEmpty()) @@ -86,7 +86,7 @@ public class InvWrapper implements IItemHandlerModifiable if (!ItemHandlerHelper.canItemStacksStack(stack, stackInSlot)) return stack; - if (!getInv().isItemValidForSlot(slot, stack)) + if (!getInv().canPlaceItem(slot, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot)) - stackInSlot.getCount(); @@ -97,8 +97,8 @@ public class InvWrapper implements IItemHandlerModifiable { ItemStack copy = stack.copy(); copy.grow(stackInSlot.getCount()); - getInv().setInventorySlotContents(slot, copy); - getInv().markDirty(); + getInv().setItem(slot, copy); + getInv().setChanged(); } return ItemStack.EMPTY; @@ -111,8 +111,8 @@ public class InvWrapper implements IItemHandlerModifiable { ItemStack copy = stack.split(m); copy.grow(stackInSlot.getCount()); - getInv().setInventorySlotContents(slot, copy); - getInv().markDirty(); + getInv().setItem(slot, copy); + getInv().setChanged(); return stack; } else @@ -124,7 +124,7 @@ public class InvWrapper implements IItemHandlerModifiable } else { - if (!getInv().isItemValidForSlot(slot, stack)) + if (!getInv().canPlaceItem(slot, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot)); @@ -134,8 +134,8 @@ public class InvWrapper implements IItemHandlerModifiable stack = stack.copy(); if (!simulate) { - getInv().setInventorySlotContents(slot, stack.split(m)); - getInv().markDirty(); + getInv().setItem(slot, stack.split(m)); + getInv().setChanged(); return stack; } else @@ -148,8 +148,8 @@ public class InvWrapper implements IItemHandlerModifiable { if (!simulate) { - getInv().setInventorySlotContents(slot, stack); - getInv().markDirty(); + getInv().setItem(slot, stack); + getInv().setChanged(); } return ItemStack.EMPTY; } @@ -164,7 +164,7 @@ public class InvWrapper implements IItemHandlerModifiable if (amount == 0) return ItemStack.EMPTY; - ItemStack stackInSlot = getInv().getStackInSlot(slot); + ItemStack stackInSlot = getInv().getItem(slot); if (stackInSlot.isEmpty()) return ItemStack.EMPTY; @@ -186,8 +186,8 @@ public class InvWrapper implements IItemHandlerModifiable { int m = Math.min(stackInSlot.getCount(), amount); - ItemStack decrStackSize = getInv().decrStackSize(slot, m); - getInv().markDirty(); + ItemStack decrStackSize = getInv().removeItem(slot, m); + getInv().setChanged(); return decrStackSize; } } @@ -195,19 +195,19 @@ public class InvWrapper implements IItemHandlerModifiable @Override public void setStackInSlot(int slot, @Nonnull ItemStack stack) { - getInv().setInventorySlotContents(slot, stack); + getInv().setItem(slot, stack); } @Override public int getSlotLimit(int slot) { - return getInv().getInventoryStackLimit(); + return getInv().getMaxStackSize(); } @Override public boolean isItemValid(int slot, @Nonnull ItemStack stack) { - return getInv().isItemValidForSlot(slot, stack); + return getInv().canPlaceItem(slot, stack); } public IInventory getInv() diff --git a/src/main/java/net/minecraftforge/items/wrapper/PlayerArmorInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/PlayerArmorInvWrapper.java index 2c801f0562..7eb9102a94 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/PlayerArmorInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/PlayerArmorInvWrapper.java @@ -31,7 +31,7 @@ public class PlayerArmorInvWrapper extends RangedWrapper public PlayerArmorInvWrapper(PlayerInventory inv) { - super(new InvWrapper(inv), inv.mainInventory.size(), inv.mainInventory.size() + inv.armorInventory.size()); + super(new InvWrapper(inv), inv.items.size(), inv.items.size() + inv.armor.size()); inventoryPlayer = inv; } @@ -42,7 +42,7 @@ public class PlayerArmorInvWrapper extends RangedWrapper EquipmentSlotType equ = null; for (EquipmentSlotType s : EquipmentSlotType.values()) { - if (s.getSlotType() == EquipmentSlotType.Group.ARMOR && s.getIndex() == slot) + if (s.getType() == EquipmentSlotType.Group.ARMOR && s.getIndex() == slot) { equ = s; break; diff --git a/src/main/java/net/minecraftforge/items/wrapper/PlayerMainInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/PlayerMainInvWrapper.java index 4f4cc995cf..8877f18a25 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/PlayerMainInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/PlayerMainInvWrapper.java @@ -35,7 +35,7 @@ public class PlayerMainInvWrapper extends RangedWrapper public PlayerMainInvWrapper(PlayerInventory inv) { - super(new InvWrapper(inv), 0, inv.mainInventory.size()); + super(new InvWrapper(inv), 0, inv.items.size()); inventoryPlayer = inv; } @@ -50,12 +50,12 @@ public class PlayerMainInvWrapper extends RangedWrapper ItemStack inSlot = getStackInSlot(slot); if(!inSlot.isEmpty()) { - if (getInventoryPlayer().player.world.isRemote) + if (getInventoryPlayer().player.level.isClientSide) { - inSlot.setAnimationsToGo(5); + inSlot.setPopTime(5); } else if(getInventoryPlayer().player instanceof ServerPlayerEntity) { - getInventoryPlayer().player.openContainer.detectAndSendChanges(); + getInventoryPlayer().player.containerMenu.broadcastChanges(); } } } diff --git a/src/main/java/net/minecraftforge/items/wrapper/PlayerOffhandInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/PlayerOffhandInvWrapper.java index e495f2f757..c08a84362e 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/PlayerOffhandInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/PlayerOffhandInvWrapper.java @@ -25,7 +25,7 @@ public class PlayerOffhandInvWrapper extends RangedWrapper { public PlayerOffhandInvWrapper(PlayerInventory inv) { - super(new InvWrapper(inv), inv.mainInventory.size() + inv.armorInventory.size(), - inv.mainInventory.size() + inv.armorInventory.size() + inv.offHandInventory.size()); + super(new InvWrapper(inv), inv.items.size() + inv.armor.size(), + inv.items.size() + inv.armor.size() + inv.offhand.size()); } } diff --git a/src/main/java/net/minecraftforge/items/wrapper/RecipeWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/RecipeWrapper.java index d65f09edb4..fab71eeb59 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/RecipeWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/RecipeWrapper.java @@ -37,7 +37,7 @@ public class RecipeWrapper implements IInventory { * Returns the size of this inventory. Must be equivalent to {@link #getHeight()} * {@link #getWidth()}. */ @Override - public int getSizeInventory() + public int getContainerSize() { return inv.getSlots(); } @@ -46,7 +46,7 @@ public class RecipeWrapper implements IInventory { * Returns the stack in this slot. This stack should be a modifiable reference, not a copy of a stack in your inventory. */ @Override - public ItemStack getStackInSlot(int slot) + public ItemStack getItem(int slot) { return inv.getStackInSlot(slot); } @@ -55,7 +55,7 @@ public class RecipeWrapper implements IInventory { * Attempts to remove n items from the specified slot. Returns the split stack that was removed. Modifies the inventory. */ @Override - public ItemStack decrStackSize(int slot, int count) + public ItemStack removeItem(int slot, int count) { ItemStack stack = inv.getStackInSlot(slot); return stack.isEmpty() ? ItemStack.EMPTY : stack.split(count); @@ -65,7 +65,7 @@ public class RecipeWrapper implements IInventory { * Sets the contents of this slot to the provided stack. */ @Override - public void setInventorySlotContents(int slot, ItemStack stack) + public void setItem(int slot, ItemStack stack) { inv.setStackInSlot(slot, stack); } @@ -74,11 +74,11 @@ public class RecipeWrapper implements IInventory { * Removes the stack contained in this slot from the underlying handler, and returns it. */ @Override - public ItemStack removeStackFromSlot(int index) + public ItemStack removeItemNoUpdate(int index) { - ItemStack s = getStackInSlot(index); + ItemStack s = getItem(index); if(s.isEmpty()) return ItemStack.EMPTY; - setInventorySlotContents(index, ItemStack.EMPTY); + setItem(index, ItemStack.EMPTY); return s; } @@ -93,13 +93,13 @@ public class RecipeWrapper implements IInventory { } @Override - public boolean isItemValidForSlot(int slot, ItemStack stack) + public boolean canPlaceItem(int slot, ItemStack stack) { return inv.isItemValid(slot, stack); } @Override - public void clear() + public void clearContent() { for(int i = 0; i < inv.getSlots(); i++) { @@ -109,14 +109,14 @@ public class RecipeWrapper implements IInventory { //The following methods are never used by vanilla in crafting. They are defunct as mods need not override them. @Override - public int getInventoryStackLimit() { return 0; } + public int getMaxStackSize() { return 0; } @Override - public void markDirty() {} + public void setChanged() {} @Override - public boolean isUsableByPlayer(PlayerEntity player) { return false; } + public boolean stillValid(PlayerEntity player) { return false; } @Override - public void openInventory(PlayerEntity player) {} + public void startOpen(PlayerEntity player) {} @Override - public void closeInventory(PlayerEntity player) {} + public void stopOpen(PlayerEntity player) {} } diff --git a/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java index 270d7c9a0f..e5361d819c 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java @@ -91,7 +91,7 @@ public class SidedInvWrapper implements IItemHandlerModifiable public ItemStack getStackInSlot(int slot) { int i = getSlot(inv, slot, side); - return i == -1 ? ItemStack.EMPTY : inv.getStackInSlot(i); + return i == -1 ? ItemStack.EMPTY : inv.getItem(i); } @Override @@ -106,7 +106,7 @@ public class SidedInvWrapper implements IItemHandlerModifiable if (slot1 == -1) return stack; - ItemStack stackInSlot = inv.getStackInSlot(slot1); + ItemStack stackInSlot = inv.getItem(slot1); int m; if (!stackInSlot.isEmpty()) @@ -117,7 +117,7 @@ public class SidedInvWrapper implements IItemHandlerModifiable if (!ItemHandlerHelper.canItemStacksStack(stack, stackInSlot)) return stack; - if (!inv.canInsertItem(slot1, stack, side) || !inv.isItemValidForSlot(slot1, stack)) + if (!inv.canPlaceItemThroughFace(slot1, stack, side) || !inv.canPlaceItem(slot1, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot)) - stackInSlot.getCount(); @@ -153,7 +153,7 @@ public class SidedInvWrapper implements IItemHandlerModifiable } else { - if (!inv.canInsertItem(slot1, stack, side) || !inv.isItemValidForSlot(slot1, stack)) + if (!inv.canPlaceItemThroughFace(slot1, stack, side) || !inv.canPlaceItem(slot1, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot)); @@ -192,8 +192,8 @@ public class SidedInvWrapper implements IItemHandlerModifiable } private void setInventorySlotContents(int slot, ItemStack stack) { - inv.markDirty(); //Notify vanilla of updates, We change the handler to be responsible for this instead of the caller. So mimic vanilla behavior - inv.setInventorySlotContents(slot, stack); + inv.setChanged(); //Notify vanilla of updates, We change the handler to be responsible for this instead of the caller. So mimic vanilla behavior + inv.setItem(slot, stack); } @Override @@ -208,12 +208,12 @@ public class SidedInvWrapper implements IItemHandlerModifiable if (slot1 == -1) return ItemStack.EMPTY; - ItemStack stackInSlot = inv.getStackInSlot(slot1); + ItemStack stackInSlot = inv.getItem(slot1); if (stackInSlot.isEmpty()) return ItemStack.EMPTY; - if (!inv.canExtractItem(slot1, stackInSlot, side)) + if (!inv.canTakeItemThroughFace(slot1, stackInSlot, side)) return ItemStack.EMPTY; if (simulate) @@ -232,8 +232,8 @@ public class SidedInvWrapper implements IItemHandlerModifiable else { int m = Math.min(stackInSlot.getCount(), amount); - ItemStack ret = inv.decrStackSize(slot1, m); - inv.markDirty(); + ItemStack ret = inv.removeItem(slot1, m); + inv.setChanged(); return ret; } } @@ -241,13 +241,13 @@ public class SidedInvWrapper implements IItemHandlerModifiable @Override public int getSlotLimit(int slot) { - return inv.getInventoryStackLimit(); + return inv.getMaxStackSize(); } @Override public boolean isItemValid(int slot, @Nonnull ItemStack stack) { int slot1 = getSlot(inv, slot, side); - return slot1 == -1 ? false : inv.isItemValidForSlot(slot1, stack); + return slot1 == -1 ? false : inv.canPlaceItem(slot1, stack); } } diff --git a/src/main/java/net/minecraftforge/logging/ModelLoaderErrorMessage.java b/src/main/java/net/minecraftforge/logging/ModelLoaderErrorMessage.java index b784353da8..0b449bc275 100644 --- a/src/main/java/net/minecraftforge/logging/ModelLoaderErrorMessage.java +++ b/src/main/java/net/minecraftforge/logging/ModelLoaderErrorMessage.java @@ -48,8 +48,8 @@ public class ModelLoaderErrorMessage extends SimpleMessage if (!reverseBlockMap.isEmpty()) return; ForgeRegistries.BLOCKS.getValues().stream() - .flatMap(block -> block.getStateContainer().getValidStates().stream()) - .forEach(state -> reverseBlockMap.put(BlockModelShapes.getModelLocation(state), state)); + .flatMap(block -> block.getStateDefinition().getPossibleStates().stream()) + .forEach(state -> reverseBlockMap.put(BlockModelShapes.stateToModelLocation(state), state)); ForgeRegistries.ITEMS.forEach(item -> { diff --git a/src/main/java/net/minecraftforge/network/ForgeConnectionNetworkFilter.java b/src/main/java/net/minecraftforge/network/ForgeConnectionNetworkFilter.java index 08cbc4db10..683de06418 100644 --- a/src/main/java/net/minecraftforge/network/ForgeConnectionNetworkFilter.java +++ b/src/main/java/net/minecraftforge/network/ForgeConnectionNetworkFilter.java @@ -34,7 +34,7 @@ public class ForgeConnectionNetworkFilter extends VanillaPacketFilter protected boolean isNecessary(NetworkManager manager) { // not needed on local connections, because packets are not encoded to bytes there - return !manager.isLocalChannel() && !NetworkHooks.isVanillaConnection(manager); + return !manager.isMemoryConnection() && !NetworkHooks.isVanillaConnection(manager); } private static void splitPacket(IPacket packet, List> out) diff --git a/src/main/java/net/minecraftforge/network/VanillaConnectionNetworkFilter.java b/src/main/java/net/minecraftforge/network/VanillaConnectionNetworkFilter.java index 93d64acaed..58c44ddbe5 100644 --- a/src/main/java/net/minecraftforge/network/VanillaConnectionNetworkFilter.java +++ b/src/main/java/net/minecraftforge/network/VanillaConnectionNetworkFilter.java @@ -77,12 +77,12 @@ public class VanillaConnectionNetworkFilter extends VanillaPacketFilter private static SEntityPropertiesPacket filterEntityProperties(SEntityPropertiesPacket msg) { SEntityPropertiesPacket newPacket = new SEntityPropertiesPacket(msg.getEntityId(), Collections.emptyList()); - msg.getSnapshots().stream() + msg.getValues().stream() .filter(snapshot -> { - ResourceLocation key = ForgeRegistries.ATTRIBUTES.getKey(snapshot.func_240834_a_()); + ResourceLocation key = ForgeRegistries.ATTRIBUTES.getKey(snapshot.getAttribute()); return key != null && key.getNamespace().equals("minecraft"); }) - .forEach(snapshot -> newPacket.getSnapshots().add(snapshot)); + .forEach(snapshot -> newPacket.getValues().add(snapshot)); return newPacket; } diff --git a/src/main/java/net/minecraftforge/network/VanillaPacketSplitter.java b/src/main/java/net/minecraftforge/network/VanillaPacketSplitter.java index 2c253d23b3..164d821f44 100644 --- a/src/main/java/net/minecraftforge/network/VanillaPacketSplitter.java +++ b/src/main/java/net/minecraftforge/network/VanillaPacketSplitter.java @@ -75,7 +75,7 @@ public class VanillaPacketSplitter PacketBuffer buf = new PacketBuffer(Unpooled.buffer()); try { - packet.writePacketData(buf); + packet.write(buf); } catch (IOException e) { @@ -158,7 +158,7 @@ public class VanillaPacketSplitter { PacketBuffer full = new PacketBuffer(Unpooled.wrappedBuffer(receivedBuffers.toArray(new PacketBuffer[0]))); int packetId = full.readVarInt(); - IPacket packet = protocol.getPacket(direction, packetId); + IPacket packet = protocol.createPacket(direction, packetId); if (packet == null) { LOGGER.error("Received invalid packet ID {} in forge:split", packetId); @@ -171,7 +171,7 @@ public class VanillaPacketSplitter { try { - packet.readPacketData(full); + packet.read(full); } catch (IOException e) { @@ -180,7 +180,7 @@ public class VanillaPacketSplitter receivedBuffers.clear(); full.release(); } - ctx.enqueueWork(() -> ((IPacket)packet).processPacket(Minecraft.getInstance().getConnection())); + ctx.enqueueWork(() -> ((IPacket)packet).handle(Minecraft.getInstance().getConnection())); } } } diff --git a/src/main/java/net/minecraftforge/registries/ForgeRegistries.java b/src/main/java/net/minecraftforge/registries/ForgeRegistries.java index b25d143dac..03ae81c844 100644 --- a/src/main/java/net/minecraftforge/registries/ForgeRegistries.java +++ b/src/main/java/net/minecraftforge/registries/ForgeRegistries.java @@ -158,7 +158,7 @@ public class ForgeRegistries private static RegistryKey> key(String name) { - return RegistryKey.getOrCreateRootKey(new ResourceLocation(name)); + return RegistryKey.createRegistryKey(new ResourceLocation(name)); } private static void init() {} } @@ -170,7 +170,7 @@ public class ForgeRegistries { Keys.init(); GameData.init(); - Bootstrap.register(); + Bootstrap.bootStrap(); Tags.init(); } } diff --git a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java index 3af4d89937..cfecf706b9 100644 --- a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java +++ b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java @@ -105,7 +105,7 @@ public class ForgeRegistry> implements IForgeRe ForgeRegistry(RegistryManager stage, ResourceLocation name, RegistryBuilder builder) { this.name = name; - this.key = RegistryKey.getOrCreateRootKey(name); + this.key = RegistryKey.createRegistryKey(name); this.builder = builder; this.stage = stage; this.superType = builder.getType(); @@ -374,7 +374,7 @@ public class ForgeRegistry> implements IForgeRe } this.names.put(key, value); - this.keys.put(RegistryKey.getOrCreateKey(this.key, key), value); + this.keys.put(RegistryKey.create(this.key, key), value); this.ids.put(idToUse, value); this.availabilityMap.set(idToUse); this.owners.put(new OverrideOwner(owner == null ? key.getPath() : owner, key), value); @@ -929,7 +929,7 @@ public class ForgeRegistry> implements IForgeRe } list = nbt.getList("dummied", 8); - list.forEach(e -> ret.dummied.add(new ResourceLocation(((StringNBT)e).getString()))); + list.forEach(e -> ret.dummied.add(new ResourceLocation(((StringNBT)e).getAsString()))); return ret; } @@ -954,7 +954,7 @@ public class ForgeRegistry> implements IForgeRe pkt.writeVarInt(this.overrides.size()); this.overrides.forEach((k, v) -> { pkt.writeResourceLocation(k); - pkt.writeString(v, 0x100); + pkt.writeUtf(v, 0x100); }); pkt.writeVarInt(this.blocked.size()); @@ -986,7 +986,7 @@ public class ForgeRegistry> implements IForgeRe len = buff.readVarInt(); for (int x = 0; x < len; x++) - ret.overrides.put(buff.readResourceLocation(), buff.readString(0x100)); + ret.overrides.put(buff.readResourceLocation(), buff.readUtf(0x100)); len = buff.readVarInt(); for (int x = 0; x < len; x++) diff --git a/src/main/java/net/minecraftforge/registries/GameData.java b/src/main/java/net/minecraftforge/registries/GameData.java index 48ce938555..5920e02c47 100644 --- a/src/main/java/net/minecraftforge/registries/GameData.java +++ b/src/main/java/net/minecraftforge/registries/GameData.java @@ -107,6 +107,8 @@ import java.util.stream.Stream; import static net.minecraftforge.registries.ForgeRegistry.REGISTRIES; import static net.minecraftforge.registries.ForgeRegistries.Keys.*; +import net.minecraftforge.fml.common.EnhancedRuntimeException.WrappedPrintStream; + /** * INTERNAL ONLY * MODDERS SHOULD HAVE NO REASON TO USE THIS CLASS @@ -192,15 +194,15 @@ public class GameData private static > RegistryBuilder makeRegistry(RegistryKey> key, Class type) { - return new RegistryBuilder().setName(key.getLocation()).setType(type).setMaxID(MAX_VARINT).addCallback(new NamespacedWrapper.Factory()); + return new RegistryBuilder().setName(key.location()).setType(type).setMaxID(MAX_VARINT).addCallback(new NamespacedWrapper.Factory()); } private static > RegistryBuilder makeRegistry(RegistryKey> key, Class type, int min, int max) { - return new RegistryBuilder().setName(key.getLocation()).setType(type).setIDRange(min, max).hasWrapper(); + return new RegistryBuilder().setName(key.location()).setType(type).setIDRange(min, max).hasWrapper(); } private static > RegistryBuilder makeRegistry(RegistryKey> key, Class type, String _default) { - return new RegistryBuilder().setName(key.getLocation()).setType(type).setMaxID(MAX_VARINT).hasWrapper().setDefaultKey(new ResourceLocation(_default)); + return new RegistryBuilder().setName(key.location()).setType(type).setMaxID(MAX_VARINT).hasWrapper().setDefaultKey(new ResourceLocation(_default)); } public static > SimpleRegistry getWrapper(RegistryKey> key, Lifecycle lifecycle) @@ -353,11 +355,11 @@ public class GameData keys.sort((o1, o2) -> String.valueOf(o1).compareToIgnoreCase(String.valueOf(o2))); //Move Blocks to first, and Items to second. - keys.remove(BLOCKS.getLocation()); - keys.remove(ITEMS.getLocation()); + keys.remove(BLOCKS.location()); + keys.remove(ITEMS.location()); - keys.add(0, BLOCKS.getLocation()); - keys.add(1, ITEMS.getLocation()); + keys.add(0, BLOCKS.location()); + keys.add(1, ITEMS.location()); final Function> registerEventGenerator = rl -> RegistryManager.ACTIVE.getRegistry(rl).getRegisterEvent(rl); return keys.stream().map(rl -> ModLoadingStage.EventGenerator.fromFunction(mc -> registerEventGenerator.apply(rl))); @@ -419,17 +421,17 @@ public class GameData { void clear() { - this.identityMap.clear(); - this.objectList.clear(); + this.tToId.clear(); + this.idToT.clear(); this.nextId = 0; } void remove(I key) { - Integer prev = this.identityMap.remove(key); + Integer prev = this.tToId.remove(key); if (prev != null) { - this.objectList.set(prev, null); + this.idToT.set(prev, null); } } } @@ -443,19 +445,19 @@ public class GameData { if (oldBlock != null) { - StateContainer oldContainer = oldBlock.getStateContainer(); - StateContainer newContainer = block.getStateContainer(); + StateContainer oldContainer = oldBlock.getStateDefinition(); + StateContainer newContainer = block.getStateDefinition(); // Test vanilla blockstates, if the number matches, make sure they also match in their string representations if (block.getRegistryName().getNamespace().equals("minecraft") && !oldContainer.getProperties().equals(newContainer.getProperties())) { String oldSequence = oldContainer.getProperties().stream() .map(s -> String.format("%s={%s}", s.getName(), - s.getAllowedValues().stream().map(Object::toString).collect(Collectors.joining( "," )))) + s.getPossibleValues().stream().map(Object::toString).collect(Collectors.joining( "," )))) .collect(Collectors.joining(";")); String newSequence = newContainer.getProperties().stream() .map(s -> String.format("%s={%s}", s.getName(), - s.getAllowedValues().stream().map(Object::toString).collect(Collectors.joining( "," )))) + s.getPossibleValues().stream().map(Object::toString).collect(Collectors.joining( "," )))) .collect(Collectors.joining(";")); LOGGER.error(REGISTRIES,()-> new AdvancedLogMessageAdapter(sb-> { @@ -483,7 +485,7 @@ public class GameData @Override public int getId(BlockState key) { - Integer integer = (Integer)this.identityMap.get(key); + Integer integer = (Integer)this.tToId.get(key); // There are some cases where this map is queried to serialize a state that is valid, //but somehow not in this list, so attempt to get real metadata. Doing this hear saves us 7 patches //if (integer == null && key != null) @@ -498,7 +500,7 @@ public class GameData @Override public Block createDummy(ResourceLocation key) { - Block ret = new BlockDummyAir(Block.Properties.create(Material.AIR)); + Block ret = new BlockDummyAir(Block.Properties.of(Material.AIR)); GameData.forceRegistryName(ret, key); return ret; } @@ -511,10 +513,10 @@ public class GameData for (Block block : owner) { - for (BlockState state : block.getStateContainer().getValidStates()) + for (BlockState state : block.getStateDefinition().getPossibleStates()) { blockstateMap.add(state); - state.cacheState(); + state.initCache(); } block.getLootTable(); @@ -530,7 +532,7 @@ public class GameData } @Override - public String getTranslationKey() + public String getDescriptionId() { return "block.minecraft.air"; } @@ -554,7 +556,7 @@ public class GameData { @SuppressWarnings("unchecked") Map blockToItem = owner.getSlaveMap(BLOCK_TO_ITEM, Map.class); - ((BlockItem)item).addToBlockToItemMap(blockToItem, item); + ((BlockItem)item).registerBlocks(blockToItem, item); } } @@ -581,7 +583,7 @@ public class GameData public void onValidate(IForgeRegistryInternal owner, RegistryManager stage, int id, ResourceLocation key, Attribute obj) { // some stuff hard patched in can cause this to derp if it's JUST vanilla, so skip - if (stage!=RegistryManager.VANILLA) GlobalEntityTypeAttributes.validateEntityAttributes(); + if (stage!=RegistryManager.VANILLA) GlobalEntityTypeAttributes.validate(); } } diff --git a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java index 58e2f36e66..451bf4bce1 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java @@ -52,14 +52,14 @@ class NamespacedDefaultedWrapper> extends Defau } @Override - public V register(int id, RegistryKey key, V value, Lifecycle lifecycle) + public V registerMapping(int id, RegistryKey key, V value, Lifecycle lifecycle) { if (locked) throw new IllegalStateException("Can not register to a locked registry. Modder should use Forge Register methods."); Validate.notNull(value); if (value.getRegistryName() == null) - value.setRegistryName(key.getLocation()); + value.setRegistryName(key.location()); int realId = this.delegate.add(id, value); if (realId != id && id != -1) @@ -71,15 +71,15 @@ class NamespacedDefaultedWrapper> extends Defau @Override public V register(RegistryKey key, V value, Lifecycle lifecycle) { - return register(-1, key, value, lifecycle); + return registerMapping(-1, key, value, lifecycle); } @Override - public V validateAndRegister(OptionalInt id, RegistryKey key, V value, Lifecycle lifecycle) { + public V registerOrOverride(OptionalInt id, RegistryKey key, V value, Lifecycle lifecycle) { int wanted = -1; - if (id.isPresent() && getByValue(id.getAsInt()) != null) + if (id.isPresent() && byId(id.getAsInt()) != null) wanted = id.getAsInt(); - return register(wanted, key, value, lifecycle); + return registerMapping(wanted, key, value, lifecycle); } // Reading Functions @@ -91,16 +91,16 @@ class NamespacedDefaultedWrapper> extends Defau @Override @Nullable - public T getOrDefault(@Nullable ResourceLocation name) + public T get(@Nullable ResourceLocation name) { return this.delegate.getValue(name); //getOrDefault } @Override @Nullable - public T getValueForKey(@Nullable RegistryKey name) + public T get(@Nullable RegistryKey name) { - return name == null ? null : this.delegate.getRaw(name.getLocation()); //get without default + return name == null ? null : this.delegate.getRaw(name.location()); //get without default } @Override @@ -124,7 +124,7 @@ class NamespacedDefaultedWrapper> extends Defau @Override @Nullable - public T getByValue(int id) + public T byId(int id) { return this.delegate.getValue(id); } @@ -142,7 +142,7 @@ class NamespacedDefaultedWrapper> extends Defau } @Override - public Set, T>> getEntries() + public Set, T>> entrySet() { return this.delegate.getEntries(); } diff --git a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java index 3aadcd8d4c..473110b2e7 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java @@ -50,7 +50,7 @@ class NamespacedWrapper> extends SimpleRegistry } @Override - public V register(int id, RegistryKey key, V value, Lifecycle lifecycle) + public V registerMapping(int id, RegistryKey key, V value, Lifecycle lifecycle) { if (locked) throw new IllegalStateException("Can not register to a locked registry. Modder should use Forge Register methods."); @@ -58,7 +58,7 @@ class NamespacedWrapper> extends SimpleRegistry Validate.notNull(value); if (value.getRegistryName() == null) - value.setRegistryName(key.getLocation()); + value.setRegistryName(key.location()); int realId = this.delegate.add(id, value); if (realId != id && id != -1) @@ -69,21 +69,21 @@ class NamespacedWrapper> extends SimpleRegistry @Override public R register(RegistryKey key, R value, Lifecycle lifecycle) { - return register(-1, key, value, lifecycle); + return registerMapping(-1, key, value, lifecycle); } @Override - public V validateAndRegister(OptionalInt id, RegistryKey key, V value, Lifecycle lifecycle) { + public V registerOrOverride(OptionalInt id, RegistryKey key, V value, Lifecycle lifecycle) { int wanted = -1; - if (id.isPresent() && getByValue(id.getAsInt()) != null) + if (id.isPresent() && byId(id.getAsInt()) != null) wanted = id.getAsInt(); - return register(wanted, key, value, lifecycle); + return registerMapping(wanted, key, value, lifecycle); } // Reading Functions @Override @Nullable - public T getOrDefault(@Nullable ResourceLocation name) + public T get(@Nullable ResourceLocation name) { return this.delegate.getRaw(name); //get without default } @@ -96,9 +96,9 @@ class NamespacedWrapper> extends SimpleRegistry @Override @Nullable - public T getValueForKey(@Nullable RegistryKey name) + public T get(@Nullable RegistryKey name) { - return name == null ? null : this.delegate.getRaw(name.getLocation()); //get without default + return name == null ? null : this.delegate.getRaw(name.location()); //get without default } @Override @@ -122,7 +122,7 @@ class NamespacedWrapper> extends SimpleRegistry @Override @Nullable - public T getByValue(int id) + public T byId(int id) { return this.delegate.getValue(id); } @@ -140,7 +140,7 @@ class NamespacedWrapper> extends SimpleRegistry } @Override - public Set, T>> getEntries() + public Set, T>> entrySet() { return this.delegate.getEntries(); } diff --git a/src/main/java/net/minecraftforge/registries/RegistryManager.java b/src/main/java/net/minecraftforge/registries/RegistryManager.java index fb96343066..f812516e3c 100644 --- a/src/main/java/net/minecraftforge/registries/RegistryManager.java +++ b/src/main/java/net/minecraftforge/registries/RegistryManager.java @@ -79,7 +79,7 @@ public class RegistryManager public > ForgeRegistry getRegistry(RegistryKey> key) { - return getRegistry(key.getLocation()); + return getRegistry(key.location()); } public > IForgeRegistry getRegistry(Class cls) diff --git a/src/main/java/net/minecraftforge/server/command/ChunkGenWorker.java b/src/main/java/net/minecraftforge/server/command/ChunkGenWorker.java index d64e23920d..ba194b5f74 100644 --- a/src/main/java/net/minecraftforge/server/command/ChunkGenWorker.java +++ b/src/main/java/net/minecraftforge/server/command/ChunkGenWorker.java @@ -66,16 +66,16 @@ public class ChunkGenWorker implements IWorker while (ret.size() < total) { for (int q = -radius + 1; q <= radius && ret.size() < total; q++) - ret.add(start.add(radius, 0, q)); + ret.add(start.offset(radius, 0, q)); for (int q = radius - 1; q >= -radius && ret.size() < total; q--) - ret.add(start.add(q, 0, radius)); + ret.add(start.offset(q, 0, radius)); for (int q = radius - 1; q >= -radius && ret.size() < total; q--) - ret.add(start.add(-radius, 0, q)); + ret.add(start.offset(-radius, 0, q)); for (int q = -radius + 1; q <= radius && ret.size() < total; q++) - ret.add(start.add(q, 0, -radius)); + ret.add(start.offset(q, 0, -radius)); radius++; } @@ -122,7 +122,7 @@ public class ChunkGenWorker implements IWorker if (++lastNotification >= notificationFrequency || lastNotifcationTime < System.currentTimeMillis() - 60*1000) { - listener.sendFeedback(new TranslationTextComponent("commands.forge.gen.progress", total - queue.size(), total), true); + listener.sendSuccess(new TranslationTextComponent("commands.forge.gen.progress", total - queue.size(), total), true); lastNotification = 0; lastNotifcationTime = System.currentTimeMillis(); } @@ -130,9 +130,9 @@ public class ChunkGenWorker implements IWorker int x = next.getX(); int z = next.getZ(); - if (!dim.chunkExists(x, z)) { //Chunk is unloaded + if (!dim.hasChunk(x, z)) { //Chunk is unloaded IChunk chunk = dim.getChunk(x, z, ChunkStatus.EMPTY, true); - if (!chunk.getStatus().isAtLeast(ChunkStatus.FULL)) { + if (!chunk.getStatus().isOrAfter(ChunkStatus.FULL)) { chunk = dim.getChunk(x, z, ChunkStatus.FULL); genned++; //There isn't a way to check if the chunk is actually created just if it was loaded } @@ -141,7 +141,7 @@ public class ChunkGenWorker implements IWorker if (queue.size() == 0) { - listener.sendFeedback(new TranslationTextComponent("commands.forge.gen.complete", genned, total, dim.getDimensionKey().getLocation()), true); + listener.sendSuccess(new TranslationTextComponent("commands.forge.gen.complete", genned, total, dim.dimension().location()), true); /* TODO: Readd if/when we introduce world unloading, or get Mojang to do it. if (keepingLoaded != null && !keepingLoaded) DimensionManager.keepLoaded(dim, false); diff --git a/src/main/java/net/minecraftforge/server/command/CommandDimensions.java b/src/main/java/net/minecraftforge/server/command/CommandDimensions.java index a80d56a98d..1e67a84d39 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandDimensions.java +++ b/src/main/java/net/minecraftforge/server/command/CommandDimensions.java @@ -42,18 +42,18 @@ public class CommandDimensions static ArgumentBuilder register() { return Commands.literal("dimensions") - .requires(cs->cs.hasPermissionLevel(0)) //permission + .requires(cs->cs.hasPermission(0)) //permission .executes(ctx -> { - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.dimensions.list"), true); - final Registry reg = ctx.getSource().func_241861_q().getRegistry(Registry.DIMENSION_TYPE_KEY); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.dimensions.list"), true); + final Registry reg = ctx.getSource().registryAccess().registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); Map> types = new HashMap<>(); - for (ServerWorld dim : ctx.getSource().getServer().getWorlds()) { - types.computeIfAbsent(reg.getKey(dim.getDimensionType()), k -> new ArrayList<>()).add(dim.getDimensionKey().getLocation()); + for (ServerWorld dim : ctx.getSource().getServer().getAllLevels()) { + types.computeIfAbsent(reg.getKey(dim.dimensionType()), k -> new ArrayList<>()).add(dim.dimension().location()); } types.keySet().stream().sorted().forEach(key -> { - ctx.getSource().sendFeedback(new StringTextComponent(key + ": " + types.get(key).stream().map(ResourceLocation::toString).sorted().collect(Collectors.joining(", "))), false); + ctx.getSource().sendSuccess(new StringTextComponent(key + ": " + types.get(key).stream().map(ResourceLocation::toString).sorted().collect(Collectors.joining(", "))), false); }); return 0; }); diff --git a/src/main/java/net/minecraftforge/server/command/CommandEntity.java b/src/main/java/net/minecraftforge/server/command/CommandEntity.java index 40864e998f..4bfd87d9d5 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandEntity.java +++ b/src/main/java/net/minecraftforge/server/command/CommandEntity.java @@ -65,15 +65,15 @@ class CommandEntity static ArgumentBuilder register() { return Commands.literal("list") - .requires(cs->cs.hasPermissionLevel(2)) //permission + .requires(cs->cs.hasPermission(2)) //permission .then(Commands.argument("filter", StringArgumentType.string()) .suggests((ctx, builder) -> ISuggestionProvider.suggest(ForgeRegistries.ENTITIES.getKeys().stream().map(ResourceLocation::toString).map(StringArgumentType::escapeIfRequired), builder)) - .then(Commands.argument("dim", DimensionArgument.getDimension()) - .executes(ctx -> execute(ctx.getSource(), StringArgumentType.getString(ctx, "filter"), DimensionArgument.getDimensionArgument(ctx, "dim").getDimensionKey())) + .then(Commands.argument("dim", DimensionArgument.dimension()) + .executes(ctx -> execute(ctx.getSource(), StringArgumentType.getString(ctx, "filter"), DimensionArgument.getDimension(ctx, "dim").dimension())) ) - .executes(ctx -> execute(ctx.getSource(), StringArgumentType.getString(ctx, "filter"), ctx.getSource().getWorld().getDimensionKey())) + .executes(ctx -> execute(ctx.getSource(), StringArgumentType.getString(ctx, "filter"), ctx.getSource().getLevel().dimension())) ) - .executes(ctx -> execute(ctx.getSource(), "*", ctx.getSource().getWorld().getDimensionKey())); + .executes(ctx -> execute(ctx.getSource(), "*", ctx.getSource().getLevel().dimension())); } private static int execute(CommandSource sender, String filter, RegistryKey dim) throws CommandSyntaxException @@ -85,14 +85,14 @@ class CommandEntity if (names.isEmpty()) throw INVALID_FILTER.create(); - ServerWorld world = sender.getServer().getWorld(dim); //TODO: DimensionManager so we can hotload? DimensionManager.getWorld(sender.getServer(), dim, false, false); + ServerWorld world = sender.getServer().getLevel(dim); //TODO: DimensionManager so we can hotload? DimensionManager.getWorld(sender.getServer(), dim, false, false); if (world == null) throw INVALID_DIMENSION.create(dim); Map>> list = Maps.newHashMap(); world.getEntities().forEach(e -> { MutablePair> info = list.computeIfAbsent(e.getType().getRegistryName(), k -> MutablePair.of(0, Maps.newHashMap())); - ChunkPos chunk = new ChunkPos(e.getPosition()); + ChunkPos chunk = new ChunkPos(e.blockPosition()); info.left++; info.right.put(chunk, info.right.getOrDefault(chunk, 0) + 1); }); @@ -104,7 +104,7 @@ class CommandEntity if (info == null) throw NO_ENTITIES.create(); - sender.sendFeedback(new TranslationTextComponent("commands.forge.entity.list.single.header", name, info.getLeft()), false); + sender.sendSuccess(new TranslationTextComponent("commands.forge.entity.list.single.header", name, info.getLeft()), false); List> toSort = new ArrayList<>(); toSort.addAll(info.getRight().entrySet()); toSort.sort((a, b) -> { @@ -118,7 +118,7 @@ class CommandEntity for (Map.Entry e : toSort) { if (limit-- == 0) break; - sender.sendFeedback(new StringTextComponent(" " + e.getValue() + ": " + e.getKey().x + ", " + e.getKey().z), false); + sender.sendSuccess(new StringTextComponent(" " + e.getValue() + ": " + e.getKey().x + ", " + e.getKey().z), false); } return toSort.size(); } @@ -144,8 +144,8 @@ class CommandEntity throw NO_ENTITIES.create(); int count = info.stream().mapToInt(Pair::getRight).sum(); - sender.sendFeedback(new TranslationTextComponent("commands.forge.entity.list.multiple.header", count), false); - info.forEach(e -> sender.sendFeedback(new StringTextComponent(" " + e.getValue() + ": " + e.getKey()), false)); + sender.sendSuccess(new TranslationTextComponent("commands.forge.entity.list.multiple.header", count), false); + info.forEach(e -> sender.sendSuccess(new StringTextComponent(" " + e.getValue() + ": " + e.getKey()), false)); return info.size(); } } diff --git a/src/main/java/net/minecraftforge/server/command/CommandGenerate.java b/src/main/java/net/minecraftforge/server/command/CommandGenerate.java index bf8dc29938..b1b004f929 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandGenerate.java +++ b/src/main/java/net/minecraftforge/server/command/CommandGenerate.java @@ -37,16 +37,16 @@ class CommandGenerate static ArgumentBuilder register() { return Commands.literal("generate") - .requires(cs->cs.hasPermissionLevel(4)) //permission + .requires(cs->cs.hasPermission(4)) //permission .then(Commands.argument("pos", BlockPosArgument.blockPos()) .then(Commands.argument("count", IntegerArgumentType.integer(1)) - .then(Commands.argument("dim", DimensionArgument.getDimension()) + .then(Commands.argument("dim", DimensionArgument.dimension()) .then(Commands.argument("interval", IntegerArgumentType.integer()) - .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getBlockPos(ctx, "pos"), getInt(ctx, "count"), DimensionArgument.getDimensionArgument(ctx, "dim"), getInt(ctx, "interval"))) + .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getOrLoadBlockPos(ctx, "pos"), getInt(ctx, "count"), DimensionArgument.getDimension(ctx, "dim"), getInt(ctx, "interval"))) ) - .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getBlockPos(ctx, "pos"), getInt(ctx, "count"), DimensionArgument.getDimensionArgument(ctx, "dim"), -1)) + .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getOrLoadBlockPos(ctx, "pos"), getInt(ctx, "count"), DimensionArgument.getDimension(ctx, "dim"), -1)) ) - .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getBlockPos(ctx, "pos"), getInt(ctx, "count"), ctx.getSource().getWorld(), -1)) + .executes(ctx -> execute(ctx.getSource(), BlockPosArgument.getOrLoadBlockPos(ctx, "pos"), getInt(ctx, "count"), ctx.getSource().getLevel(), -1)) ) ); } @@ -61,7 +61,7 @@ class CommandGenerate BlockPos chunkpos = new BlockPos(pos.getX() >> 4, 0, pos.getZ() >> 4); ChunkGenWorker worker = new ChunkGenWorker(source, chunkpos, count, dim, interval); - source.sendFeedback(worker.getStartMessage(source), true); + source.sendSuccess(worker.getStartMessage(source), true); WorldWorkerManager.addWorker(worker); return 0; diff --git a/src/main/java/net/minecraftforge/server/command/CommandModList.java b/src/main/java/net/minecraftforge/server/command/CommandModList.java index 402ca7081e..61198f6db4 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandModList.java +++ b/src/main/java/net/minecraftforge/server/command/CommandModList.java @@ -30,9 +30,9 @@ public class CommandModList { static ArgumentBuilder register() { return Commands.literal("mods") - .requires(cs->cs.hasPermissionLevel(0)) //permission + .requires(cs->cs.hasPermission(0)) //permission .executes(ctx -> { - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.mods.list", + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.mods.list", ModList.get().applyForEachModFile(modFile -> // locator - filename : firstmod (version) - numberofmods\n String.format("%s %s : %s (%s) - %d", diff --git a/src/main/java/net/minecraftforge/server/command/CommandSetDimension.java b/src/main/java/net/minecraftforge/server/command/CommandSetDimension.java index 31e1502503..17096bd50d 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandSetDimension.java +++ b/src/main/java/net/minecraftforge/server/command/CommandSetDimension.java @@ -52,13 +52,13 @@ public class CommandSetDimension static ArgumentBuilder register() { return Commands.literal("setdimension") - .requires(cs->cs.hasPermissionLevel(2)) //permission + .requires(cs->cs.hasPermission(2)) //permission .then(Commands.argument("targets", EntityArgument.entities()) - .then(Commands.argument("dim", DimensionArgument.getDimension()) + .then(Commands.argument("dim", DimensionArgument.dimension()) .then(Commands.argument("pos", BlockPosArgument.blockPos()) - .executes(ctx -> execute(ctx, EntityArgument.getEntitiesAllowingNone(ctx, "targets"), DimensionArgument.getDimensionArgument(ctx, "dim"), BlockPosArgument.getBlockPos(ctx, "pos"))) + .executes(ctx -> execute(ctx, EntityArgument.getOptionalEntities(ctx, "targets"), DimensionArgument.getDimension(ctx, "dim"), BlockPosArgument.getOrLoadBlockPos(ctx, "pos"))) ) - .executes(ctx -> execute(ctx, EntityArgument.getEntitiesAllowingNone(ctx, "targets"), DimensionArgument.getDimensionArgument(ctx, "dim"), new BlockPos(ctx.getSource().getPos()))) + .executes(ctx -> execute(ctx, EntityArgument.getOptionalEntities(ctx, "targets"), DimensionArgument.getDimension(ctx, "dim"), new BlockPos(ctx.getSource().getPosition()))) ) ); } @@ -86,12 +86,12 @@ public class CommandSetDimension } } } - final String dimName = dim.getDimensionKey().getLocation().toString(); + final String dimName = dim.dimension().location().toString(); final String finalCmdTarget = cmdTarget; final String finalPosTarget = posTarget; ITextComponent suggestion = new TranslationTextComponent("/execute in %s run tp %s%s", dimName, cmdTarget, finalPosTarget) - .modifyStyle((style) -> style.setFormatting(TextFormatting.GREEN).setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/execute in " + dimName + " run tp " + finalCmdTarget + finalPosTarget))); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.setdim.deprecated", suggestion), true); + .withStyle((style) -> style.withColor(TextFormatting.GREEN).withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/execute in " + dimName + " run tp " + finalCmdTarget + finalPosTarget))); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.setdim.deprecated", suggestion), true); return 0; } @@ -99,6 +99,6 @@ public class CommandSetDimension private static boolean canEntityTeleport(Entity entity) { // use vanilla portal logic from BlockPortal#onEntityCollision - return !entity.isPassenger() && !entity.isBeingRidden() && entity.isNonBoss(); + return !entity.isPassenger() && !entity.isVehicle() && entity.canChangeDimensions(); } } diff --git a/src/main/java/net/minecraftforge/server/command/CommandTps.java b/src/main/java/net/minecraftforge/server/command/CommandTps.java index c58ce901ca..9025806bf7 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandTps.java +++ b/src/main/java/net/minecraftforge/server/command/CommandTps.java @@ -38,18 +38,18 @@ class CommandTps static ArgumentBuilder register() { return Commands.literal("tps") - .requires(cs->cs.hasPermissionLevel(0)) //permission - .then(Commands.argument("dim", DimensionArgument.getDimension()) - .executes(ctx -> sendTime(ctx.getSource(), DimensionArgument.getDimensionArgument(ctx, "dim"))) + .requires(cs->cs.hasPermission(0)) //permission + .then(Commands.argument("dim", DimensionArgument.dimension()) + .executes(ctx -> sendTime(ctx.getSource(), DimensionArgument.getDimension(ctx, "dim"))) ) .executes(ctx -> { - for (ServerWorld dim : ctx.getSource().getServer().getWorlds()) + for (ServerWorld dim : ctx.getSource().getServer().getAllLevels()) sendTime(ctx.getSource(), dim); @SuppressWarnings("resource") - double meanTickTime = mean(ctx.getSource().getServer().tickTimeArray) * 1.0E-6D; + double meanTickTime = mean(ctx.getSource().getServer().tickTimes) * 1.0E-6D; double meanTPS = Math.min(1000.0/meanTickTime, 20); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.tps.summary.all", TIME_FORMATTER.format(meanTickTime), TIME_FORMATTER.format(meanTPS)), false); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.tps.summary.all", TIME_FORMATTER.format(meanTickTime), TIME_FORMATTER.format(meanTPS)), false); return 0; } @@ -58,15 +58,15 @@ class CommandTps private static int sendTime(CommandSource cs, ServerWorld dim) throws CommandSyntaxException { - long[] times = cs.getServer().getTickTime(dim.getDimensionKey()); + long[] times = cs.getServer().getTickTime(dim.dimension()); if (times == null) // Null means the world is unloaded. Not invalid. That's taken car of by DimensionArgument itself. times = UNLOADED; - final Registry reg = cs.func_241861_q().getRegistry(Registry.DIMENSION_TYPE_KEY); + final Registry reg = cs.registryAccess().registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); double worldTickTime = mean(times) * 1.0E-6D; double worldTPS = Math.min(1000.0 / worldTickTime, 20); - cs.sendFeedback(new TranslationTextComponent("commands.forge.tps.summary.named", dim.getDimensionKey().getLocation().toString(), reg.getKey(dim.getDimensionType()), TIME_FORMATTER.format(worldTickTime), TIME_FORMATTER.format(worldTPS)), false); + cs.sendSuccess(new TranslationTextComponent("commands.forge.tps.summary.named", dim.dimension().location().toString(), reg.getKey(dim.dimensionType()), TIME_FORMATTER.format(worldTickTime), TIME_FORMATTER.format(worldTPS)), false); return 1; } diff --git a/src/main/java/net/minecraftforge/server/command/CommandTrack.java b/src/main/java/net/minecraftforge/server/command/CommandTrack.java index 97500b0881..faa50acbd3 100644 --- a/src/main/java/net/minecraftforge/server/command/CommandTrack.java +++ b/src/main/java/net/minecraftforge/server/command/CommandTrack.java @@ -58,14 +58,14 @@ class CommandTrack static ArgumentBuilder register() { return Commands.literal("start") - .requires(cs->cs.hasPermissionLevel(2)) //permission + .requires(cs->cs.hasPermission(2)) //permission .then(Commands.literal("te") .then(Commands.argument("duration", IntegerArgumentType.integer(1)) .executes(ctx -> { int duration = IntegerArgumentType.getInteger(ctx, "duration"); TimeTracker.TILE_ENTITY_UPDATE.reset(); TimeTracker.TILE_ENTITY_UPDATE.enable(duration); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.tracking.te.enabled", duration), true); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.tracking.te.enabled", duration), true); return 0; }) ) @@ -76,7 +76,7 @@ class CommandTrack int duration = IntegerArgumentType.getInteger(ctx, "duration"); TimeTracker.ENTITY_UPDATE.reset(); TimeTracker.ENTITY_UPDATE.enable(duration); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.tracking.entity.enabled", duration), true); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.tracking.entity.enabled", duration), true); return 0; }) ) @@ -89,18 +89,18 @@ class CommandTrack static ArgumentBuilder register() { return Commands.literal("reset") - .requires(cs->cs.hasPermissionLevel(2)) //permission + .requires(cs->cs.hasPermission(2)) //permission .then(Commands.literal("te") .executes(ctx -> { TimeTracker.TILE_ENTITY_UPDATE.reset(); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.tracking.te.reset"), true); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.tracking.te.reset"), true); return 0; }) ) .then(Commands.literal("entity") .executes(ctx -> { TimeTracker.ENTITY_UPDATE.reset(); - ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.tracking.entity.reset"), true); + ctx.getSource().sendSuccess(new TranslationTextComponent("commands.forge.tracking.entity.reset"), true); return 0; }) ); @@ -130,14 +130,14 @@ class CommandTrack List> timingsList = getSortedTimings(tracker); if (timingsList.isEmpty()) { - source.sendFeedback(new TranslationTextComponent("commands.forge.tracking.no_data"), true); + source.sendSuccess(new TranslationTextComponent("commands.forge.tracking.no_data"), true); } else { timingsList.stream() .filter(timings -> timings.getObject().get() != null) .limit(10) - .forEach(timings -> source.sendFeedback(toString.apply(timings), true)); + .forEach(timings -> source.sendSuccess(toString.apply(timings), true)); } return 0; } @@ -153,11 +153,11 @@ class CommandTrack if (entity == null) return new TranslationTextComponent("commands.forge.tracking.invalid"); - BlockPos pos = entity.getPosition(); + BlockPos pos = entity.blockPosition(); double averageTimings = data.getAverageTimings(); String tickTime = (averageTimings > 1000 ? TIME_FORMAT.format(averageTimings / 1000) : TIME_FORMAT.format(averageTimings)) + (averageTimings < 1000 ? "\u03bcs" : "ms"); - return new TranslationTextComponent("commands.forge.tracking.timing_entry", entity.getType().getRegistryName(), entity.world.getDimensionKey().getLocation().toString(), pos.getX(), pos.getY(), pos.getZ(), tickTime); + return new TranslationTextComponent("commands.forge.tracking.timing_entry", entity.getType().getRegistryName(), entity.level.dimension().location().toString(), pos.getX(), pos.getY(), pos.getZ(), tickTime); }) ); } @@ -173,11 +173,11 @@ class CommandTrack if (te == null) return new TranslationTextComponent("commands.forge.tracking.invalid"); - BlockPos pos = te.getPos(); + BlockPos pos = te.getBlockPos(); double averageTimings = data.getAverageTimings(); String tickTime = (averageTimings > 1000 ? TIME_FORMAT.format(averageTimings / 1000) : TIME_FORMAT.format(averageTimings)) + (averageTimings < 1000 ? "\u03bcs" : "ms"); - return new TranslationTextComponent("commands.forge.tracking.timing_entry", te.getType().getRegistryName(), te.getWorld().getDimensionKey().getLocation().toString(), pos.getX(), pos.getY(), pos.getZ(), tickTime); + return new TranslationTextComponent("commands.forge.tracking.timing_entry", te.getType().getRegistryName(), te.getLevel().dimension().location().toString(), pos.getX(), pos.getY(), pos.getZ(), tickTime); }) ); } diff --git a/src/main/java/net/minecraftforge/server/command/ConfigCommand.java b/src/main/java/net/minecraftforge/server/command/ConfigCommand.java index 003e81d9ba..449db8b81f 100644 --- a/src/main/java/net/minecraftforge/server/command/ConfigCommand.java +++ b/src/main/java/net/minecraftforge/server/command/ConfigCommand.java @@ -44,7 +44,7 @@ public class ConfigCommand { public static class ShowFile { static ArgumentBuilder register() { return Commands.literal("showfile"). - requires(cs->cs.hasPermissionLevel(0)). + requires(cs->cs.hasPermission(0)). then(Commands.argument("mod", ModIdArgument.modIdArgument()). then(Commands.argument("type", EnumArgument.enumArgument(ModConfig.Type.class)). executes(ShowFile::showFile) @@ -58,13 +58,13 @@ public class ConfigCommand { final String configFileName = ConfigTracker.INSTANCE.getConfigFileName(modId, type); if (configFileName != null) { File f = new File(configFileName); - context.getSource().sendFeedback(new TranslationTextComponent("commands.config.getwithtype", + context.getSource().sendSuccess(new TranslationTextComponent("commands.config.getwithtype", modId, type, - new StringTextComponent(f.getName()).mergeStyle(TextFormatting.UNDERLINE). - modifyStyle((style) -> style.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_FILE, f.getAbsolutePath()))) + new StringTextComponent(f.getName()).withStyle(TextFormatting.UNDERLINE). + withStyle((style) -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_FILE, f.getAbsolutePath()))) ), true); } else { - context.getSource().sendFeedback(new TranslationTextComponent("commands.config.noconfig", modId, type), + context.getSource().sendSuccess(new TranslationTextComponent("commands.config.noconfig", modId, type), true); } return 0; diff --git a/src/main/java/net/minecraftforge/server/command/EnumArgument.java b/src/main/java/net/minecraftforge/server/command/EnumArgument.java index 139b701d8d..1151c26926 100644 --- a/src/main/java/net/minecraftforge/server/command/EnumArgument.java +++ b/src/main/java/net/minecraftforge/server/command/EnumArgument.java @@ -63,18 +63,18 @@ public class EnumArgument> implements ArgumentType { public static class Serializer implements IArgumentSerializer> { @Override - public void write(EnumArgument argument, PacketBuffer buffer) + public void serializeToNetwork(EnumArgument argument, PacketBuffer buffer) { - buffer.writeString(argument.enumClass.getName()); + buffer.writeUtf(argument.enumClass.getName()); } @SuppressWarnings({"unchecked", "rawtypes"}) @Override - public EnumArgument read(PacketBuffer buffer) + public EnumArgument deserializeFromNetwork(PacketBuffer buffer) { try { - String name = buffer.readString(); + String name = buffer.readUtf(); return new EnumArgument(Class.forName(name)); } catch (ClassNotFoundException e) @@ -84,7 +84,7 @@ public class EnumArgument> implements ArgumentType { } @Override - public void write(EnumArgument argument, JsonObject json) + public void serializeToJson(EnumArgument argument, JsonObject json) { json.addProperty("enum", argument.enumClass.getName()); } diff --git a/src/main/java/net/minecraftforge/server/command/TextComponentHelper.java b/src/main/java/net/minecraftforge/server/command/TextComponentHelper.java index 0c11229aee..8f504af2f0 100644 --- a/src/main/java/net/minecraftforge/server/command/TextComponentHelper.java +++ b/src/main/java/net/minecraftforge/server/command/TextComponentHelper.java @@ -41,7 +41,7 @@ public class TextComponentHelper { if (isVanillaClient(source)) { - return new StringTextComponent(String.format(LanguageMap.getInstance().func_230503_a_(translation), args)); + return new StringTextComponent(String.format(LanguageMap.getInstance().getOrDefault(translation), args)); } return new TranslationTextComponent(translation, args); } @@ -52,7 +52,7 @@ public class TextComponentHelper { ServerPlayerEntity playerMP = (ServerPlayerEntity) sender; ServerPlayNetHandler channel = playerMP.connection; - return NetworkHooks.getConnectionType(()->channel.netManager) == ConnectionType.VANILLA; + return NetworkHooks.getConnectionType(()->channel.connection) == ConnectionType.VANILLA; } return false; } diff --git a/src/main/java/net/minecraftforge/server/console/ConsoleCommandCompleter.java b/src/main/java/net/minecraftforge/server/console/ConsoleCommandCompleter.java index ca6140bd3d..bde120abba 100644 --- a/src/main/java/net/minecraftforge/server/console/ConsoleCommandCompleter.java +++ b/src/main/java/net/minecraftforge/server/console/ConsoleCommandCompleter.java @@ -70,8 +70,8 @@ final class ConsoleCommandCompleter implements Completer try { - ParseResults results = this.server.getCommandManager().getDispatcher().parse(stringReader, this.server.getCommandSource()); - Suggestions tabComplete = this.server.getCommandManager().getDispatcher().getCompletionSuggestions(results).get(); + ParseResults results = this.server.getCommands().getDispatcher().parse(stringReader, this.server.createCommandSourceStack()); + Suggestions tabComplete = this.server.getCommands().getDispatcher().getCompletionSuggestions(results).get(); for (Suggestion suggestion : tabComplete.getList()) { String completion = suggestion.getText(); diff --git a/src/main/java/net/minecraftforge/server/console/TerminalHandler.java b/src/main/java/net/minecraftforge/server/console/TerminalHandler.java index c0b291764e..c5ca7ac8e4 100644 --- a/src/main/java/net/minecraftforge/server/console/TerminalHandler.java +++ b/src/main/java/net/minecraftforge/server/console/TerminalHandler.java @@ -53,7 +53,7 @@ public final class TerminalHandler try { String line; - while (!server.isServerStopped() && server.isServerRunning()) + while (!server.isStopped() && server.isRunning()) { try { @@ -71,13 +71,13 @@ public final class TerminalHandler line = line.trim(); if (!line.isEmpty()) { - server.handleConsoleInput(line, server.getCommandSource()); + server.handleConsoleInput(line, server.createCommandSourceStack()); } } } catch (UserInterruptException e) { - server.initiateShutdown(true); + server.halt(true); } finally { diff --git a/src/main/java/net/minecraftforge/server/permission/DefaultPermissionHandler.java b/src/main/java/net/minecraftforge/server/permission/DefaultPermissionHandler.java index ef849e918b..7b31133406 100644 --- a/src/main/java/net/minecraftforge/server/permission/DefaultPermissionHandler.java +++ b/src/main/java/net/minecraftforge/server/permission/DefaultPermissionHandler.java @@ -73,7 +73,7 @@ public enum DefaultPermissionHandler implements IPermissionHandler } MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); - return server != null && server.getPlayerList().canSendCommands(profile); + return server != null && server.getPlayerList().isOp(profile); } @Override diff --git a/src/main/java/net/minecraftforge/server/permission/context/BlockPosContext.java b/src/main/java/net/minecraftforge/server/permission/context/BlockPosContext.java index 889e3957cc..54d8d8b615 100644 --- a/src/main/java/net/minecraftforge/server/permission/context/BlockPosContext.java +++ b/src/main/java/net/minecraftforge/server/permission/context/BlockPosContext.java @@ -44,7 +44,7 @@ public class BlockPosContext extends PlayerContext public BlockPosContext(PlayerEntity ep, ChunkPos pos) { - this(ep, new BlockPos(pos.getXStart() + 8, 0, pos.getZStart() + 8), null, null); + this(ep, new BlockPos(pos.getMinBlockX() + 8, 0, pos.getMinBlockZ() + 8), null, null); } @Override diff --git a/src/main/java/net/minecraftforge/server/permission/context/PlayerContext.java b/src/main/java/net/minecraftforge/server/permission/context/PlayerContext.java index 16f77e1542..456da68268 100644 --- a/src/main/java/net/minecraftforge/server/permission/context/PlayerContext.java +++ b/src/main/java/net/minecraftforge/server/permission/context/PlayerContext.java @@ -35,7 +35,7 @@ public class PlayerContext extends Context @Override public World getWorld() { - return player.getEntityWorld(); + return player.getCommandSenderWorld(); } @Override diff --git a/src/test/java/net/minecraftforge/debug/CustomSoundTypeTest.java b/src/test/java/net/minecraftforge/debug/CustomSoundTypeTest.java index ef8349b77a..422abcd4d9 100644 --- a/src/test/java/net/minecraftforge/debug/CustomSoundTypeTest.java +++ b/src/test/java/net/minecraftforge/debug/CustomSoundTypeTest.java @@ -50,10 +50,10 @@ public class CustomSoundTypeTest private static final SoundType TEST_SOUND_TYPE = new ForgeSoundType(1.0F, 1.0F, TEST_STEP_EVENT, TEST_STEP_EVENT, TEST_STEP_EVENT, TEST_STEP_EVENT, TEST_STEP_EVENT); private static final RegistryObject TEST_STEP_BLOCK = BLOCKS.register("test_block", - () -> new Block(AbstractBlock.Properties.create(Material.WOOD).sound(TEST_SOUND_TYPE))); + () -> new Block(AbstractBlock.Properties.of(Material.WOOD).sound(TEST_SOUND_TYPE))); private static final RegistryObject TEST_STEP_BLOCK_ITEM = ITEMS.register("test_block", - () -> new BlockItem(TEST_STEP_BLOCK.get(), new Item.Properties().group(ItemGroup.MISC))); + () -> new BlockItem(TEST_STEP_BLOCK.get(), new Item.Properties().tab(ItemGroup.TAB_MISC))); public CustomSoundTypeTest() { diff --git a/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java b/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java index 7cde31b0c1..842945eab5 100644 --- a/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java +++ b/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java @@ -132,7 +132,7 @@ public class DataGeneratorTest super(gen); } - protected void registerRecipes(Consumer consumer) + protected void buildShapelessRecipes(Consumer consumer) { ResourceLocation ID = new ResourceLocation("data_gen_test", "conditional"); @@ -145,14 +145,14 @@ public class DataGeneratorTest ) ) .addRecipe( - ShapedRecipeBuilder.shapedRecipe(Blocks.DIAMOND_BLOCK, 64) - .patternLine("XXX") - .patternLine("XXX") - .patternLine("XXX") - .key('X', Blocks.DIRT) - .setGroup("") - .addCriterion("has_dirt", hasItem(Blocks.DIRT)) // DUMMY: Necessary, but not used when a custom advancement is provided through setAdvancement - ::build + ShapedRecipeBuilder.shaped(Blocks.DIAMOND_BLOCK, 64) + .pattern("XXX") + .pattern("XXX") + .pattern("XXX") + .define('X', Blocks.DIRT) + .group("") + .unlockedBy("has_dirt", has(Blocks.DIRT)) // DUMMY: Necessary, but not used when a custom advancement is provided through setAdvancement + ::save ) .setAdvancement(ID, ConditionalAdvancement.builder() @@ -164,15 +164,15 @@ public class DataGeneratorTest ) ) .addAdvancement( - Advancement.Builder.builder() - .withParentId(new ResourceLocation("minecraft", "root")) - .withDisplay(Blocks.DIAMOND_BLOCK, + Advancement.Builder.advancement() + .parent(new ResourceLocation("minecraft", "root")) + .display(Blocks.DIAMOND_BLOCK, new StringTextComponent("Dirt2Diamonds"), new StringTextComponent("The BEST crafting recipe in the game!"), null, FrameType.TASK, false, false, false ) - .withRewards(AdvancementRewards.Builder.recipe(ID)) - .withCriterion("has_dirt", hasItem(Blocks.DIRT)) + .rewards(AdvancementRewards.Builder.recipe(ID)) + .addCriterion("has_dirt", has(Blocks.DIRT)) ) ) .build(consumer, ID); @@ -188,14 +188,14 @@ public class DataGeneratorTest ) ) .addRecipe( - ShapedRecipeBuilder.shapedRecipe(Blocks.DIAMOND_BLOCK, 64) - .patternLine("XXX") - .patternLine("XXX") - .patternLine("XXX") - .key('X', Blocks.DIRT) - .setGroup("") - .addCriterion("has_dirt", hasItem(Blocks.DIRT)) - ::build + ShapedRecipeBuilder.shaped(Blocks.DIAMOND_BLOCK, 64) + .pattern("XXX") + .pattern("XXX") + .pattern("XXX") + .define('X', Blocks.DIRT) + .group("") + .unlockedBy("has_dirt", has(Blocks.DIRT)) + ::save ) .generateAdvancement() .build(consumer, new ResourceLocation("data_gen_test", "conditional2")); @@ -210,27 +210,27 @@ public class DataGeneratorTest } @Override - protected void registerTags() + protected void addTags() { - getOrCreateBuilder(BlockTags.makeWrapperTag(new ResourceLocation(MODID, "test").toString())) - .addItemEntry(Blocks.DIAMOND_BLOCK) + tag(BlockTags.bind(new ResourceLocation(MODID, "test").toString())) + .add(Blocks.DIAMOND_BLOCK) .addTag(BlockTags.STONE_BRICKS) .addTag(net.minecraftforge.common.Tags.Blocks.COBBLESTONE) .addOptional(new ResourceLocation("chisel", "marble/raw")) .addOptionalTag(new ResourceLocation("forge", "storage_blocks/ruby")); // Hopefully sorting issues - getOrCreateBuilder(BlockTags.makeWrapperTag(new ResourceLocation(MODID, "thing/one").toString())) - .addItemEntry(Blocks.COBBLESTONE); - getOrCreateBuilder(BlockTags.makeWrapperTag(new ResourceLocation(MODID, "thing/two").toString())) - .addItemEntry(Blocks.DIORITE); - getOrCreateBuilder(BlockTags.makeWrapperTag(new ResourceLocation(MODID, "thing/three").toString())) - .addItemEntry(Blocks.ANDESITE); + tag(BlockTags.bind(new ResourceLocation(MODID, "thing/one").toString())) + .add(Blocks.COBBLESTONE); + tag(BlockTags.bind(new ResourceLocation(MODID, "thing/two").toString())) + .add(Blocks.DIORITE); + tag(BlockTags.bind(new ResourceLocation(MODID, "thing/three").toString())) + .add(Blocks.ANDESITE); - getOrCreateBuilder(BlockTags.makeWrapperTag(new ResourceLocation(MODID, "things").toString())) - .addItemEntry(Blocks.COBBLESTONE) - .addItemEntry(Blocks.DIORITE) - .addItemEntry(Blocks.ANDESITE); + tag(BlockTags.bind(new ResourceLocation(MODID, "things").toString())) + .add(Blocks.COBBLESTONE) + .add(Blocks.DIORITE) + .add(Blocks.ANDESITE); } } @@ -302,9 +302,9 @@ public class DataGeneratorTest ); @Override - public void act(DirectoryCache cache) throws IOException + public void run(DirectoryCache cache) throws IOException { - super.act(cache); + super.run(cache); List errors = testModelResults(this.generatedModels, existingFileHelper, IGNORED_MODELS.stream().map(s -> new ResourceLocation(MODID, folder + "/" + s)).collect(Collectors.toSet())); if (!errors.isEmpty()) { LOGGER.error("Found {} discrepancies between generated and vanilla item models: ", errors.size()); @@ -341,11 +341,11 @@ public class DataGeneratorTest ModelFile birchFenceGateWallOpen = models().fenceGateWallOpen("birch_fence_gate_wall_open", mcLoc("block/birch_planks")); ModelFile invisbleModel = new UncheckedModelFile(new ResourceLocation("builtin/generated")); VariantBlockStateBuilder builder = getVariantBuilder(Blocks.BIRCH_FENCE_GATE); - for (Direction dir : FenceGateBlock.HORIZONTAL_FACING.getAllowedValues()) { - int angle = (int) dir.getHorizontalAngle(); + for (Direction dir : FenceGateBlock.FACING.getPossibleValues()) { + int angle = (int) dir.toYRot(); builder .partialState() - .with(FenceGateBlock.HORIZONTAL_FACING, dir) + .with(FenceGateBlock.FACING, dir) .with(FenceGateBlock.IN_WALL, false) .with(FenceGateBlock.OPEN, false) .modelForState() @@ -357,7 +357,7 @@ public class DataGeneratorTest .weight(100) .addModel() .partialState() - .with(FenceGateBlock.HORIZONTAL_FACING, dir) + .with(FenceGateBlock.FACING, dir) .with(FenceGateBlock.IN_WALL, false) .with(FenceGateBlock.OPEN, true) .modelForState() @@ -366,7 +366,7 @@ public class DataGeneratorTest .uvLock(true) .addModel() .partialState() - .with(FenceGateBlock.HORIZONTAL_FACING, dir) + .with(FenceGateBlock.FACING, dir) .with(FenceGateBlock.IN_WALL, true) .with(FenceGateBlock.OPEN, false) .modelForState() @@ -375,7 +375,7 @@ public class DataGeneratorTest .uvLock(true) .addModel() .partialState() - .with(FenceGateBlock.HORIZONTAL_FACING, dir) + .with(FenceGateBlock.FACING, dir) .with(FenceGateBlock.IN_WALL, true) .with(FenceGateBlock.OPEN, true) .modelForState() @@ -424,21 +424,21 @@ public class DataGeneratorTest models().getBuilder("cube") .parent(block) .element() - .allFaces((dir, face) -> face.texture("#" + dir.getString()).cullface(dir)); + .allFaces((dir, face) -> face.texture("#" + dir.getSerializedName()).cullface(dir)); ModelFile furnace = models().orientable("furnace", mcLoc("block/furnace_side"), mcLoc("block/furnace_front"), mcLoc("block/furnace_top")); ModelFile furnaceLit = models().orientable("furnace_on", mcLoc("block/furnace_side"), mcLoc("block/furnace_front_on"), mcLoc("block/furnace_top")); getVariantBuilder(Blocks.FURNACE) .forAllStates(state -> ConfiguredModel.builder() - .modelFile(state.get(FurnaceBlock.LIT) ? furnaceLit : furnace) - .rotationY((int) state.get(FurnaceBlock.FACING).getOpposite().getHorizontalAngle()) + .modelFile(state.getValue(FurnaceBlock.LIT) ? furnaceLit : furnace) + .rotationY((int) state.getValue(FurnaceBlock.FACING).getOpposite().toYRot()) .build() ); ModelFile barrel = models().cubeBottomTop("barrel", mcLoc("block/barrel_side"), mcLoc("block/barrel_bottom"), mcLoc("block/barrel_top")); ModelFile barrelOpen = models().cubeBottomTop("barrel_open", mcLoc("block/barrel_side"), mcLoc("block/barrel_bottom"), mcLoc("block/barrel_top_open")); - directionalBlock(Blocks.BARREL, state -> state.get(BarrelBlock.PROPERTY_OPEN) ? barrelOpen : barrel); // Testing custom state interpreter + directionalBlock(Blocks.BARREL, state -> state.getValue(BarrelBlock.OPEN) ? barrelOpen : barrel); // Testing custom state interpreter logBlock((RotatedPillarBlock) Blocks.ACACIA_LOG); @@ -474,9 +474,9 @@ public class DataGeneratorTest private List errors = new ArrayList<>(); @Override - public void act(DirectoryCache cache) throws IOException + public void run(DirectoryCache cache) throws IOException { - super.act(cache); + super.run(cache); this.errors.addAll(testModelResults(models().generatedModels, models().existingFileHelper, Sets.union(IGNORED_MODELS, CUSTOM_MODELS))); this.registeredBlocks.forEach((block, state) -> { if (IGNORED_BLOCKS.contains(block)) return; diff --git a/src/test/java/net/minecraftforge/debug/DeferredRegistryTest.java b/src/test/java/net/minecraftforge/debug/DeferredRegistryTest.java index 900f97fcca..ae084abb1f 100644 --- a/src/test/java/net/minecraftforge/debug/DeferredRegistryTest.java +++ b/src/test/java/net/minecraftforge/debug/DeferredRegistryTest.java @@ -54,8 +54,8 @@ public class DeferredRegistryTest { private static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); private static final DeferredRegister CUSTOMS = DeferredRegister.create(Custom.class, MODID); - private static final RegistryObject BLOCK = BLOCKS.register("test", () -> new Block(Block.Properties.create(Material.ROCK))); - private static final RegistryObject ITEM = ITEMS .register("test", () -> new BlockItem(BLOCK.get(), new Item.Properties().group(ItemGroup.BUILDING_BLOCKS))); + private static final RegistryObject BLOCK = BLOCKS.register("test", () -> new Block(Block.Properties.of(Material.STONE))); + private static final RegistryObject ITEM = ITEMS .register("test", () -> new BlockItem(BLOCK.get(), new Item.Properties().tab(ItemGroup.TAB_BUILDING_BLOCKS))); private static final RegistryObject CUSTOM = CUSTOMS.register("test", () -> new Custom(){}); private static final Supplier> CUSTOM_REG = CUSTOMS.makeRegistry("test_registry", () -> diff --git a/src/test/java/net/minecraftforge/debug/PotionEventTest.java b/src/test/java/net/minecraftforge/debug/PotionEventTest.java index 4c85a462fd..12beaf67d0 100644 --- a/src/test/java/net/minecraftforge/debug/PotionEventTest.java +++ b/src/test/java/net/minecraftforge/debug/PotionEventTest.java @@ -46,20 +46,20 @@ public class PotionEventTest private void onSetup(FMLCommonSetupEvent event) { - BrewingRecipeRegistry.addRecipe(Ingredient.fromItems(Items.ICE), Ingredient.fromItems(Items.LAVA_BUCKET), new ItemStack(Items.OBSIDIAN)); + BrewingRecipeRegistry.addRecipe(Ingredient.of(Items.ICE), Ingredient.of(Items.LAVA_BUCKET), new ItemStack(Items.OBSIDIAN)); } @SubscribeEvent public static void onPotionAdded(PotionEvent.PotionAddedEvent event) { - if (!event.getEntity().getEntityWorld().isRemote) + if (!event.getEntity().getCommandSenderWorld().isClientSide) LOGGER.info("{} has a new PotionEffect {}, the old one was {}", event.getEntityLiving(), event.getPotionEffect(), event.getOldPotionEffect()); } @SubscribeEvent public static void isPotionApplicable(PotionEvent.PotionApplicableEvent event) { - if (!event.getEntity().getEntityWorld().isRemote) + if (!event.getEntity().getCommandSenderWorld().isClientSide) { event.setResult(Result.ALLOW); LOGGER.info("Allowed Potion {} for Entity {}", event.getPotionEffect(), event.getEntityLiving()); @@ -69,14 +69,14 @@ public class PotionEventTest @SubscribeEvent public static void onPotionRemove(PotionEvent.PotionRemoveEvent event) { - if (!event.getEntity().getEntityWorld().isRemote) + if (!event.getEntity().getCommandSenderWorld().isClientSide) LOGGER.info("Effect {} got Removed from {}", event.getPotionEffect(), event.getEntityLiving()); } @SubscribeEvent public static void onPotionExpiry(PotionEvent.PotionExpiryEvent event) { - if (!event.getEntity().getEntityWorld().isRemote) + if (!event.getEntity().getCommandSenderWorld().isClientSide) LOGGER.info("Effect {} expired from {}", event.getPotionEffect(), event.getEntityLiving()); } } diff --git a/src/test/java/net/minecraftforge/debug/block/CustomPlantTypeTest.java b/src/test/java/net/minecraftforge/debug/block/CustomPlantTypeTest.java index d1f53eb009..4ad15e4d15 100644 --- a/src/test/java/net/minecraftforge/debug/block/CustomPlantTypeTest.java +++ b/src/test/java/net/minecraftforge/debug/block/CustomPlantTypeTest.java @@ -69,14 +69,14 @@ public class CustomPlantTypeTest { public CustomBlock() { - super(Block.Properties.create(Material.ROCK)); + super(Block.Properties.of(Material.STONE)); this.setRegistryName(MODID, CUSTOM_SOIL_BLOCK); } @Override public boolean canSustainPlant(BlockState state, IBlockReader world, BlockPos pos, Direction facing, IPlantable plantable) { - PlantType type = plantable.getPlantType(world, pos.offset(facing)); + PlantType type = plantable.getPlantType(world, pos.relative(facing)); if (type != null && type == CustomPlantBlock.pt) { return true; @@ -91,7 +91,7 @@ public class CustomPlantTypeTest public CustomPlantBlock() { - super(Effects.WEAKNESS, 9, Block.Properties.create(Material.PLANTS).doesNotBlockMovement().sound(SoundType.PLANT)); + super(Effects.WEAKNESS, 9, Block.Properties.of(Material.PLANT).noCollission().sound(SoundType.GRASS)); this.setRegistryName(MODID, CUSTOM_PLANT_BLOCK); } @@ -104,18 +104,18 @@ public class CustomPlantTypeTest @Override public BlockState getPlant(IBlockReader world, BlockPos pos) { - return getDefaultState(); + return defaultBlockState(); } @Override - public boolean isValidPosition(BlockState state, IWorldReader world, BlockPos pos) + public boolean canSurvive(BlockState state, IWorldReader world, BlockPos pos) { - BlockState soil = world.getBlockState(pos.down()); + BlockState soil = world.getBlockState(pos.below()); return soil.canSustainPlant(world, pos, Direction.UP, this); } @Override - public boolean isValidGround(BlockState state, IBlockReader worldIn, BlockPos pos) + public boolean mayPlaceOn(BlockState state, IBlockReader worldIn, BlockPos pos) { Block block = state.getBlock(); return block == CUSTOM_SOIL; diff --git a/src/test/java/net/minecraftforge/debug/block/FlowerPotTest.java b/src/test/java/net/minecraftforge/debug/block/FlowerPotTest.java index 61949440d6..09fa7777eb 100644 --- a/src/test/java/net/minecraftforge/debug/block/FlowerPotTest.java +++ b/src/test/java/net/minecraftforge/debug/block/FlowerPotTest.java @@ -44,9 +44,9 @@ public class FlowerPotTest private static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); private static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); - public static final RegistryObject EMPTY_FLOWER_POT = BLOCKS.register(BLOCK_ID, () -> new FlowerPotBlock(null, Blocks.AIR.delegate, Block.Properties.from(Blocks.FLOWER_POT))); + public static final RegistryObject EMPTY_FLOWER_POT = BLOCKS.register(BLOCK_ID, () -> new FlowerPotBlock(null, Blocks.AIR.delegate, Block.Properties.copy(Blocks.FLOWER_POT))); public static final RegistryObject OAK_FLOWER_POT = BLOCKS.register( - BLOCK_ID + "_oak", () -> new FlowerPotBlock(EMPTY_FLOWER_POT, Blocks.OAK_SAPLING.delegate, Block.Properties.from(Blocks.FLOWER_POT))); + BLOCK_ID + "_oak", () -> new FlowerPotBlock(EMPTY_FLOWER_POT, Blocks.OAK_SAPLING.delegate, Block.Properties.copy(Blocks.FLOWER_POT))); static { ITEMS.register(BLOCK_ID, () -> new BlockItem(EMPTY_FLOWER_POT.get(), new Item.Properties())); diff --git a/src/test/java/net/minecraftforge/debug/block/HarvestToolTest.java b/src/test/java/net/minecraftforge/debug/block/HarvestToolTest.java index b9aa657d10..97f58691ec 100644 --- a/src/test/java/net/minecraftforge/debug/block/HarvestToolTest.java +++ b/src/test/java/net/minecraftforge/debug/block/HarvestToolTest.java @@ -36,9 +36,9 @@ public class HarvestToolTest { PlayerEntity player = event.getPlayer(); BlockState state = event.getState(); - for (ToolType toolType : player.getHeldItemMainhand().getToolTypes()) { + for (ToolType toolType : player.getMainHandItem().getToolTypes()) { if (state.isToolEffective(toolType)) { - player.sendMessage(new StringTextComponent(String.format("Tool was effective. tool type: %s | harvest level: %d", toolType.getName(), state.getHarvestLevel())), player.getUniqueID()); + player.sendMessage(new StringTextComponent(String.format("Tool was effective. tool type: %s | harvest level: %d", toolType.getName(), state.getHarvestLevel())), player.getUUID()); break; } } diff --git a/src/test/java/net/minecraftforge/debug/block/PistonEventTest.java b/src/test/java/net/minecraftforge/debug/block/PistonEventTest.java index ec71107c11..85a261eb83 100644 --- a/src/test/java/net/minecraftforge/debug/block/PistonEventTest.java +++ b/src/test/java/net/minecraftforge/debug/block/PistonEventTest.java @@ -68,9 +68,9 @@ public class PistonEventTest private static DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); private static DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); - private static RegistryObject shiftOnMove = BLOCKS.register(blockName, () -> new Block(Block.Properties.create(Material.ROCK))); + private static RegistryObject shiftOnMove = BLOCKS.register(blockName, () -> new Block(Block.Properties.of(Material.STONE))); static { - ITEMS.register(blockName, () -> new BlockItem(shiftOnMove.get(), new Item.Properties().group(ItemGroup.BUILDING_BLOCKS))); + ITEMS.register(blockName, () -> new BlockItem(shiftOnMove.get(), new Item.Properties().tab(ItemGroup.TAB_BUILDING_BLOCKS))); } public PistonEventTest() @@ -89,28 +89,28 @@ public class PistonEventTest World world = (World) event.getWorld(); PistonBlockStructureHelper pistonHelper = event.getStructureHelper(); PlayerEntity player = DistExecutor.safeCallWhenOn(Dist.CLIENT, () -> () -> Minecraft.getInstance().player); - if (world.isRemote && player != null) + if (world.isClientSide && player != null) { - if (pistonHelper.canMove()) + if (pistonHelper.resolve()) { - player.sendMessage(new StringTextComponent(String.format("Piston will extend moving %d blocks and destroy %d blocks", pistonHelper.getBlocksToMove().size(), pistonHelper.getBlocksToDestroy().size())), player.getUniqueID()); + player.sendMessage(new StringTextComponent(String.format("Piston will extend moving %d blocks and destroy %d blocks", pistonHelper.getToPush().size(), pistonHelper.getToDestroy().size())), player.getUUID()); } else { - player.sendMessage(new StringTextComponent("Piston won't extend"), player.getUniqueID()); + player.sendMessage(new StringTextComponent("Piston won't extend"), player.getUUID()); } } - if (pistonHelper.canMove()) + if (pistonHelper.resolve()) { - List posList = pistonHelper.getBlocksToMove(); + List posList = pistonHelper.getToPush(); for (BlockPos newPos : posList) { BlockState state = event.getWorld().getBlockState(newPos); if (state.getBlock() == Blocks.BLACK_WOOL) { - Block.spawnDrops(state, world, newPos); - world.setBlockState(newPos, Blocks.AIR.getDefaultState()); + Block.dropResources(state, world, newPos); + world.setBlockAndUpdate(newPos, Blocks.AIR.defaultBlockState()); } } } @@ -119,8 +119,8 @@ public class PistonEventTest BlockPos pushedBlockPos = event.getFaceOffsetPos(); if (world.getBlockState(pushedBlockPos).getBlock() == shiftOnMove.get() && event.getDirection() != Direction.DOWN) { - world.setBlockState(pushedBlockPos, Blocks.AIR.getDefaultState()); - world.setBlockState(pushedBlockPos.up(), shiftOnMove.get().getDefaultState()); + world.setBlockAndUpdate(pushedBlockPos, Blocks.AIR.defaultBlockState()); + world.setBlockAndUpdate(pushedBlockPos.above(), shiftOnMove.get().defaultBlockState()); } // Block pushing cobblestone (directly, indirectly works) @@ -131,22 +131,22 @@ public class PistonEventTest boolean isSticky = event.getWorld().getBlockState(event.getPos()).getBlock() == Blocks.STICKY_PISTON; PlayerEntity player = DistExecutor.safeCallWhenOn(Dist.CLIENT, () -> () -> Minecraft.getInstance().player); - if (event.getWorld().isRemote() && player != null) + if (event.getWorld().isClientSide() && player != null) { if (isSticky) { - BlockPos targetPos = event.getFaceOffsetPos().offset(event.getDirection()); - boolean canPush = PistonBlock.canPush(event.getWorld().getBlockState(targetPos), (World) event.getWorld(), event.getFaceOffsetPos(), event.getDirection().getOpposite(), false, event.getDirection()); - boolean isAir = event.getWorld().isAirBlock(targetPos); - player.sendMessage(new StringTextComponent(String.format("Piston will retract moving %d blocks", !isAir && canPush ? 1 : 0)), player.getUniqueID()); + BlockPos targetPos = event.getFaceOffsetPos().relative(event.getDirection()); + boolean canPush = PistonBlock.isPushable(event.getWorld().getBlockState(targetPos), (World) event.getWorld(), event.getFaceOffsetPos(), event.getDirection().getOpposite(), false, event.getDirection()); + boolean isAir = event.getWorld().isEmptyBlock(targetPos); + player.sendMessage(new StringTextComponent(String.format("Piston will retract moving %d blocks", !isAir && canPush ? 1 : 0)), player.getUUID()); } else { - player.sendMessage(new StringTextComponent("Piston will retract"), player.getUniqueID()); + player.sendMessage(new StringTextComponent("Piston will retract"), player.getUUID()); } } // Offset twice to see if retraction will pull cobblestone - event.setCanceled(event.getWorld().getBlockState(event.getFaceOffsetPos().offset(event.getDirection())).getBlock() == Blocks.COBBLESTONE && isSticky); + event.setCanceled(event.getWorld().getBlockState(event.getFaceOffsetPos().relative(event.getDirection())).getBlock() == Blocks.COBBLESTONE && isSticky); } } diff --git a/src/test/java/net/minecraftforge/debug/block/ScaffoldingTest.java b/src/test/java/net/minecraftforge/debug/block/ScaffoldingTest.java index 0fa6d9998c..772f9b7d10 100644 --- a/src/test/java/net/minecraftforge/debug/block/ScaffoldingTest.java +++ b/src/test/java/net/minecraftforge/debug/block/ScaffoldingTest.java @@ -45,6 +45,8 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; +import net.minecraft.block.AbstractBlock.Properties; + /** * This test mod allows a custom scaffolding to move down * while sneaking through a method. @@ -56,7 +58,7 @@ public class ScaffoldingTest static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); static final IOptionalNamedTag SCAFFOLDING = BlockTags.createOptional(new ResourceLocation("forge", "scaffolding")); - static final RegistryObject SCAFFOLDING_METHOD_TEST = BLOCKS.register("scaffolding_method_test", () -> new ScaffoldingMethodTestBlock(AbstractBlock.Properties.create(Material.MISCELLANEOUS, MaterialColor.SAND).doesNotBlockMovement().sound(SoundType.SCAFFOLDING).variableOpacity())); + static final RegistryObject SCAFFOLDING_METHOD_TEST = BLOCKS.register("scaffolding_method_test", () -> new ScaffoldingMethodTestBlock(AbstractBlock.Properties.of(Material.DECORATION, MaterialColor.SAND).noCollission().sound(SoundType.SCAFFOLDING).dynamicShape())); public ScaffoldingTest() { @@ -81,7 +83,7 @@ public class ScaffoldingTest @Override protected void registerStatesAndModels() { - this.getVariantBuilder(SCAFFOLDING_METHOD_TEST.get()).forAllStatesExcept((state) -> ConfiguredModel.builder().modelFile(state.get(ScaffoldingBlock.BOTTOM) ? new ModelFile.ExistingModelFile(new ResourceLocation("block/scaffolding_unstable"), this.models().existingFileHelper) : new ModelFile.ExistingModelFile(new ResourceLocation("block/scaffolding_stable"), this.models().existingFileHelper)).build(), ScaffoldingBlock.DISTANCE, ScaffoldingBlock.WATERLOGGED); + this.getVariantBuilder(SCAFFOLDING_METHOD_TEST.get()).forAllStatesExcept((state) -> ConfiguredModel.builder().modelFile(state.getValue(ScaffoldingBlock.BOTTOM) ? new ModelFile.ExistingModelFile(new ResourceLocation("block/scaffolding_unstable"), this.models().existingFileHelper) : new ModelFile.ExistingModelFile(new ResourceLocation("block/scaffolding_stable"), this.models().existingFileHelper)).build(), ScaffoldingBlock.DISTANCE, ScaffoldingBlock.WATERLOGGED); } } diff --git a/src/test/java/net/minecraftforge/debug/block/SlipperinessTest.java b/src/test/java/net/minecraftforge/debug/block/SlipperinessTest.java index d2ebcd64fa..471ef83cde 100644 --- a/src/test/java/net/minecraftforge/debug/block/SlipperinessTest.java +++ b/src/test/java/net/minecraftforge/debug/block/SlipperinessTest.java @@ -47,7 +47,7 @@ public class SlipperinessTest @SubscribeEvent public static void registerBlocks(RegistryEvent.Register e) { - e.getRegistry().register((new Block(Block.Properties.create(Material.PACKED_ICE)) + e.getRegistry().register((new Block(Block.Properties.of(Material.ICE_SOLID)) { @Override public float getSlipperiness(BlockState state, IWorldReader world, BlockPos pos, Entity entity) diff --git a/src/test/java/net/minecraftforge/debug/block/StickyBlockTest.java b/src/test/java/net/minecraftforge/debug/block/StickyBlockTest.java index 31081bbdfc..8aa28722ea 100644 --- a/src/test/java/net/minecraftforge/debug/block/StickyBlockTest.java +++ b/src/test/java/net/minecraftforge/debug/block/StickyBlockTest.java @@ -43,7 +43,7 @@ public class StickyBlockTest @SubscribeEvent public static void registerBlocks(RegistryEvent.Register event) { - event.getRegistry().register((new Block(Block.Properties.create(Material.ROCK)) + event.getRegistry().register((new Block(Block.Properties.of(Material.STONE)) { @Override public boolean isStickyBlock(BlockState state) diff --git a/src/test/java/net/minecraftforge/debug/chat/CommandEventTest.java b/src/test/java/net/minecraftforge/debug/chat/CommandEventTest.java index 7897b1c029..f77180da3c 100644 --- a/src/test/java/net/minecraftforge/debug/chat/CommandEventTest.java +++ b/src/test/java/net/minecraftforge/debug/chat/CommandEventTest.java @@ -55,8 +55,8 @@ public class CommandEventTest // test: whenever a player uses the /give command, let everyone on the server know if (nodes.size() > 0 && nodes.get(0).getNode() == dispatcher.getRoot().getChild("give")) { - String msg = source.getName() + " used the give command: " + event.getParseResults().getReader().getString(); - source.getServer().getPlayerList().getPlayers().forEach(player -> player.sendMessage(new StringTextComponent(msg), player.getUniqueID())); + String msg = source.getTextName() + " used the give command: " + event.getParseResults().getReader().getString(); + source.getServer().getPlayerList().getPlayers().forEach(player -> player.sendMessage(new StringTextComponent(msg), player.getUUID())); return; } diff --git a/src/test/java/net/minecraftforge/debug/chat/EntitySelectorTest.java b/src/test/java/net/minecraftforge/debug/chat/EntitySelectorTest.java index 6d805900e4..af464279f7 100644 --- a/src/test/java/net/minecraftforge/debug/chat/EntitySelectorTest.java +++ b/src/test/java/net/minecraftforge/debug/chat/EntitySelectorTest.java @@ -54,7 +54,7 @@ public class EntitySelectorTest private void healthArgument(EntitySelectorParser parser) throws CommandSyntaxException { MinMaxBounds.FloatBound bound = MinMaxBounds.FloatBound.fromReader(parser.getReader()); - parser.addFilter(entity -> entity instanceof LivingEntity && bound.test(((LivingEntity) entity).getHealth())); + parser.addPredicate(entity -> entity instanceof LivingEntity && bound.matches(((LivingEntity) entity).getHealth())); } /** @@ -66,25 +66,25 @@ public class EntitySelectorTest @Override public EntitySelector build(EntitySelectorParser parser) throws CommandSyntaxException { - parser.setSorter(EntitySelectorParser.RANDOM); - parser.setLimit(1); - parser.setIncludeNonPlayers(true); - parser.addFilter(Entity::isAlive); - parser.setSuggestionHandler((builder, consumer) -> builder.suggest(String.valueOf('[')).buildFuture()); + parser.setOrder(EntitySelectorParser.ORDER_RANDOM); + parser.setMaxResults(1); + parser.setIncludesEntities(true); + parser.addPredicate(Entity::isAlive); + parser.setSuggestions((builder, consumer) -> builder.suggest(String.valueOf('[')).buildFuture()); if (parser.getReader().canRead() && parser.getReader().peek() == '[') { parser.getReader().skip(); - parser.setSuggestionHandler((builder, consumer) -> { + parser.setSuggestions((builder, consumer) -> { builder.suggest(String.valueOf(']')); - EntityOptions.suggestOptions(parser, builder); + EntityOptions.suggestNames(parser, builder); return builder.buildFuture(); }); - parser.parseArguments(); + parser.parseOptions(); } - parser.updateFilter(); - return parser.build(); + parser.finalizePredicates(); + return parser.getSelector(); } @Override diff --git a/src/test/java/net/minecraftforge/debug/client/model/CompositeModelTest.java b/src/test/java/net/minecraftforge/debug/client/model/CompositeModelTest.java index d6b541829a..a78161c230 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/CompositeModelTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/CompositeModelTest.java @@ -53,9 +53,9 @@ public class CompositeModelTest public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); public static RegistryObject composite_block = BLOCKS.register("composite_block", () -> - new Block(Block.Properties.create(Material.WOOD).hardnessAndResistance(10)) { + new Block(Block.Properties.of(Material.WOOD).strength(10)) { @Override - protected void fillStateContainer(StateContainer.Builder builder) + protected void createBlockStateDefinition(StateContainer.Builder builder) { builder.add(BlockStateProperties.HORIZONTAL_FACING); } @@ -64,30 +64,30 @@ public class CompositeModelTest @Override public BlockState getStateForPlacement(BlockItemUseContext context) { - return getDefaultState().with( - BlockStateProperties.HORIZONTAL_FACING, context.getPlacementHorizontalFacing() + return defaultBlockState().setValue( + BlockStateProperties.HORIZONTAL_FACING, context.getHorizontalDirection() ); } @Override public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return VoxelShapes.or( - makeCuboidShape(5.6, 5.6, 5.6, 10.4, 10.4, 10.4), - makeCuboidShape(0, 0, 0, 4.8, 4.8, 4.8), - makeCuboidShape(11.2, 0, 0, 16, 4.8, 4.8), - makeCuboidShape(0, 0, 11.2, 4.8, 4.8, 16), - makeCuboidShape(11.2, 0, 11.2, 16, 4.8, 16), - makeCuboidShape(0, 11.2, 0, 4.8, 16, 4.8), - makeCuboidShape(11.2, 11.2, 0, 16, 16, 4.8), - makeCuboidShape(0, 11.2, 11.2, 4.8, 16, 16), - makeCuboidShape(11.2, 11.2, 11.2, 16, 16, 16) + box(5.6, 5.6, 5.6, 10.4, 10.4, 10.4), + box(0, 0, 0, 4.8, 4.8, 4.8), + box(11.2, 0, 0, 16, 4.8, 4.8), + box(0, 0, 11.2, 4.8, 4.8, 16), + box(11.2, 0, 11.2, 16, 4.8, 16), + box(0, 11.2, 0, 4.8, 16, 4.8), + box(11.2, 11.2, 0, 16, 16, 4.8), + box(0, 11.2, 11.2, 4.8, 16, 16), + box(11.2, 11.2, 11.2, 16, 16, 16) ); } } ); public static RegistryObject composite_item = ITEMS.register("composite_block", () -> - new BlockItem(composite_block.get(), new Item.Properties().group(ItemGroup.MISC)) { + new BlockItem(composite_block.get(), new Item.Properties().tab(ItemGroup.TAB_MISC)) { @Override public boolean canEquip(ItemStack stack, EquipmentSlotType armorType, Entity entity) { diff --git a/src/test/java/net/minecraftforge/debug/client/model/DynBucketModelTest.java b/src/test/java/net/minecraftforge/debug/client/model/DynBucketModelTest.java index 76b535a26b..424fd31268 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/DynBucketModelTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/DynBucketModelTest.java @@ -15,8 +15,8 @@ public class DynBucketModelTest public static final String MODID = "dyn_bucket_model_test"; public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); - public static final RegistryObject DRIP_BUCKET = ITEMS.register("drip_bucket", () -> new Item(new Item.Properties().group(ItemGroup.MISC))); - public static final RegistryObject LAVA_OBSIDIAN = ITEMS.register("lava_obsidian", () -> new Item(new Item.Properties().group(ItemGroup.MISC))); + public static final RegistryObject DRIP_BUCKET = ITEMS.register("drip_bucket", () -> new Item(new Item.Properties().tab(ItemGroup.TAB_MISC))); + public static final RegistryObject LAVA_OBSIDIAN = ITEMS.register("lava_obsidian", () -> new Item(new Item.Properties().tab(ItemGroup.TAB_MISC))); public DynBucketModelTest() { diff --git a/src/test/java/net/minecraftforge/debug/client/model/MultiLayerModelTest.java b/src/test/java/net/minecraftforge/debug/client/model/MultiLayerModelTest.java index 3e9774938d..ba03506931 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/MultiLayerModelTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/MultiLayerModelTest.java @@ -53,7 +53,7 @@ public class MultiLayerModelTest if (!ENABLED) return; event.getRegistry().register( - new Block(Block.Properties.create(Material.WOOD).notSolid()) + new Block(Block.Properties.of(Material.WOOD).noOcclusion()) { }.setRegistryName(blockId) ); @@ -64,7 +64,7 @@ public class MultiLayerModelTest { if (!ENABLED) return; - event.getRegistry().register(new BlockItem(TEST_BLOCK, new Item.Properties().group(ItemGroup.MISC)).setRegistryName(TEST_BLOCK.getRegistryName())); + event.getRegistry().register(new BlockItem(TEST_BLOCK, new Item.Properties().tab(ItemGroup.TAB_MISC)).setRegistryName(TEST_BLOCK.getRegistryName())); } @net.minecraftforge.eventbus.api.SubscribeEvent @@ -73,7 +73,7 @@ public class MultiLayerModelTest if (!ENABLED) return; RenderTypeLookup.setRenderLayer(TEST_BLOCK, (layer) -> { - return layer == RenderType.getSolid() || layer == RenderType.getTranslucent(); + return layer == RenderType.solid() || layer == RenderType.translucent(); }); } } diff --git a/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java b/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java index 002b9133b5..ebbf828c6e 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java @@ -78,9 +78,9 @@ public class NewModelLoaderTest public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); public static RegistryObject obj_block = BLOCKS.register("obj_block", () -> - new Block(Block.Properties.create(Material.WOOD).hardnessAndResistance(10)) { + new Block(Block.Properties.of(Material.WOOD).strength(10)) { @Override - protected void fillStateContainer(StateContainer.Builder builder) + protected void createBlockStateDefinition(StateContainer.Builder builder) { builder.add(BlockStateProperties.HORIZONTAL_FACING); } @@ -89,21 +89,21 @@ public class NewModelLoaderTest @Override public BlockState getStateForPlacement(BlockItemUseContext context) { - return getDefaultState().with( - BlockStateProperties.HORIZONTAL_FACING, context.getPlacementHorizontalFacing() + return defaultBlockState().setValue( + BlockStateProperties.HORIZONTAL_FACING, context.getHorizontalDirection() ); } @Override public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { - return Block.makeCuboidShape(2,2,2,14,14,14); + return Block.box(2,2,2,14,14,14); } } ); public static RegistryObject obj_item = ITEMS.register("obj_block", () -> - new BlockItem(obj_block.get(), new Item.Properties().group(ItemGroup.MISC)) { + new BlockItem(obj_block.get(), new Item.Properties().tab(ItemGroup.TAB_MISC)) { @Override public boolean canEquip(ItemStack stack, EquipmentSlotType armorType, Entity entity) { @@ -113,23 +113,23 @@ public class NewModelLoaderTest ); public static RegistryObject custom_transforms = ITEMS.register("custom_transforms", () -> - new Item(new Item.Properties().group(ItemGroup.MISC)) + new Item(new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public static RegistryObject custom_vanilla_loader = ITEMS.register("custom_vanilla_loader", () -> - new Item(new Item.Properties().group(ItemGroup.MISC)) + new Item(new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public static RegistryObject custom_loader = ITEMS.register("custom_loader", () -> - new Item(new Item.Properties().group(ItemGroup.MISC)) + new Item(new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public static RegistryObject item_layers = ITEMS.register("item_layers", () -> - new Item(new Item.Properties().group(ItemGroup.MISC)) + new Item(new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public static RegistryObject separate_perspective = ITEMS.register("separate_perspective", () -> - new Item(new Item.Properties().group(ItemGroup.MISC)) + new Item(new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public NewModelLoaderTest() @@ -174,10 +174,10 @@ public class NewModelLoaderTest builder.setTexture(texture); builder.setQuadOrientation(Direction.UP); - putVertex(builder, 0,1,0.5f, texture.getInterpolatedU(0), texture.getInterpolatedV(0), 1, 1, 1); - putVertex(builder, 0,0,0.5f, texture.getInterpolatedU(0), texture.getInterpolatedV(16), 1, 1, 1); - putVertex(builder, 1,0,0.5f, texture.getInterpolatedU(16), texture.getInterpolatedV(16), 1, 1, 1); - putVertex(builder, 1,1,0.5f, texture.getInterpolatedU(16), texture.getInterpolatedV(0), 1, 1, 1); + putVertex(builder, 0,1,0.5f, texture.getU(0), texture.getV(0), 1, 1, 1); + putVertex(builder, 0,0,0.5f, texture.getU(0), texture.getV(16), 1, 1, 1); + putVertex(builder, 1,0,0.5f, texture.getU(16), texture.getV(16), 1, 1, 1); + putVertex(builder, 1,1,0.5f, texture.getU(16), texture.getV(0), 1, 1, 1); modelBuilder.addGeneralQuad(builder.build()); } 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 c504a6445d..08e0597be7 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/TRSRTransformerTest.java @@ -62,9 +62,9 @@ public class TRSRTransformerTest { private static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); private static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); - private static final RegistryObject TEST_BLOCK = BLOCKS.register("test", () -> new Block(Block.Properties.create(Material.ROCK))); + private static final RegistryObject TEST_BLOCK = BLOCKS.register("test", () -> new Block(Block.Properties.of(Material.STONE))); @SuppressWarnings("unused") - private static final RegistryObject TEST_ITEM = ITEMS.register("test", () -> new BlockItem(TEST_BLOCK.get(), new Item.Properties().group(ItemGroup.MISC))); + private static final RegistryObject TEST_ITEM = ITEMS.register("test", () -> new BlockItem(TEST_BLOCK.get(), new Item.Properties().tab(ItemGroup.TAB_MISC))); public TRSRTransformerTest() { final IEventBus mod = FMLJavaModLoadingContext.get().getModEventBus(); @@ -118,8 +118,8 @@ public class TRSRTransformerTest { } @Override - public boolean isAmbientOcclusion() { - return base.isAmbientOcclusion(); + public boolean useAmbientOcclusion() { + return base.useAmbientOcclusion(); } @Override @@ -128,18 +128,18 @@ public class TRSRTransformerTest { } @Override - public boolean isSideLit() { - return base.isSideLit(); + public boolean usesBlockLight() { + return base.usesBlockLight(); } @Override - public boolean isBuiltInRenderer() { - return base.isBuiltInRenderer(); + public boolean isCustomRenderer() { + return base.isCustomRenderer(); } @Override - public TextureAtlasSprite getParticleTexture() { - return base.getParticleTexture(); + public TextureAtlasSprite getParticleIcon() { + return base.getParticleIcon(); } @Override diff --git a/src/test/java/net/minecraftforge/debug/client/rendering/NameplateRenderingEventTest.java b/src/test/java/net/minecraftforge/debug/client/rendering/NameplateRenderingEventTest.java index 7a52d1a774..ec2ab8e555 100644 --- a/src/test/java/net/minecraftforge/debug/client/rendering/NameplateRenderingEventTest.java +++ b/src/test/java/net/minecraftforge/debug/client/rendering/NameplateRenderingEventTest.java @@ -48,13 +48,13 @@ public class NameplateRenderingEventTest if(event.getEntity() instanceof CowEntity) { - event.setContent(new StringTextComponent("Evil Cow").mergeStyle(TextFormatting.RED)); + event.setContent(new StringTextComponent("Evil Cow").withStyle(TextFormatting.RED)); event.setResult(Event.Result.ALLOW); } if(event.getEntity() instanceof PlayerEntity) { - event.setContent(event.getEntity().getDisplayName().deepCopy().mergeStyle(TextFormatting.GOLD)); + event.setContent(event.getEntity().getDisplayName().copy().withStyle(TextFormatting.GOLD)); } } } diff --git a/src/test/java/net/minecraftforge/debug/client/rendering/RenderLocalPlayerTest.java b/src/test/java/net/minecraftforge/debug/client/rendering/RenderLocalPlayerTest.java index 9f6b8b7ccc..7d96a6b074 100644 --- a/src/test/java/net/minecraftforge/debug/client/rendering/RenderLocalPlayerTest.java +++ b/src/test/java/net/minecraftforge/debug/client/rendering/RenderLocalPlayerTest.java @@ -40,9 +40,9 @@ public class RenderLocalPlayerTest if (ENABLED && event.getItemStack().getItem() == Items.STICK) { Minecraft mc = Minecraft.getInstance(); - if (mc.getRenderViewEntity() == mc.player) + if (mc.getCameraEntity() == mc.player) { - mc.setRenderViewEntity(event.getTarget()); + mc.setCameraEntity(event.getTarget()); event.setCancellationResult(ActionResultType.SUCCESS); event.setCanceled(true); @@ -56,9 +56,9 @@ public class RenderLocalPlayerTest if (ENABLED && event.getItemStack().getItem() == Items.STICK) { Minecraft mc = Minecraft.getInstance(); - if (mc.getRenderViewEntity() != mc.player) + if (mc.getCameraEntity() != mc.player) { - mc.setRenderViewEntity(mc.player); + mc.setCameraEntity(mc.player); event.setCancellationResult(ActionResultType.SUCCESS); event.setCanceled(true); diff --git a/src/test/java/net/minecraftforge/debug/client/rendering/StencilEnableTest.java b/src/test/java/net/minecraftforge/debug/client/rendering/StencilEnableTest.java index ca5312c282..2d974168a4 100644 --- a/src/test/java/net/minecraftforge/debug/client/rendering/StencilEnableTest.java +++ b/src/test/java/net/minecraftforge/debug/client/rendering/StencilEnableTest.java @@ -36,6 +36,6 @@ public class StencilEnableTest { private void clientSetup(FMLClientSetupEvent event) { if (ENABLED) - event.enqueueWork(() -> Minecraft.getInstance().getFramebuffer().enableStencil()); + event.enqueueWork(() -> Minecraft.getInstance().getMainRenderTarget().enableStencil()); } } diff --git a/src/test/java/net/minecraftforge/debug/entity/AddEntityAttributeTest.java b/src/test/java/net/minecraftforge/debug/entity/AddEntityAttributeTest.java index 513bd5a10f..95e7f5aafb 100644 --- a/src/test/java/net/minecraftforge/debug/entity/AddEntityAttributeTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/AddEntityAttributeTest.java @@ -32,7 +32,7 @@ import net.minecraftforge.registries.DeferredRegister; public class AddEntityAttributeTest { public static final boolean ENABLE = true; private static final DeferredRegister ATTRIBUTES = DeferredRegister.create(Attribute.class, "add_entity_attribute_test"); - public static final RegistryObject TEST_ATTR = ATTRIBUTES.register("test_attr", () -> new RangedAttribute("forge.test_attr", 1.0D, 0.0D, 1024.0D).setShouldWatch(true)); + public static final RegistryObject TEST_ATTR = ATTRIBUTES.register("test_attr", () -> new RangedAttribute("forge.test_attr", 1.0D, 0.0D, 1024.0D).setSyncable(true)); public AddEntityAttributeTest() { if (ENABLE) { diff --git a/src/test/java/net/minecraftforge/debug/entity/GravityAttributeTest.java b/src/test/java/net/minecraftforge/debug/entity/GravityAttributeTest.java index 1a0e9173f8..41025caf47 100644 --- a/src/test/java/net/minecraftforge/debug/entity/GravityAttributeTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/GravityAttributeTest.java @@ -52,6 +52,8 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraft.item.Item.Properties; + @Mod("gravity_attribute_test") public class GravityAttributeTest { @@ -74,18 +76,18 @@ public class GravityAttributeTest @SubscribeEvent public void worldTick(TickEvent.WorldTickEvent event) { - if (!event.world.isRemote) + if (!event.world.isClientSide) { if (ticks++ > 60) { ticks = 0; World w = event.world; List list; - if(w.isRemote) + if(w.isClientSide) { ClientWorld cw = (ClientWorld)w; list = new ArrayList<>(100); - for(Entity e : cw.getAllEntities()) + for(Entity e : cw.entitiesForRendering()) { if(e.isAlive() && e instanceof LivingEntity) list.add((LivingEntity)e); @@ -101,11 +103,11 @@ public class GravityAttributeTest for(LivingEntity liv : list) { ModifiableAttributeInstance grav = liv.getAttribute(ForgeMod.ENTITY_GRAVITY.get()); - boolean inPlains = liv.world.getBiome(liv.getPosition()).getCategory() == Category.PLAINS; + boolean inPlains = liv.level.getBiome(liv.blockPosition()).getBiomeCategory() == Category.PLAINS; if (inPlains && !grav.hasModifier(REDUCED_GRAVITY)) { logger.info("Granted low gravity to Entity: {}", liv); - grav.applyNonPersistentModifier(REDUCED_GRAVITY); + grav.addTransientModifier(REDUCED_GRAVITY); } else if (!inPlains && grav.hasModifier(REDUCED_GRAVITY)) { @@ -121,7 +123,7 @@ public class GravityAttributeTest @SubscribeEvent public void registerItems(RegistryEvent.Register event) { - event.getRegistry().register(new ItemGravityStick(new Item.Properties().group(ItemGroup.TOOLS).rarity(Rarity.RARE)).setRegistryName("gravity_attribute_test:gravity_stick")); + event.getRegistry().register(new ItemGravityStick(new Item.Properties().tab(ItemGroup.TAB_TOOLS).rarity(Rarity.RARE)).setRegistryName("gravity_attribute_test:gravity_stick")); } public static class ItemGravityStick extends Item @@ -134,10 +136,10 @@ public class GravityAttributeTest } @Override - public Multimap getAttributeModifiers(EquipmentSlotType slot) + public Multimap getDefaultAttributeModifiers(EquipmentSlotType slot) { @SuppressWarnings("deprecation") - Multimap multimap = super.getAttributeModifiers(slot); + Multimap multimap = super.getDefaultAttributeModifiers(slot); if (slot == EquipmentSlotType.MAINHAND) multimap.put(ForgeMod.ENTITY_GRAVITY.get(), new AttributeModifier(GRAVITY_MODIFIER, "More Gravity", 1.0D, Operation.ADDITION)); diff --git a/src/test/java/net/minecraftforge/debug/entity/living/LivingConversionEventTest.java b/src/test/java/net/minecraftforge/debug/entity/living/LivingConversionEventTest.java index 75fc5adf79..e4ac98a380 100644 --- a/src/test/java/net/minecraftforge/debug/entity/living/LivingConversionEventTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/living/LivingConversionEventTest.java @@ -48,6 +48,6 @@ public class LivingConversionEventTest public void onLivingConversion(LivingConversionEvent.Post event) { if (event.getEntityLiving() instanceof VillagerEntity) - event.getEntityLiving().addPotionEffect(new EffectInstance(Effects.LUCK, 20)); + event.getEntityLiving().addEffect(new EffectInstance(Effects.LUCK, 20)); } } diff --git a/src/test/java/net/minecraftforge/debug/entity/player/PlayerGameModeEventTest.java b/src/test/java/net/minecraftforge/debug/entity/player/PlayerGameModeEventTest.java index 45b36eca56..bf6cff9b35 100644 --- a/src/test/java/net/minecraftforge/debug/entity/player/PlayerGameModeEventTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/player/PlayerGameModeEventTest.java @@ -48,6 +48,6 @@ public class PlayerGameModeEventTest public static void onClientPlayerChangeGameModeEvent(ClientPlayerChangeGameModeEvent event) { if (!ENABLE) return; - LOGGER.info("Client notified of changed game mode from '{}'. Current GameType: {}. New Game Type: {}", event.getInfo().getGameProfile(), event.getCurrentGameMode(), event.getNewGameMode()); + LOGGER.info("Client notified of changed game mode from '{}'. Current GameType: {}. New Game Type: {}", event.getInfo().getProfile(), event.getCurrentGameMode(), event.getNewGameMode()); } } diff --git a/src/test/java/net/minecraftforge/debug/entity/player/PlayerXpEventTest.java b/src/test/java/net/minecraftforge/debug/entity/player/PlayerXpEventTest.java index 9cfcd5381a..5d344805f7 100644 --- a/src/test/java/net/minecraftforge/debug/entity/player/PlayerXpEventTest.java +++ b/src/test/java/net/minecraftforge/debug/entity/player/PlayerXpEventTest.java @@ -45,7 +45,7 @@ public class PlayerXpEventTest public static void onPlayerPickupXp(PlayerXpEvent.PickupXp event) { if (!ENABLE) return; - logger.info("{} picked up an experience orb worth {}", event.getPlayer().getName().getString(), event.getOrb().getXpValue()); + logger.info("{} picked up an experience orb worth {}", event.getPlayer().getName().getString(), event.getOrb().getValue()); } @SubscribeEvent diff --git a/src/test/java/net/minecraftforge/debug/fluid/FiniteWaterTest.java b/src/test/java/net/minecraftforge/debug/fluid/FiniteWaterTest.java index 4912f2df8e..a301459f00 100644 --- a/src/test/java/net/minecraftforge/debug/fluid/FiniteWaterTest.java +++ b/src/test/java/net/minecraftforge/debug/fluid/FiniteWaterTest.java @@ -40,11 +40,11 @@ public class FiniteWaterTest { BlockState state = event.getState(); FluidState fluidState = state.getFluidState(); - if (fluidState.getFluid().isEquivalentTo(Fluids.WATER)) + if (fluidState.getType().isSame(Fluids.WATER)) { event.setResult(Event.Result.DENY); } - else if (fluidState.getFluid().isEquivalentTo(Fluids.LAVA)) + else if (fluidState.getType().isSame(Fluids.LAVA)) { event.setResult(Event.Result.ALLOW); } diff --git a/src/test/java/net/minecraftforge/debug/fluid/MilkFluidTest.java b/src/test/java/net/minecraftforge/debug/fluid/MilkFluidTest.java index f2ea7b7445..160152a41a 100644 --- a/src/test/java/net/minecraftforge/debug/fluid/MilkFluidTest.java +++ b/src/test/java/net/minecraftforge/debug/fluid/MilkFluidTest.java @@ -48,7 +48,7 @@ public class MilkFluidTest ItemStack stack = event.getItemStack(); if (stack.getItem() == Items.MILK_BUCKET) { - FluidUtil.getFluidContained(stack).ifPresent((fluid) -> event.getPlayer().sendStatusMessage(new StringTextComponent("Contains ").append(fluid.getDisplayName()), true)); + FluidUtil.getFluidContained(stack).ifPresent((fluid) -> event.getPlayer().displayClientMessage(new StringTextComponent("Contains ").append(fluid.getDisplayName()), true)); } } } diff --git a/src/test/java/net/minecraftforge/debug/fluid/NewFluidTest.java b/src/test/java/net/minecraftforge/debug/fluid/NewFluidTest.java index 4ba3bd26a7..2c1aa29c89 100644 --- a/src/test/java/net/minecraftforge/debug/fluid/NewFluidTest.java +++ b/src/test/java/net/minecraftforge/debug/fluid/NewFluidTest.java @@ -48,6 +48,8 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; +import net.minecraft.block.AbstractBlock.Properties; + @Mod(NewFluidTest.MODID) public class NewFluidTest { @@ -76,18 +78,18 @@ public class NewFluidTest ); public static RegistryObject test_fluid_block = BLOCKS.register("test_fluid_block", () -> - new FlowingFluidBlock(test_fluid, Block.Properties.create(net.minecraft.block.material.Material.WATER).doesNotBlockMovement().hardnessAndResistance(100.0F).noDrops()) + new FlowingFluidBlock(test_fluid, Block.Properties.of(net.minecraft.block.material.Material.WATER).noCollission().strength(100.0F).noDrops()) ); public static RegistryObject test_fluid_bucket = ITEMS.register("test_fluid_bucket", () -> - new BucketItem(test_fluid, new Item.Properties().containerItem(Items.BUCKET).maxStackSize(1).group(ItemGroup.MISC)) + new BucketItem(test_fluid, new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1).tab(ItemGroup.TAB_MISC)) ); // WARNING: this doesn't allow "any fluid", only the fluid from this test mod! public static RegistryObject fluidloggable_block = BLOCKS.register("fluidloggable_block", () -> - new FluidloggableBlock(Block.Properties.create(Material.WOOD).doesNotBlockMovement().hardnessAndResistance(100.0F).noDrops()) + new FluidloggableBlock(Block.Properties.of(Material.WOOD).noCollission().strength(100.0F).noDrops()) ); public static RegistryObject fluidloggable_blockitem = ITEMS.register("fluidloggable_block", () -> - new BlockItem(fluidloggable_block.get(), new Item.Properties().group(ItemGroup.MISC)) + new BlockItem(fluidloggable_block.get(), new Item.Properties().tab(ItemGroup.TAB_MISC)) ); public NewFluidTest() @@ -104,12 +106,12 @@ public class NewFluidTest public void loadComplete(FMLLoadCompleteEvent event) { // some sanity checks - BlockState state = Fluids.WATER.getDefaultState().getBlockState(); - BlockState state2 = Fluids.WATER.getAttributes().getBlock(null,null,Fluids.WATER.getDefaultState()); + BlockState state = Fluids.WATER.defaultFluidState().createLegacyBlock(); + BlockState state2 = Fluids.WATER.getAttributes().getBlock(null,null,Fluids.WATER.defaultFluidState()); Validate.isTrue(state.getBlock() == Blocks.WATER && state2 == state); ItemStack stack = Fluids.WATER.getAttributes().getBucket(new FluidStack(Fluids.WATER, 1)); - Validate.isTrue(stack.getItem() == Fluids.WATER.getFilledBucket()); - event.enqueueWork(() -> DispenserBlock.registerDispenseBehavior(test_fluid_bucket.get(), DispenseFluidContainer.getInstance())); + Validate.isTrue(stack.getItem() == Fluids.WATER.getBucket()); + event.enqueueWork(() -> DispenserBlock.registerBehavior(test_fluid_bucket.get(), DispenseFluidContainer.getInstance())); } // WARNING: this doesn't allow "any fluid", only the fluid from this test mod! @@ -120,26 +122,26 @@ public class NewFluidTest public FluidloggableBlock(Properties properties) { super(properties); - setDefaultState(getStateContainer().getBaseState().with(FLUIDLOGGED, false)); + registerDefaultState(getStateDefinition().any().setValue(FLUIDLOGGED, false)); } @Override - protected void fillStateContainer(StateContainer.Builder builder) + protected void createBlockStateDefinition(StateContainer.Builder builder) { builder.add(FLUIDLOGGED); } @Override - public boolean canContainFluid(IBlockReader worldIn, BlockPos pos, BlockState state, Fluid fluidIn) { - return !state.get(FLUIDLOGGED) && fluidIn == test_fluid.get(); + public boolean canPlaceLiquid(IBlockReader worldIn, BlockPos pos, BlockState state, Fluid fluidIn) { + return !state.getValue(FLUIDLOGGED) && fluidIn == test_fluid.get(); } @Override - public boolean receiveFluid(IWorld worldIn, BlockPos pos, BlockState state, FluidState fluidStateIn) { - if (canContainFluid(worldIn, pos, state, fluidStateIn.getFluid())) { - if (!worldIn.isRemote()) { - worldIn.setBlockState(pos, state.with(FLUIDLOGGED, true), 3); - worldIn.getPendingFluidTicks().scheduleTick(pos, fluidStateIn.getFluid(), fluidStateIn.getFluid().getTickRate(worldIn)); + public boolean placeLiquid(IWorld worldIn, BlockPos pos, BlockState state, FluidState fluidStateIn) { + if (canPlaceLiquid(worldIn, pos, state, fluidStateIn.getType())) { + if (!worldIn.isClientSide()) { + worldIn.setBlock(pos, state.setValue(FLUIDLOGGED, true), 3); + worldIn.getLiquidTicks().scheduleTick(pos, fluidStateIn.getType(), fluidStateIn.getType().getTickDelay(worldIn)); } return true; @@ -149,9 +151,9 @@ public class NewFluidTest } @Override - public Fluid pickupFluid(IWorld worldIn, BlockPos pos, BlockState state) { - if (state.get(FLUIDLOGGED)) { - worldIn.setBlockState(pos, state.with(FLUIDLOGGED, false), 3); + public Fluid takeLiquid(IWorld worldIn, BlockPos pos, BlockState state) { + if (state.getValue(FLUIDLOGGED)) { + worldIn.setBlock(pos, state.setValue(FLUIDLOGGED, false), 3); return test_fluid.get(); } else { return Fluids.EMPTY; @@ -161,7 +163,7 @@ public class NewFluidTest @Override public FluidState getFluidState(BlockState state) { - return state.get(FLUIDLOGGED) ? test_fluid.get().getDefaultState() : Fluids.EMPTY.getDefaultState(); + return state.getValue(FLUIDLOGGED) ? test_fluid.get().defaultFluidState() : Fluids.EMPTY.defaultFluidState(); } } } diff --git a/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java b/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java index c8e23fa16a..72474c2df5 100644 --- a/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java +++ b/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java @@ -112,8 +112,8 @@ public class GlobalLootModifiersTest { { add("smelting", SMELTING.get(), new SmeltingEnchantmentModifier( new ILootCondition[]{ - MatchTool.builder( - ItemPredicate.Builder.create().enchantment( + MatchTool.toolMatches( + ItemPredicate.Builder.item().hasEnchantment( new EnchantmentPredicate(SMELT.get(), MinMaxBounds.IntBound.atLeast(1)))) .build() }) @@ -121,8 +121,8 @@ public class GlobalLootModifiersTest { add("wheat_harvest", WHEATSEEDS.get(), new WheatSeedsConverterModifier( new ILootCondition[] { - MatchTool.builder(ItemPredicate.Builder.create().item(Items.SHEARS)).build(), - BlockStateProperty.builder(Blocks.WHEAT).build() + MatchTool.toolMatches(ItemPredicate.Builder.item().of(Items.SHEARS)).build(), + BlockStateProperty.hasBlockStateProperties(Blocks.WHEAT).build() }, 3, Items.WHEAT_SEEDS, Items.WHEAT) ); @@ -157,8 +157,8 @@ public class GlobalLootModifiersTest { } private static ItemStack smelt(ItemStack stack, LootContext context) { - return context.getWorld().getRecipeManager().getRecipe(IRecipeType.SMELTING, new Inventory(stack), context.getWorld()) - .map(FurnaceRecipe::getRecipeOutput) + return context.getLevel().getRecipeManager().getRecipeFor(IRecipeType.SMELTING, new Inventory(stack), context.getLevel()) + .map(FurnaceRecipe::getResultItem) .filter(itemStack -> !itemStack.isEmpty()) .map(itemStack -> ItemHandlerHelper.copyStackWithSize(itemStack, stack.getCount() * itemStack.getCount())) .orElse(stack); @@ -189,16 +189,16 @@ public class GlobalLootModifiersTest { @Nonnull @Override public List doApply(List generatedLoot, LootContext context) { - ItemStack ctxTool = context.get(LootParameters.TOOL); + ItemStack ctxTool = context.getParamOrNull(LootParameters.TOOL); //return early if silk-touch is already applied (otherwise we'll get stuck in an infinite loop). if(EnchantmentHelper.getEnchantments(ctxTool).containsKey(Enchantments.SILK_TOUCH)) return generatedLoot; ItemStack fakeTool = ctxTool.copy(); - fakeTool.addEnchantment(Enchantments.SILK_TOUCH, 1); + fakeTool.enchant(Enchantments.SILK_TOUCH, 1); LootContext.Builder builder = new LootContext.Builder(context); builder.withParameter(LootParameters.TOOL, fakeTool); - LootContext ctx = builder.build(LootParameterSets.BLOCK); - LootTable loottable = context.getWorld().getServer().getLootTableManager().getLootTableFromLocation(context.get(LootParameters.BLOCK_STATE).getBlock().getLootTable()); - return loottable.generate(ctx); + LootContext ctx = builder.create(LootParameterSets.BLOCK); + LootTable loottable = context.getLevel().getServer().getLootTables().get(context.getParamOrNull(LootParameters.BLOCK_STATE).getBlock().getLootTable()); + return loottable.getRandomItems(ctx); } private static class Serializer extends GlobalLootModifierSerializer { @@ -256,9 +256,9 @@ public class GlobalLootModifiersTest { @Override public WheatSeedsConverterModifier read(ResourceLocation name, JsonObject object, ILootCondition[] conditionsIn) { - int numSeeds = JSONUtils.getInt(object, "numSeeds"); - Item seed = ForgeRegistries.ITEMS.getValue(new ResourceLocation((JSONUtils.getString(object, "seedItem")))); - Item wheat = ForgeRegistries.ITEMS.getValue(new ResourceLocation(JSONUtils.getString(object, "replacement"))); + int numSeeds = JSONUtils.getAsInt(object, "numSeeds"); + Item seed = ForgeRegistries.ITEMS.getValue(new ResourceLocation((JSONUtils.getAsString(object, "seedItem")))); + Item wheat = ForgeRegistries.ITEMS.getValue(new ResourceLocation(JSONUtils.getAsString(object, "replacement"))); return new WheatSeedsConverterModifier(conditionsIn, numSeeds, seed, wheat); } @@ -296,7 +296,7 @@ public class GlobalLootModifiersTest { private static class Serializer extends GlobalLootModifierSerializer { @Override public DungeonLootEnhancerModifier read(ResourceLocation location, JsonObject object, ILootCondition[] conditions) { - final int multiplicationFactor = JSONUtils.getInt(object, "multiplication_factor", 2); + final int multiplicationFactor = JSONUtils.getAsInt(object, "multiplication_factor", 2); if (multiplicationFactor <= 0) throw new JsonParseException("Unable to set a multiplication factor to a number lower than 1"); return new DungeonLootEnhancerModifier(conditions, multiplicationFactor); } diff --git a/src/test/java/net/minecraftforge/debug/item/CustomElytraTest.java b/src/test/java/net/minecraftforge/debug/item/CustomElytraTest.java index 06886c1fee..b03c5b9ae1 100644 --- a/src/test/java/net/minecraftforge/debug/item/CustomElytraTest.java +++ b/src/test/java/net/minecraftforge/debug/item/CustomElytraTest.java @@ -41,13 +41,15 @@ import net.minecraftforge.registries.ForgeRegistries; import javax.annotation.Nullable; +import net.minecraft.item.Item.Properties; + @Mod(CustomElytraTest.MOD_ID) @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = CustomElytraTest.MOD_ID) public class CustomElytraTest { public static final String MOD_ID = "custom_elytra_test"; private static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - private static final RegistryObject TEST_ELYTRA = ITEMS.register("test_elytra",() -> new CustomElytra(new Item.Properties().maxDamage(100).group(ItemGroup.MISC))); + private static final RegistryObject TEST_ELYTRA = ITEMS.register("test_elytra",() -> new CustomElytra(new Item.Properties().durability(100).tab(ItemGroup.TAB_MISC))); public CustomElytraTest() { @@ -64,7 +66,7 @@ public class CustomElytraTest @OnlyIn(Dist.CLIENT) private void registerElytraLayer() { - Minecraft.getInstance().getRenderManager().getSkinMap().values().forEach(player -> player.addLayer(new CustomElytraLayer(player))); + Minecraft.getInstance().getEntityRenderDispatcher().getSkinMap().values().forEach(player -> player.addLayer(new CustomElytraLayer(player))); } public static class CustomElytra extends Item @@ -73,7 +75,7 @@ public class CustomElytraTest public CustomElytra(Properties properties) { super(properties); - DispenserBlock.registerDispenseBehavior(this, ArmorItem.DISPENSER_BEHAVIOR); + DispenserBlock.registerBehavior(this, ArmorItem.DISPENSE_ITEM_BEHAVIOR); } @Nullable @@ -93,9 +95,9 @@ public class CustomElytraTest public boolean elytraFlightTick(ItemStack stack, LivingEntity entity, int flightTicks) { //Adding 1 to ticksElytraFlying prevents damage on the very first tick. - if (!entity.world.isRemote && (flightTicks + 1) % 20 == 0) + if (!entity.level.isClientSide && (flightTicks + 1) % 20 == 0) { - stack.damageItem(1, entity, e -> e.sendBreakAnimation(EquipmentSlotType.CHEST)); + stack.hurtAndBreak(1, entity, e -> e.broadcastBreakEvent(EquipmentSlotType.CHEST)); } return true; } diff --git a/src/test/java/net/minecraftforge/debug/item/EnderMaskTest.java b/src/test/java/net/minecraftforge/debug/item/EnderMaskTest.java index 67c0f76ce0..15f95a88f8 100644 --- a/src/test/java/net/minecraftforge/debug/item/EnderMaskTest.java +++ b/src/test/java/net/minecraftforge/debug/item/EnderMaskTest.java @@ -37,7 +37,7 @@ public class EnderMaskTest public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); public static RegistryObject ender_mask = ITEMS.register("ender_mask", () -> - new ArmorItem(ArmorMaterial.LEATHER, EquipmentSlotType.HEAD, (new Item.Properties().group(ItemGroup.MISC))) + new ArmorItem(ArmorMaterial.LEATHER, EquipmentSlotType.HEAD, (new Item.Properties().tab(ItemGroup.TAB_MISC))) { @Override public boolean isEnderMask(ItemStack stack, PlayerEntity player, EndermanEntity endermanEntity) diff --git a/src/test/java/net/minecraftforge/debug/item/MusicDiscTest.java b/src/test/java/net/minecraftforge/debug/item/MusicDiscTest.java index 0a629ce5c8..969ff199dd 100644 --- a/src/test/java/net/minecraftforge/debug/item/MusicDiscTest.java +++ b/src/test/java/net/minecraftforge/debug/item/MusicDiscTest.java @@ -44,7 +44,7 @@ public class MusicDiscTest () -> new SoundEvent(new ResourceLocation(MOD_ID, "test_sound_event"))); private static final RegistryObject TEST_MUSIC_DISC = ITEMS.register("test_music_disc", - () -> new MusicDiscItem(1, TEST_SOUND_EVENT, new Item.Properties().maxStackSize(1).rarity(Rarity.EPIC))); + () -> new MusicDiscItem(1, TEST_SOUND_EVENT, new Item.Properties().stacksTo(1).rarity(Rarity.EPIC))); public MusicDiscTest() { diff --git a/src/test/java/net/minecraftforge/debug/misc/ContainerTypeTest.java b/src/test/java/net/minecraftforge/debug/misc/ContainerTypeTest.java index b33d336483..ca448dec58 100644 --- a/src/test/java/net/minecraftforge/debug/misc/ContainerTypeTest.java +++ b/src/test/java/net/minecraftforge/debug/misc/ContainerTypeTest.java @@ -58,7 +58,7 @@ public class ContainerTypeTest protected TestContainer(int windowId, PlayerInventory playerInv, PacketBuffer extraData) { - this(windowId, new Inventory(9), extraData.readString(128)); + this(windowId, new Inventory(9), extraData.readUtf(128)); } public TestContainer(int windowId, Inventory inv, String text) @@ -72,7 +72,7 @@ public class ContainerTypeTest } @Override - public boolean canInteractWith(PlayerEntity playerIn) + public boolean stillValid(PlayerEntity playerIn) { return true; } @@ -86,9 +86,9 @@ public class ContainerTypeTest } @Override - protected void drawGuiContainerBackgroundLayer(MatrixStack mStack, float partialTicks, int mouseX, int mouseY) + protected void renderBg(MatrixStack mStack, float partialTicks, int mouseX, int mouseY) { - drawString(mStack, this.font, getContainer().text, mouseX, mouseY, -1); + drawString(mStack, this.font, getMenu().text, mouseX, mouseY, -1); } } @@ -106,12 +106,12 @@ public class ContainerTypeTest private void setup(FMLClientSetupEvent event) { - ScreenManager.registerFactory(TYPE, TestGui::new); + ScreenManager.register(TYPE, TestGui::new); } private void onRightClick(PlayerInteractEvent.RightClickBlock event) { - if (!event.getWorld().isRemote && event.getHand() == Hand.MAIN_HAND) + if (!event.getWorld().isClientSide && event.getHand() == Hand.MAIN_HAND) { if (event.getWorld().getBlockState(event.getPos()).getBlock() == Blocks.SPONGE) { @@ -122,9 +122,9 @@ public class ContainerTypeTest public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) { Inventory inv = new Inventory(9); - for (int i = 0; i < inv.getSizeInventory(); i++) + for (int i = 0; i < inv.getContainerSize(); i++) { - inv.setInventorySlotContents(i, new ItemStack(Items.DIAMOND)); + inv.setItem(i, new ItemStack(Items.DIAMOND)); } return new TestContainer(p_createMenu_1_, inv, text); } @@ -135,7 +135,7 @@ public class ContainerTypeTest return new StringTextComponent("Test"); } }, extraData -> { - extraData.writeString(text); + extraData.writeUtf(text); }); } } diff --git a/src/test/java/net/minecraftforge/debug/misc/CustomTagTypesTest.java b/src/test/java/net/minecraftforge/debug/misc/CustomTagTypesTest.java index c50b95d056..830cfd464f 100644 --- a/src/test/java/net/minecraftforge/debug/misc/CustomTagTypesTest.java +++ b/src/test/java/net/minecraftforge/debug/misc/CustomTagTypesTest.java @@ -101,10 +101,10 @@ public class CustomTagTypesTest ItemStack itemStack = event.getItemStack(); if (!itemStack.isEmpty()) { - LOGGER.info("{} {} {}", Items.BONE.getTags(), OPTIONAL_TEST.getAllElements().size(), TagCollectionManager.getManager().getItemTags().get(new ResourceLocation(MODID, "optional_test"))); + LOGGER.info("{} {} {}", Items.BONE.getTags(), OPTIONAL_TEST.getValues().size(), TagCollectionManager.getInstance().getItems().getTag(new ResourceLocation(MODID, "optional_test"))); EnchantmentHelper.getEnchantments(itemStack).forEach((enchantment, level) -> logTagsIfPresent(enchantment.getTags())); - if (itemStack.getItem() instanceof PotionItem) logTagsIfPresent(PotionUtils.getPotionFromItem(itemStack).getTags()); - TileEntity tileEntity = event.getWorld().getTileEntity(event.getPos()); + if (itemStack.getItem() instanceof PotionItem) logTagsIfPresent(PotionUtils.getPotion(itemStack).getTags()); + TileEntity tileEntity = event.getWorld().getBlockEntity(event.getPos()); if (tileEntity != null) logTagsIfPresent(tileEntity.getType().getTags()); } } @@ -119,7 +119,7 @@ public class CustomTagTypesTest public static class Custom extends ForgeRegistryEntry { - private final ReverseTagWrapper reverseTags = new ReverseTagWrapper<>(this, () -> TagCollectionManager.getManager().getCustomTypeCollection(CUSTOM_REG.get())); + private final ReverseTagWrapper reverseTags = new ReverseTagWrapper<>(this, () -> TagCollectionManager.getInstance().getCustomTypeCollection(CUSTOM_REG.get())); public Set getTags() { @@ -140,9 +140,9 @@ public class CustomTagTypesTest } @Override - protected void registerTags() + protected void addTags() { - getOrCreateBuilder(TESTS).addItemEntry(CUSTOM.get()); + tag(TESTS).add(CUSTOM.get()); } @Override @@ -160,9 +160,9 @@ public class CustomTagTypesTest } @Override - protected void registerTags() + protected void addTags() { - getOrCreateBuilder(FIRE).add(Enchantments.FIRE_ASPECT, Enchantments.FLAME); + tag(FIRE).add(Enchantments.FIRE_ASPECT, Enchantments.FLAMING_ARROWS); } @Override @@ -180,9 +180,9 @@ public class CustomTagTypesTest } @Override - protected void registerTags() + protected void addTags() { - getOrCreateBuilder(DAMAGE).add(Potions.HARMING, Potions.STRONG_HARMING); + tag(DAMAGE).add(Potions.HARMING, Potions.STRONG_HARMING); } @Override @@ -200,9 +200,9 @@ public class CustomTagTypesTest } @Override - protected void registerTags() + protected void addTags() { - getOrCreateBuilder(STORAGE).add(TileEntityType.BARREL, TileEntityType.CHEST, TileEntityType.ENDER_CHEST); + tag(STORAGE).add(TileEntityType.BARREL, TileEntityType.CHEST, TileEntityType.ENDER_CHEST); } @Override diff --git a/src/test/java/net/minecraftforge/debug/world/ChunkWatchEventTest.java b/src/test/java/net/minecraftforge/debug/world/ChunkWatchEventTest.java index eba60589e1..974bd83905 100644 --- a/src/test/java/net/minecraftforge/debug/world/ChunkWatchEventTest.java +++ b/src/test/java/net/minecraftforge/debug/world/ChunkWatchEventTest.java @@ -55,28 +55,28 @@ public class ChunkWatchEventTest @SubscribeEvent public static void onUnwatch(ChunkWatchEvent.UnWatch event) { - int watched = watchedByPlayer.getInt(event.getPlayer().getUniqueID()); + int watched = watchedByPlayer.getInt(event.getPlayer().getUUID()); --watched; - watchedByPlayer.put(event.getPlayer().getUniqueID(), watched); + watchedByPlayer.put(event.getPlayer().getUUID(), watched); logger.info("Unwatching chunk {} in dimension {}. Player's dimension: {}, total chunks watched by player {}", - event.getPos(), getDimensionName(event.getWorld()), getDimensionName(event.getPlayer().getEntityWorld()), + event.getPos(), getDimensionName(event.getWorld()), getDimensionName(event.getPlayer().getCommandSenderWorld()), watched); } @SubscribeEvent public static void onWatch(ChunkWatchEvent.Watch event) { - int watched = watchedByPlayer.getInt(event.getPlayer().getUniqueID()); + int watched = watchedByPlayer.getInt(event.getPlayer().getUUID()); ++watched; - watchedByPlayer.put(event.getPlayer().getUniqueID(), watched); + watchedByPlayer.put(event.getPlayer().getUUID(), watched); logger.info("Watching chunk {} in dimension {}. Player's dimension: {}, total chunks watched by player {}", - event.getPos(), getDimensionName(event.getWorld()), getDimensionName(event.getPlayer().getEntityWorld()), + event.getPos(), getDimensionName(event.getWorld()), getDimensionName(event.getPlayer().getCommandSenderWorld()), watched); } @Nullable private static ResourceLocation getDimensionName(World w) { - return w.getDimensionKey().getLocation(); + return w.dimension().location(); } } diff --git a/src/test/java/net/minecraftforge/debug/world/ForgeChunkManagerTest.java b/src/test/java/net/minecraftforge/debug/world/ForgeChunkManagerTest.java index 22bcbac481..8ff5ae9dce 100644 --- a/src/test/java/net/minecraftforge/debug/world/ForgeChunkManagerTest.java +++ b/src/test/java/net/minecraftforge/debug/world/ForgeChunkManagerTest.java @@ -45,6 +45,8 @@ import net.minecraftforge.registries.ForgeRegistries; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import net.minecraft.block.AbstractBlock.Properties; + @Mod(ForgeChunkManagerTest.MODID) public class ForgeChunkManagerTest { @@ -52,8 +54,8 @@ public class ForgeChunkManagerTest private static final Logger LOGGER = LogManager.getLogger(MODID); private static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MODID); private static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); - private static final RegistryObject CHUNK_LOADER_BLOCK = BLOCKS.register("chunk_loader", () -> new ChunkLoaderBlock(AbstractBlock.Properties.create(Material.ROCK))); - private static final RegistryObject CHUNK_LOADER_ITEM = ITEMS.register("chunk_loader", () -> new BlockItem(CHUNK_LOADER_BLOCK.get(), new Item.Properties().group(ItemGroup.MISC))); + private static final RegistryObject CHUNK_LOADER_BLOCK = BLOCKS.register("chunk_loader", () -> new ChunkLoaderBlock(AbstractBlock.Properties.of(Material.STONE))); + private static final RegistryObject CHUNK_LOADER_ITEM = ITEMS.register("chunk_loader", () -> new BlockItem(CHUNK_LOADER_BLOCK.get(), new Item.Properties().tab(ItemGroup.TAB_MISC))); public ForgeChunkManagerTest() { @@ -71,7 +73,7 @@ public class ForgeChunkManagerTest BlockPos key = entry.getKey(); int ticketCount = entry.getValue().getFirst().size(); int tickingTicketCount = entry.getValue().getSecond().size(); - if (world.getBlockState(key).isIn(CHUNK_LOADER_BLOCK.get())) + if (world.getBlockState(key).is(CHUNK_LOADER_BLOCK.get())) LOGGER.info("Allowing {} chunk tickets and {} ticking chunk tickets to be reinstated for position: {}.", ticketCount, tickingTicketCount, key); else { @@ -98,9 +100,9 @@ public class ForgeChunkManagerTest } @Override - public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) + public void onPlace(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) { - super.onBlockAdded(state, worldIn, pos, oldState, isMoving); + super.onPlace(state, worldIn, pos, oldState, isMoving); if (worldIn instanceof ServerWorld) { ChunkPos chunkPos = new ChunkPos(pos); @@ -109,10 +111,10 @@ public class ForgeChunkManagerTest } @Deprecated - public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) + public void onRemove(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) { - super.onReplaced(state, worldIn, pos, newState, isMoving); - if (worldIn instanceof ServerWorld && !state.isIn(newState.getBlock())) + super.onRemove(state, worldIn, pos, newState, isMoving); + if (worldIn instanceof ServerWorld && !state.is(newState.getBlock())) { ChunkPos chunkPos = new ChunkPos(pos); ForgeChunkManager.forceChunk((ServerWorld) worldIn, MODID, pos, chunkPos.x, chunkPos.z, false, false); diff --git a/src/test/java/net/minecraftforge/debug/world/ForgeWorldTypeTest.java b/src/test/java/net/minecraftforge/debug/world/ForgeWorldTypeTest.java index baaa118df2..9e07be68f9 100644 --- a/src/test/java/net/minecraftforge/debug/world/ForgeWorldTypeTest.java +++ b/src/test/java/net/minecraftforge/debug/world/ForgeWorldTypeTest.java @@ -52,7 +52,7 @@ public class ForgeWorldTypeTest private void registerWorldTypes(RegistryEvent.Register event) { event.getRegistry().registerAll( - new ForgeWorldType(DimensionGeneratorSettings::func_242750_a).setRegistryName("test_world_type") + new ForgeWorldType(DimensionGeneratorSettings::makeDefaultOverworld).setRegistryName("test_world_type") ); event.getRegistry().registerAll( new ForgeWorldType(this::createChunkGenerator).setRegistryName("test_world_type2") @@ -61,7 +61,7 @@ public class ForgeWorldTypeTest private ChunkGenerator createChunkGenerator(Registry biomes, Registry dimensionSettings, long seed, String settings) { - return DimensionGeneratorSettings.func_242750_a(biomes, dimensionSettings, seed); + return DimensionGeneratorSettings.makeDefaultOverworld(biomes, dimensionSettings, seed); } private void registerWorldTypeScreenFactories(FMLClientSetupEvent event) @@ -74,7 +74,7 @@ public class ForgeWorldTypeTest super.init(); addButton(new Button(0, 0, 120, 20, new StringTextComponent("close"), btn -> { - Minecraft.getInstance().displayGuiScreen(returnTo); + Minecraft.getInstance().setScreen(returnTo); })); } }); diff --git a/src/test/java/net/minecraftforge/debug/world/WorldgenRegistryDesyncTest.java b/src/test/java/net/minecraftforge/debug/world/WorldgenRegistryDesyncTest.java index c8e38886a9..44331ebcb7 100644 --- a/src/test/java/net/minecraftforge/debug/world/WorldgenRegistryDesyncTest.java +++ b/src/test/java/net/minecraftforge/debug/world/WorldgenRegistryDesyncTest.java @@ -17,9 +17,9 @@ import net.minecraftforge.registries.ForgeRegistries; public class WorldgenRegistryDesyncTest { public static final DeferredRegister> FEATURES = DeferredRegister.create(ForgeRegistries.FEATURES, "worldgen_registry_desync_test"); - public static final RegistryObject> dungeon = FEATURES.register("dungeon", () -> new DungeonsFeature(NoFeatureConfig.field_236558_a_)); + public static final RegistryObject> dungeon = FEATURES.register("dungeon", () -> new DungeonsFeature(NoFeatureConfig.CODEC)); public static final DeferredRegister BIOMES = DeferredRegister.create(ForgeRegistries.BIOMES, "worldgen_registry_desync_test"); - public static final RegistryObject biome = BIOMES.register("biome", BiomeMaker::makeVoidBiome); + public static final RegistryObject biome = BIOMES.register("biome", BiomeMaker::theVoidBiome); public WorldgenRegistryDesyncTest() {