use of com.skelril.skree.service.RespawnQueueService in project Skree by Skelril.
the class GraveStone method createGraveFromDeath.
public void createGraveFromDeath(DestructEntityEvent.Death event) {
Entity target = event.getTargetEntity();
if (target instanceof Player) {
Player player = (Player) target;
List<ItemStack> items = new ArrayList<>();
Optional<ItemStack> optStack;
do {
optStack = player.getInventory().poll();
} while (optStack.isPresent() && items.add(optStack.get()));
Iterator<ItemStack> it = items.iterator();
Optional<RespawnQueueService> optService = Sponge.getServiceManager().provide(RespawnQueueService.class);
if (optService.isPresent()) {
RespawnQueueService service = optService.get();
while (it.hasNext()) {
if (it.next().getItem() == CustomItemTypes.NETHER_BOWL) {
it.remove();
ItemStack stack = tf(new net.minecraft.item.ItemStack(CustomItemTypes.NETHER_BOWL));
CustomItemTypes.NETHER_BOWL.setDestination(stack, player.getLocation());
service.enque(player, stack);
break;
}
}
}
Task.builder().execute(() -> {
createGraveDropExcess(items, target.getLocation());
}).delayTicks(1).submit(SkreePlugin.inst());
}
}
Aggregations