Package net.minecraft.src.buildcraft.additionalpipes.logic

Source Code of net.minecraft.src.buildcraft.additionalpipes.logic.PipeLogicTeleport

package net.minecraft.src.buildcraft.additionalpipes.logic;

import net.minecraft.src.BuildCraftCore;
import net.minecraft.src.BuildCraftTransport;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.ItemStack;
import net.minecraft.src.NBTTagCompound;
import net.minecraft.src.TileEntity;
import net.minecraft.src.mod_AdditionalPipes;
import net.minecraft.src.buildcraft.additionalpipes.gui.GuiHandler;
import net.minecraft.src.buildcraft.api.TileNetworkData;
import net.minecraft.src.buildcraft.transport.Pipe;
import net.minecraft.src.buildcraft.transport.PipeLogic;
import net.minecraft.src.buildcraft.transport.TileGenericPipe;

public class PipeLogicTeleport extends PipeLogic {

  @TileNetworkData public int freq = 0;
  @TileNetworkData public boolean canReceive = false;
  @TileNetworkData public String owner = "";
 
  protected int guiId;
 
  public PipeLogicTeleport(int guiId) {
    super();
    this.guiId = guiId;
  }
 
  @Override
    public boolean blockActivated(EntityPlayer entityplayer) {
       
        if (owner == null || owner.equalsIgnoreCase("")) {
            owner = entityplayer.username;
        }
       
        ItemStack equippedItem = entityplayer.getCurrentEquippedItem();
       
        if (equippedItem != null) {
           
            if (mod_AdditionalPipes.isPipe(equippedItem.getItem()))  {
                return false;
            }

            if (equippedItem.getItem() == BuildCraftCore.wrenchItem && !mod_AdditionalPipes.wrenchOpensGui) {
                return false;
            }
        }

        entityplayer.openGui(mod_AdditionalPipes.instance, guiId,
                container.worldObj, container.xCoord, container.yCoord, container.zCoord);

        return true;
    }
 
  @Override
    public boolean isPipeConnected(TileEntity tile) {
   
        Pipe pipe = null;

        if (tile instanceof TileGenericPipe) {
            pipe = ((TileGenericPipe) tile).pipe;
        }

        if (BuildCraftTransport.alwaysConnectPipes) {
            return super.isPipeConnected(tile);
        }
        else {
         
          if (pipe == null) {
            return false;
          }
         
          if (this.container.pipe.getClass().equals(pipe.getClass()) && super.isPipeConnected(tile)) {
            return true;
          }
         
         
          return true;
        }
    }
 
  public void writeToNBT(NBTTagCompound nbttagcompound) {
    super.writeToNBT(nbttagcompound);
   
    nbttagcompound.setInteger("freq", freq);
    nbttagcompound.setBoolean("canReceive", canReceive);
    nbttagcompound.setString("owner", owner);
  }

  public void readFromNBT(NBTTagCompound nbttagcompound) {
    super.readFromNBT(nbttagcompound);
   
    freq = nbttagcompound.getInteger("freq");
    canReceive = nbttagcompound.getBoolean("canReceive");
    owner = nbttagcompound.getString("owner");
  }

}
TOP

Related Classes of net.minecraft.src.buildcraft.additionalpipes.logic.PipeLogicTeleport

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.