public void addTile(CrystalNetworkTile te) { if (FMLCommonHandler.instance().getEffectiveSide() == Side.SERVER) { WorldLocation loc = PylonFinder.getLocation(te); CrystalNetworkTile old = tiles.get(loc); if (old != null) { // cache cleaning; old TEs may get out of sync for things like charge this.removeTile(old); } tiles.put(loc, te); if (te instanceof TileEntityCrystalPylon) { this.addPylon((TileEntityCrystalPylon) te); } this.verifyTileAt(te, loc); for (NotifiedNetworkTile tile : notifyCache) { tile.onTileNetworkTopologyChange(te, false); } if (te instanceof NotifiedNetworkTile) { notifyCache.add((NotifiedNetworkTile) te); } WorldCrystalNetworkData.initNetworkData(te.getWorld()).setDirty(true); if (te instanceof TileEntityCrystalPylon) { PylonLocationData.initNetworkData(te.getWorld()).setDirty(true); } } }
public void addControlRod(TileEntityControlRod rod) { if (minX > rod.xCoord) minX = rod.xCoord; if (maxX < rod.xCoord) maxX = rod.xCoord; if (minY > rod.yCoord) minY = rod.yCoord; if (maxY < rod.yCoord) maxY = rod.yCoord; if (minZ > rod.zCoord) minZ = rod.zCoord; if (maxZ < rod.zCoord) maxZ = rod.zCoord; controls.put(rod); }
private void addPylon(TileEntityCrystalPylon te) { CrystalElement e = te.getColor(); TileEntityCache<TileEntityCrystalPylon> c = pylons.get(e); if (c == null) { c = new TileEntityCache(); pylons.put(e, c); } c.put(te); }