Add '#forge:chorus_additionally_grows_on' tag for similar mechanics to '#minecraft:azalea_grows_on' but for chorus (#10456)

This commit is contained in:
Jonathing authored and GitHub committed 2025-03-04 13:25:47 -08:00
1 parent 68a8d3b830
commit fcbd3593f6
5 files changed
+67 -1

No files matched your search

@@ -1,6 +1,6 @@
--- a/net/minecraft/world/level/block/ChorusFlowerBlock.java
+++ b/net/minecraft/world/level/block/ChorusFlowerBlock.java
@@ -43,7 +_,7 @@
@@ -43,11 +_,11 @@
BlockPos blockpos = p_220982_.m_7494_();
if (p_220981_.m_46859_(blockpos) && blockpos.m_123342_() < p_220981_.m_151558_()) {
int i = p_220980_.m_61143_(f_51647_);
@@ -9,6 +9,20 @@
boolean flag = false;
boolean flag1 = false;
BlockState blockstate = p_220981_.m_8055_(p_220982_.m_7495_());
- if (blockstate.m_60713_(Blocks.f_50259_)) {
+ if (blockstate.m_60713_(Blocks.f_50259_) || blockstate.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON)) {
flag = true;
} else if (blockstate.m_60713_(this.f_51648_)) {
int j = 1;
@@ -55,7 +_,7 @@
for(int k = 0; k < 4; ++k) {
BlockState blockstate1 = p_220981_.m_8055_(p_220982_.m_6625_(j + 1));
if (!blockstate1.m_60713_(this.f_51648_)) {
- if (blockstate1.m_60713_(Blocks.f_50259_)) {
+ if (blockstate1.m_60713_(Blocks.f_50259_) || blockstate1.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON)) {
flag1 = true;
}
break;
@@ -99,7 +_,7 @@
} else {
this.m_51658_(p_220981_, p_220982_);
@@ -18,3 +32,12 @@
}
}
}
@@ -134,7 +_,7 @@
public boolean m_7898_(BlockState p_51683_, LevelReader p_51684_, BlockPos p_51685_) {
BlockState blockstate = p_51684_.m_8055_(p_51685_.m_7495_());
- if (!blockstate.m_60713_(this.f_51648_) && !blockstate.m_60713_(Blocks.f_50259_)) {
+ if (!blockstate.m_60713_(this.f_51648_) && !blockstate.m_60713_(Blocks.f_50259_) && !blockstate.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON)) {
if (!blockstate.m_60795_()) {
return false;
} else {
@@ -0,0 +1,36 @@
--- a/net/minecraft/world/level/block/ChorusPlantBlock.java
+++ b/net/minecraft/world/level/block/ChorusPlantBlock.java
@@ -30,7 +_,7 @@
BlockState blockstate3 = p_51711_.m_8055_(p_51712_.m_122029_());
BlockState blockstate4 = p_51711_.m_8055_(p_51712_.m_122019_());
BlockState blockstate5 = p_51711_.m_8055_(p_51712_.m_122024_());
- return this.m_49966_().m_61124_(f_55153_, Boolean.valueOf(blockstate.m_60713_(this) || blockstate.m_60713_(Blocks.f_50491_) || blockstate.m_60713_(Blocks.f_50259_))).m_61124_(f_55152_, Boolean.valueOf(blockstate1.m_60713_(this) || blockstate1.m_60713_(Blocks.f_50491_))).m_61124_(f_55148_, Boolean.valueOf(blockstate2.m_60713_(this) || blockstate2.m_60713_(Blocks.f_50491_))).m_61124_(f_55149_, Boolean.valueOf(blockstate3.m_60713_(this) || blockstate3.m_60713_(Blocks.f_50491_))).m_61124_(f_55150_, Boolean.valueOf(blockstate4.m_60713_(this) || blockstate4.m_60713_(Blocks.f_50491_))).m_61124_(f_55151_, Boolean.valueOf(blockstate5.m_60713_(this) || blockstate5.m_60713_(Blocks.f_50491_)));
+ return this.m_49966_().m_61124_(f_55153_, Boolean.valueOf(blockstate.m_60713_(this) || blockstate.m_60713_(Blocks.f_50491_) || blockstate.m_60713_(Blocks.f_50259_) || blockstate.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON))).m_61124_(f_55152_, Boolean.valueOf(blockstate1.m_60713_(this) || blockstate1.m_60713_(Blocks.f_50491_))).m_61124_(f_55148_, Boolean.valueOf(blockstate2.m_60713_(this) || blockstate2.m_60713_(Blocks.f_50491_))).m_61124_(f_55149_, Boolean.valueOf(blockstate3.m_60713_(this) || blockstate3.m_60713_(Blocks.f_50491_))).m_61124_(f_55150_, Boolean.valueOf(blockstate4.m_60713_(this) || blockstate4.m_60713_(Blocks.f_50491_))).m_61124_(f_55151_, Boolean.valueOf(blockstate5.m_60713_(this) || blockstate5.m_60713_(Blocks.f_50491_)));
}
public BlockState m_7417_(BlockState p_51728_, Direction p_51729_, BlockState p_51730_, LevelAccessor p_51731_, BlockPos p_51732_, BlockPos p_51733_) {
@@ -38,7 +_,7 @@
p_51731_.m_186460_(p_51732_, this, 1);
return super.m_7417_(p_51728_, p_51729_, p_51730_, p_51731_, p_51732_, p_51733_);
} else {
- boolean flag = p_51730_.m_60713_(this) || p_51730_.m_60713_(Blocks.f_50491_) || p_51729_ == Direction.DOWN && p_51730_.m_60713_(Blocks.f_50259_);
+ boolean flag = p_51730_.m_60713_(this) || p_51730_.m_60713_(Blocks.f_50491_) || p_51729_ == Direction.DOWN && (p_51730_.m_60713_(Blocks.f_50259_) || p_51730_.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON));
return p_51728_.m_61124_(f_55154_.get(p_51729_), Boolean.valueOf(flag));
}
}
@@ -63,13 +_,13 @@
}
BlockState blockstate2 = p_51725_.m_8055_(blockpos.m_7495_());
- if (blockstate2.m_60713_(this) || blockstate2.m_60713_(Blocks.f_50259_)) {
+ if (blockstate2.m_60713_(this) || blockstate2.m_60713_(Blocks.f_50259_) || blockstate2.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON)) {
return true;
}
}
}
- return blockstate.m_60713_(this) || blockstate.m_60713_(Blocks.f_50259_);
+ return blockstate.m_60713_(this) || blockstate.m_60713_(Blocks.f_50259_) || blockstate.m_204336_(net.minecraftforge.common.Tags.Blocks.CHORUS_ADDITIONALLY_GROWS_ON);
}
protected void m_7926_(StateDefinition.Builder<Block, BlockState> p_51735_) {
@@ -0,0 +1,5 @@
{
"values": [
"#forge:end_stones"
]
}
@@ -40,6 +40,7 @@ public class Tags
public static final TagKey<Block> CHESTS_ENDER = tag("chests/ender");
public static final TagKey<Block> CHESTS_TRAPPED = tag("chests/trapped");
public static final TagKey<Block> CHESTS_WOODEN = tag("chests/wooden");
public static final TagKey<Block> CHORUS_ADDITIONALLY_GROWS_ON = tag("chorus_additionally_grows_on");
public static final TagKey<Block> COBBLESTONE = tag("cobblestone");
public static final TagKey<Block> COBBLESTONE_NORMAL = tag("cobblestone/normal");
public static final TagKey<Block> COBBLESTONE_INFESTED = tag("cobblestone/infested");
@@ -42,6 +42,7 @@ public final class ForgeBlockTagsProvider extends BlockTagsProvider
tag(CHESTS_ENDER).add(Blocks.ENDER_CHEST);
tag(CHESTS_TRAPPED).add(Blocks.TRAPPED_CHEST);
tag(CHESTS_WOODEN).add(Blocks.CHEST, Blocks.TRAPPED_CHEST);
tag(CHORUS_ADDITIONALLY_GROWS_ON).addTags(END_STONES);
tag(COBBLESTONE).addTags(COBBLESTONE_NORMAL, COBBLESTONE_INFESTED, COBBLESTONE_MOSSY, COBBLESTONE_DEEPSLATE);
tag(COBBLESTONE_NORMAL).add(Blocks.COBBLESTONE);
tag(COBBLESTONE_INFESTED).add(Blocks.INFESTED_COBBLESTONE);