59 lines
1.7 KiB
Java
59 lines
1.7 KiB
Java
package com.legacy.aether.blocks.dungeon;
|
|
|
|
import net.minecraft.block.BlockChest;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
import net.minecraft.world.World;
|
|
|
|
import com.legacy.aether.entities.hostile.EntityMimic;
|
|
import com.legacy.aether.tileentity.TileEntityChestMimic;
|
|
|
|
public class BlockMimicChest extends BlockChest {
|
|
|
|
public BlockMimicChest() {
|
|
super(13);
|
|
|
|
this.setHardness(2.0F);
|
|
}
|
|
|
|
@Override
|
|
public TileEntity createNewTileEntity(World worldIn, int meta) {
|
|
return new TileEntityChestMimic();
|
|
}
|
|
|
|
@Override
|
|
public boolean onBlockActivated(World worldIn, int x, int y, int z, EntityPlayer playerIn, int side, float hitX, float hitY, float hitZ) {
|
|
this.spawnMimic(worldIn, playerIn, x, y, z);
|
|
|
|
worldIn.playSoundEffect((double) x + 0.5D, (double) y + 0.5D, (double) z + 0.5D, "random.chestopen", 0.5F, worldIn.rand.nextFloat() * 0.1F + 0.9F);
|
|
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void harvestBlock(World worldIn, EntityPlayer player, int x, int y, int z, int meta) {
|
|
this.spawnMimic(worldIn, player, x, y, z);
|
|
}
|
|
|
|
@Override
|
|
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) {
|
|
return new ItemStack(Blocks.chest);
|
|
}
|
|
|
|
private void spawnMimic(World world, EntityPlayer player, int x, int y, int z) {
|
|
if (!world.isRemote) {
|
|
EntityMimic mimic = new EntityMimic(world);
|
|
if (!player.capabilities.isCreativeMode) {
|
|
mimic.setAttackTarget(player);
|
|
}
|
|
mimic.setPosition((double) x + 0.5D, (double) y + 1.5D, (double) z + 0.5D);
|
|
world.spawnEntityInWorld(mimic);
|
|
}
|
|
|
|
world.setBlockToAir(x, y, z);
|
|
}
|
|
|
|
} |