@Override public void addConduit(IConduit conduit) { if (worldObj.isRemote) { return; } conduits.add(conduit); conduit.setBundle(this); conduit.onAddedToBundle(); dirty(); }
public void removeConduit(IConduit conduit, boolean notify) { if (worldObj.isRemote) { return; } conduit.onRemovedFromBundle(); conduits.remove(conduit); conduit.setBundle(null); if (notify) { dirty(); } }
@Override public void readCustomNBT(NBTTagCompound nbtRoot) { short nbtVersion = nbtRoot.getShort("nbtVersion"); conduits.clear(); cachedCollidables.clear(); NBTTagList conduitTags = (NBTTagList) nbtRoot.getTag("conduits"); if (conduitTags != null) { for (int i = 0; i < conduitTags.tagCount(); i++) { NBTTagCompound conduitTag = conduitTags.getCompoundTagAt(i); IConduit conduit = ConduitUtil.readConduitFromNBT(conduitTag, nbtVersion); if (conduit != null) { conduit.setBundle(this); conduits.add(conduit); } } } String fs = nbtRoot.getString("facadeId"); if (fs == null || "null".equals(fs)) { facadeId = null; facadeType = FacadeType.BASIC; } else { facadeId = Block.getBlockFromName(fs); if (nbtRoot.hasKey("facadeType")) { // backwards compat, never true in freshly placed bundles facadeType = FacadeType.valueOf(nbtRoot.getString("facadeType")); } } facadeMeta = nbtRoot.getInteger("facadeMeta"); if (worldObj != null && worldObj.isRemote) { clientUpdated = true; } if (MicroblocksUtil.supportMicroblocks()) { readMicroblocksFromNBT(nbtRoot); } }