mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-14 04:09:09 +01:00
make the leaf blower drop blocks on their own
This commit is contained in:
parent
d7561ddb82
commit
4944c11889
1 changed files with 4 additions and 10 deletions
|
@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.misc.IDisplayStandItem;
|
|||
import de.ellpeck.actuallyadditions.mod.items.base.ItemBase;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockBush;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
@ -117,22 +118,15 @@ public class ItemLeafBlower extends ItemBase implements IDisplayStandItem{
|
|||
Collections.shuffle(breakPositions);
|
||||
|
||||
BlockPos theCoord = breakPositions.get(0);
|
||||
Block theBlock = world.getBlockState(theCoord).getBlock();
|
||||
|
||||
ArrayList<ItemStack> drops = new ArrayList<ItemStack>();
|
||||
//Gets all of the Drops the Block should have
|
||||
drops.addAll(theBlock.getDrops(world, theCoord, world.getBlockState(theCoord), 0));
|
||||
IBlockState theState = world.getBlockState(theCoord);
|
||||
|
||||
theState.getBlock().dropBlockAsItem(world, theCoord, theState, 0);
|
||||
//Plays the Breaking Sound
|
||||
world.playEvent(2001, theCoord, Block.getStateId(world.getBlockState(theCoord)));
|
||||
world.playEvent(2001, theCoord, Block.getStateId(theState));
|
||||
|
||||
//Deletes the Block
|
||||
world.setBlockToAir(theCoord);
|
||||
|
||||
for(ItemStack theDrop : drops){
|
||||
//Drops the Items into the World
|
||||
world.spawnEntityInWorld(new EntityItem(world, theCoord.getX()+0.5, theCoord.getY()+0.5, theCoord.getZ()+0.5, theDrop));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue