Ejemplo n.º 1
0
 @Override
 public void addConduit(IConduit conduit) {
   if (worldObj.isRemote) {
     return;
   }
   conduits.add(conduit);
   conduit.setBundle(this);
   conduit.onAddedToBundle();
   dirty();
 }
Ejemplo n.º 2
0
 public void removeConduit(IConduit conduit, boolean notify) {
   if (worldObj.isRemote) {
     return;
   }
   conduit.onRemovedFromBundle();
   conduits.remove(conduit);
   conduit.setBundle(null);
   if (notify) {
     dirty();
   }
 }
Ejemplo n.º 3
0
  @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);
    }
  }