TechReborn/src/main/java/techreborn/blocks/BlockDistributor.java

74 lines
2.3 KiB
Java
Raw Normal View History

2016-05-14 19:53:07 +02:00
package techreborn.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import reborncore.common.util.ItemNBTHelper;
import techreborn.client.TechRebornCreativeTab;
/**
* Created by mark on 14/05/16.
*/
public class BlockDistributor extends Block {
AxisAlignedBB AABB = new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.0625D, 0.9375D);
public BlockDistributor( ) {
super(Material.IRON);
setHardness(2f);
setUnlocalizedName("techreborn.distributor");
setCreativeTab(TechRebornCreativeTab.instance);
}
public static ItemStack getReleaseStack(){
ItemStack newStack = new ItemStack(Items.SHIELD);
ItemNBTHelper.setString(newStack, "type", "modmuss50");
ItemNBTHelper.setBoolean(newStack, "vanilla", false);
return newStack;
}
@Override
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, World worldIn, BlockPos pos) {
return NULL_AABB;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return AABB;
}
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
public boolean isFullCube(IBlockState state)
{
return false;
}
public boolean isPassable(IBlockAccess worldIn, BlockPos pos)
{
return true;
}
@Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) {
if(entityIn instanceof EntityPlayer){
EntityPlayer player = (EntityPlayer) entityIn;
if(player.getHeldItemOffhand() == null || player.getHeldItemOffhand() != null && player.getHeldItemOffhand().getItem() != Items.SHIELD){
player.setItemStackToSlot(EntityEquipmentSlot.OFFHAND, getReleaseStack());
}
}
}
}