diff --git a/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch b/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch new file mode 100644 index 000000000..7e7d2e5ba --- /dev/null +++ b/patches/minecraft/net/minecraft/tileentity/ConduitTileEntity.java.patch @@ -0,0 +1,11 @@ +--- a/net/minecraft/tileentity/ConduitTileEntity.java ++++ b/net/minecraft/tileentity/ConduitTileEntity.java +@@ -131,7 +131,7 @@ + BlockPos blockpos1 = this.field_174879_c.func_177982_a(j1, k1, l1); + BlockState blockstate = this.field_145850_b.func_180495_p(blockpos1); + +- for(Block block : field_205042_e) { ++ for(Block block : net.minecraftforge.common.Tags.Blocks.SUPPORTS_CONDUIT.func_199885_a()) { + if (blockstate.func_177230_c() == block) { + this.field_205046_i.add(blockpos1); + } diff --git a/src/generated/resources/data/forge/tags/blocks/supports_beacon.json b/src/generated/resources/data/forge/tags/blocks/supports_beacon.json new file mode 100644 index 000000000..6d57a4ccc --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/supports_beacon.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:emerald_block", + "minecraft:gold_block", + "minecraft:diamond_block", + "minecraft:iron_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/supports_conduit.json b/src/generated/resources/data/forge/tags/blocks/supports_conduit.json new file mode 100644 index 000000000..a69cffe27 --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/supports_conduit.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:prismarine", + "minecraft:prismarine_bricks", + "minecraft:sea_lantern", + "minecraft:dark_prismarine" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/supports_beacon.json b/src/generated/resources/data/forge/tags/items/supports_beacon.json new file mode 100644 index 000000000..6d57a4ccc --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/supports_beacon.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:emerald_block", + "minecraft:gold_block", + "minecraft:diamond_block", + "minecraft:iron_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/supports_conduit.json b/src/generated/resources/data/forge/tags/items/supports_conduit.json new file mode 100644 index 000000000..a69cffe27 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/supports_conduit.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:prismarine", + "minecraft:prismarine_bricks", + "minecraft:sea_lantern", + "minecraft:dark_prismarine" + ] +} \ No newline at end of file diff --git a/src/main/java/net/minecraftforge/common/Tags.java b/src/main/java/net/minecraftforge/common/Tags.java index e61efa7d8..1788d1ed2 100644 --- a/src/main/java/net/minecraftforge/common/Tags.java +++ b/src/main/java/net/minecraftforge/common/Tags.java @@ -112,6 +112,9 @@ public class Tags public static final Tag STORAGE_BLOCKS_QUARTZ = tag("storage_blocks/quartz"); public static final Tag STORAGE_BLOCKS_REDSTONE = tag("storage_blocks/redstone"); + public static final Tag SUPPORTS_BEACON = tag("supports_beacon"); + public static final Tag SUPPORTS_CONDUIT = tag("supports_conduit"); + private static Tag tag(String name) { return new BlockTags.Wrapper(new ResourceLocation("forge", name)); @@ -266,6 +269,9 @@ public class Tags public static final Tag STORAGE_BLOCKS_REDSTONE = tag("storage_blocks/redstone"); public static final Tag STRING = tag("string"); + public static final Tag SUPPORTS_BEACON = tag("supports_beacon"); + public static final Tag SUPPORTS_CONDUIT = tag("supports_conduit"); + private static Tag tag(String name) { return new ItemTags.Wrapper(new ResourceLocation("forge", name)); diff --git a/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java index 254289f18..51cfddb2a 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeBlockTagsProvider.java @@ -96,6 +96,8 @@ public class ForgeBlockTagsProvider extends BlockTagsProvider getBuilder(STORAGE_BLOCKS_LAPIS).add(Blocks.LAPIS_BLOCK); getBuilder(STORAGE_BLOCKS_QUARTZ).add(Blocks.QUARTZ_BLOCK); getBuilder(STORAGE_BLOCKS_REDSTONE).add(Blocks.REDSTONE_BLOCK); + getBuilder(SUPPORTS_BEACON).add(Blocks.EMERALD_BLOCK, Blocks.GOLD_BLOCK, Blocks.DIAMOND_BLOCK, Blocks.IRON_BLOCK); + getBuilder(SUPPORTS_CONDUIT).add(Blocks.PRISMARINE, Blocks.PRISMARINE_BRICKS, Blocks.SEA_LANTERN, Blocks.DARK_PRISMARINE); } private void addColored(Consumer consumer, Tag group, String pattern) diff --git a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java index 681263e55..d567889e0 100644 --- a/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/ForgeItemTagsProvider.java @@ -141,6 +141,8 @@ 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); getBuilder(Tags.Items.STRING).add(Items.STRING); + copy(Tags.Blocks.SUPPORTS_BEACON, Tags.Items.SUPPORTS_BEACON); + copy(Tags.Blocks.SUPPORTS_CONDUIT, Tags.Items.SUPPORTS_CONDUIT); } private void addColored(Consumer consumer, Tag group, String pattern) diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java index 2c1292f5d..e3bbeae99 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeBlock.java @@ -82,6 +82,7 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.Tags; import net.minecraftforge.common.ToolType; @SuppressWarnings("deprecation") @@ -589,8 +590,7 @@ public interface IForgeBlock */ default boolean isBeaconBase(BlockState state, IWorldReader world, BlockPos pos, BlockPos beacon) { - return this.getBlock() == Blocks.EMERALD_BLOCK || this.getBlock() == Blocks.GOLD_BLOCK || - this.getBlock() == Blocks.DIAMOND_BLOCK || this.getBlock() == Blocks.IRON_BLOCK; + return Tags.Blocks.SUPPORTS_BEACON.contains(state.getBlock()); } /** * Gathers how much experience this block drops when broken.