@SubscribeEvent
public static void blockBreaked(BlockEvent.BreakEvent event) {
World world = event.getWorld(); //получаем мир для спавна
int x = event.getPos().getX(); //получаем координату Х
int y = event.getPos().getY(); // получаем координату У
int z = event.getPos().getZ(); //получаем координату Z
if ((Blocks.STONE.getStateFromMeta(0).getBlock() == (world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock())) { //делаем следующее только если ломанный блок - это камень с метадатой 0 (так как гранит, андезит, диорит - это всё камень с разной метадатой)
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z...
@SubscribeEvent
public static void blockBreaked(BlockEvent.BreakEvent event) {
World world = event.getWorld(); //получаем мир для спавна
int x = event.getPos().getX(); //получаем координату Х
int y = event.getPos().getY(); // получаем координату У
int z = event.getPos().getZ(); //получаем координату Z
if ((Blocks.STONE.getStateFromMeta(0).getBlock() == (world.getBlockState(new BlockPos((int) x, (int) y, (int) z))).getBlock())) { //делаем следующее только если ломанный блок - это камень с метадатой 0 (так как гранит, андезит, диорит - это всё камень с разной метадатой)
if (!world.isRemote) {
EntityItem entityToSpawn = new EntityItem(world, x, y, z, new ItemStack(Blocks.SLIME_BLOCK, (int) (1))); //создаём переменную с предметом, который хотим заспавнить
entityToSpawn.setPickupDelay(10);
world.spawnEntity(entityToSpawn); // спавним блок
}
}
}
LootTableLoadEvent
для модификации лутаНо ведь это тоже с ивентами... Или я чего-то не понимаю?Возможно подойдёт вариант использования ивентаLootTableLoadEvent
для модификации лута
Ивенты идеально подходят для этой задачи, но у меня не получается пока реализовать спавн предмета. Пробую пока что то вылепить из твоего вариантаОн вроде не писал, что без ивентов... Только про хуки и json писал... Или эвент это тоже хук?