@SubscribeEvent public void breakBlock(BlockEvent.BreakEvent event) { if (event.getPlayer() == null) return; if (!event.world.isRemote) { if (event.block instanceof BlockRiftNode) { DiscoveryManager.unlockCategory( QADiscoveries.Category.BLOCKS.get().getKey(), event.getPlayer()); DiscoveryManager.unlockItem( QADiscoveries.Item.NODE.get().getKey(), event.getPlayer(), false); } else if (event.block == Blocks.obsidian && RandomUtils.nextInt(0, 5) == 0) { DiscoveryManager.unlockItem( QADiscoveries.Item.ETCHED_STONE.get().getKey(), event.getPlayer(), false); DiscoveryManager.unlockItem( QADiscoveries.Item.ETCHED_CORNER.get().getKey(), event.getPlayer(), false); } else if (event.block == Blocks.diamond_ore) { DiscoveryManager.unlockItem( QADiscoveries.Item.PICKAXE.get().getKey(), event.getPlayer(), false); } else if (event.block == Blocks.log && RandomUtils.rnd.nextInt(4) == 0) { DiscoveryManager.unlockItem( QADiscoveries.Item.AXE.get().getKey(), event.getPlayer(), false); } else if (event.block == Blocks.mycelium) { DiscoveryManager.unlockItem( QADiscoveries.Item.SHOVEL.get().getKey(), event.getPlayer(), false); } } }
@SubscribeEvent public void craftEvent(PlayerEvent.ItemCraftedEvent event) { if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) return; if (RandomUtils.nextInt(0, 4) == 0) { DiscoveryManager.unlockItem( QADiscoveries.Item.ARRANGEMENT.get().getKey(), event.player, false); } if (event.crafting.getItem() == QAItems.JOURNAL.getItem()) DiscoveryManager.unlockItem(QADiscoveries.Item.DISCOVERY.get().getKey(), event.player, false); if (event.crafting.getItem() == Item.getItemFromBlock(Blocks.ender_chest)) DiscoveryManager.unlockItem(QADiscoveries.Item.PLAYER.get().getKey(), event.player, false); }