Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.jam.icc.block;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Random;
- import com.ibm.icu.impl.duration.TimeUnit;
- import com.jam.icc.MainVE;
- import com.jam.icc.lib.Names;
- import com.jam.icc.tileentity.TileEntityICC;
- import com.jam.icc.tileentity.TileEntityICSB;
- import net.minecraft.block.BlockHorizontal;
- import net.minecraft.block.ITileEntityProvider;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.PropertyDirection;
- import net.minecraft.block.state.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.inventory.InventoryHelper;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.tileentity.TileEntityShulkerBox;
- import net.minecraft.util.BlockRenderLayer;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.EnumHand;
- import net.minecraft.util.math.AxisAlignedBB;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.util.math.RayTraceResult;
- import net.minecraft.world.Explosion;
- import net.minecraft.world.IBlockAccess;
- import net.minecraft.world.World;
- import net.minecraftforge.items.CapabilityItemHandler;
- import net.minecraftforge.items.IItemHandler;
- import net.minecraftforge.items.ItemStackHandler;
- public class BlockItemCollectorShulkerBox extends BlockBase implements ITileEntityProvider{
- public ItemStackHandler stackPlacer = null;
- public static final int GUI_ID = 3;
- public BlockItemCollectorShulkerBox(Material materialIn, CreativeTabs tab, String name) {
- super(materialIn, tab, name);
- setHardness(5F);
- setResistance(2000F);
- }
- @Override
- public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player,EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
- // Only execute on the server
- if (world.isRemote) {
- return true;
- }
- TileEntity te = world.getTileEntity(pos);
- if (!(te instanceof TileEntityICSB)) {
- return false;
- }
- player.openGui(MainVE.instance, GUI_ID, world, pos.getX(), pos.getY(), pos.getZ());
- return true;
- }
- @Override
- public boolean canDropFromExplosion(Explosion explosionIn) {
- return true;
- }
- @Override
- public boolean isFullCube(IBlockState state) {
- return false;
- }
- @Override
- public boolean isOpaqueCube(IBlockState state) {
- return false;
- }
- @Override
- public BlockRenderLayer getBlockLayer() {
- return BlockRenderLayer.CUTOUT;
- }
- //this was me trying to set the items in the tile entity from the stacks nbt
- /*@Override
- public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer,
- ItemStack stack) {
- TileEntityICSB te = (TileEntityICSB)worldIn.getTileEntity(pos);
- stackPlacer = te.itemStackHandler;
- for(int i = 0; i < 27; i++)
- {
- te.itemStackHandler.setStackInSlot(i, stackPlacer.getStackInSlot(i));
- }
- super.onBlockPlacedBy(worldIn, pos, state, placer, stack);
- }
- */
- @Override
- public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
- TileEntity tee = worldIn.getTileEntity(pos);
- TileEntityICSB te = (TileEntityICSB)tee;
- ItemStack itemstack = new ItemStack(Item.getItemFromBlock(this));
- NBTTagCompound nbttagcompound = new NBTTagCompound();
- NBTTagCompound nbttagcompound1 = new NBTTagCompound();
- nbttagcompound.setTag("items", te.itemStackHandler.serializeNBT());
- itemstack.setTagCompound(nbttagcompound);
- spawnAsEntity(worldIn, pos, itemstack);
- System.out.println(itemstack.getTagCompound().getTag("items"));
- super.breakBlock(worldIn, pos, state);
- }
- @Override
- public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
- EntityPlayer player) {
- TileEntityICSB te = (TileEntityICSB) world.getTileEntity(pos);
- ItemStack itemstack = new ItemStack(Item.getItemFromBlock(this));
- NBTTagCompound tag = new NBTTagCompound();
- tag.setTag("items", te.itemStackHandler.serializeNBT());
- itemstack.setTagCompound(tag);
- return itemstack;
- }
- @Override
- public TileEntity createNewTileEntity(World worldIn, int meta) {
- return new TileEntityICSB();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment