Skip to content

Instantly share code, notes, and snippets.

@Waterpicker
Created August 27, 2016 05:33
Show Gist options
  • Save Waterpicker/bc9744cb128a27f88ed62c4f5840f698 to your computer and use it in GitHub Desktop.
Save Waterpicker/bc9744cb128a27f88ed62c4f5840f698 to your computer and use it in GitHub Desktop.
@Listener
public void onChestBreak(ChangeBlockEvent.Break event) {
event.filter(e -> !e.getTileEntity().filter(tile -> tile.equals(TileEntityTypes.CHEST)).isPresent()).forEach(chest -> {
Extent extent = chest.getFinal().getLocation().get().getExtent();
Entity item = event.getTargetWorld().createEntity(EntityTypes.ITEM, chest.getOriginal().getPosition()).get();
ItemStackSnapshot itemStack = ItemStack.builder().fromBlockSnapshot(chest.getOriginal()).build().createSnapshot();
item.offer(Keys.REPRESENTED_ITEM, itemStack);
extent.spawnEntity(item, Cause.source(EntitySpawnCause.builder().entity(item).type(SpawnTypes.DROPPED_ITEM).build()).build());
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment