Fixed TileEntity bug that was causing Ghost tile entities.
This commit is contained in:
parent
5898a6e18b
commit
9b66ce034a
1 changed files with 12 additions and 10 deletions
|
@ -167,10 +167,13 @@
|
||||||
int var5 = 0;
|
int var5 = 0;
|
||||||
int var6;
|
int var6;
|
||||||
|
|
||||||
@@ -1331,6 +1341,29 @@
|
@@ -1324,12 +1334,26 @@
|
||||||
TileEntity var9 = (TileEntity)var10.next();
|
|
||||||
var9.updateContainingBlockInfo();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.generateHeightMap();
|
||||||
|
- Iterator var10 = this.chunkTileEntityMap.values().iterator();
|
||||||
|
-
|
||||||
|
- while (var10.hasNext())
|
||||||
+
|
+
|
||||||
+ List<TileEntity> invalidList = new ArrayList<TileEntity>();
|
+ List<TileEntity> invalidList = new ArrayList<TileEntity>();
|
||||||
+ iterator = chunkTileEntityMap.values().iterator();
|
+ iterator = chunkTileEntityMap.values().iterator();
|
||||||
|
@ -180,24 +183,23 @@
|
||||||
+ int x = tileEntity.xCoord & 15;
|
+ int x = tileEntity.xCoord & 15;
|
||||||
+ int y = tileEntity.yCoord;
|
+ int y = tileEntity.yCoord;
|
||||||
+ int z = tileEntity.zCoord & 15;
|
+ int z = tileEntity.zCoord & 15;
|
||||||
+ /* This function is called when an entire chunk is sent, so we don't need to check the bounds.
|
|
||||||
+ if (x >= xStart && x <= xStop && y >= yStart && y <= yEnd && z >= zStart && z <= zStop)
|
|
||||||
+ */
|
|
||||||
+ Block block = tileEntity.getBlockType();
|
+ Block block = tileEntity.getBlockType();
|
||||||
+ if (block == null || block.blockID != getBlockID(x, y, z) || tileEntity.getBlockMetadata() != getBlockMetadata(x, y, z))
|
+ if (block == null || block.blockID != getBlockID(x, y, z) || tileEntity.getBlockMetadata() != getBlockMetadata(x, y, z))
|
||||||
+ {
|
+ {
|
||||||
+ invalidList.add(tileEntity);
|
+ invalidList.add(tileEntity);
|
||||||
+ }
|
+ }
|
||||||
|
+ tileEntity.updateContainingBlockInfo();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ for (TileEntity tileEntity : invalidList)
|
+ for (TileEntity tileEntity : invalidList)
|
||||||
+ {
|
{
|
||||||
|
- TileEntity var9 = (TileEntity)var10.next();
|
||||||
|
- var9.updateContainingBlockInfo();
|
||||||
+ tileEntity.invalidate();
|
+ tileEntity.invalidate();
|
||||||
+ }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public BiomeGenBase func_48490_a(int par1, int par2, WorldChunkManager par3WorldChunkManager)
|
@@ -1435,4 +1459,18 @@
|
||||||
@@ -1435,4 +1468,18 @@
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue