ForgePatch/patches_old/minecraft/net/minecraft/world/chunk/BlockStateContainer.java.patch

40 lines
1.5 KiB
Diff

--- ../src-base/minecraft/net/minecraft/world/chunk/BlockStateContainer.java
+++ ../src-work/minecraft/net/minecraft/world/chunk/BlockStateContainer.java
@@ -30,6 +30,10 @@
private void func_186012_b(int p_186012_1_)
{
+ setBits(p_186012_1_, false);
+ }
+ private void setBits(int p_186012_1_, boolean forceBits)
+ {
if (p_186012_1_ != this.field_186024_e)
{
this.field_186024_e = p_186012_1_;
@@ -47,6 +51,8 @@
{
this.field_186022_c = field_186023_d;
this.field_186024_e = MathHelper.func_151241_e(Block.field_176229_d.func_186804_a());
+ if (forceBits)
+ this.field_186024_e = p_186012_1_;
}
this.field_186022_c.func_186041_a(field_186020_a);
@@ -102,11 +108,15 @@
if (this.field_186024_e != i)
{
- this.func_186012_b(i);
+ this.setBits(i, true); //Forge, Force bit density to fix network issues, resize below if needed.
}
this.field_186022_c.func_186038_a(p_186010_1_);
p_186010_1_.func_186873_b(this.field_186021_b.func_188143_a());
+
+ int regSize = MathHelper.func_151241_e(Block.field_176229_d.func_186804_a());
+ if (this.field_186022_c == field_186023_d && this.field_186024_e != regSize) // Resize bits to fit registry.
+ this.func_186008_a(regSize, field_186020_a);
}
public void func_186009_b(PacketBuffer p_186009_1_)