Posted December 12, 20213 yr Hi I'm trying to stay with events for my auto smelt tools, everything is done and works but it drops the normal block drop as well as the recipe output Previously I could cancel the drop and add my own but it looks like that event has gone away and now I'm using this: @SubscribeEvent public void smeltDrop(final BlockEvent.BreakEvent event) { Random r = new Random(); Player player = event.getPlayer(); Optional<SmeltingRecipe> output = player.level.getRecipeManager().getRecipeFor(RecipeType.SMELTING, new SimpleContainer((new ItemStack(event.getState().getBlock()))), player.level); if(event.getPlayer() != null && player.getMainHandItem() != null && !player.isCreative() && output != null) { ItemStack stackdrop = output.get().getResultItem(); if(stackdrop != null) { if(player.getMainHandItem().getItem() == ModItems.FLAME_PICK.get() || player.getMainHandItem().getItem() == ModItems.FLAME_AXE.get() || player.getMainHandItem().getItem() == ModItems.FLAME_SHOVEL.get()) { player.level.addFreshEntity(new ItemEntity(player.level, event.getPos().getX() + 0.5F, event.getPos().getY() + 0.1F, event.getPos().getZ() + 0.5F, stackdrop)); } } ItemStack stack = new ItemStack(ModItems.DRY_CRYSTAL.get()); if(stack != null && player.getMainHandItem().getItem() instanceof PickaxeItem && event.getState().getBlock() == Blocks.STONE){ if(r.nextInt(100) == 0) { player.level.addFreshEntity(new ItemEntity(player.level, event.getPos().getX() + 0.5F, event.getPos().getY() + 0.1F, event.getPos().getZ() + 0.5F, stack)); } } } } Former developer for DivineRPG, Pixelmon and now the maker of Essence of the Gods
December 12, 20213 yr I would recommend you to use GlobalLootModifiers, since there is a Forge Example Mod: https://github.com/MinecraftForge/MinecraftForge/blob/41ea5b195bf5c818d1da8932d264a33de16fa632/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java#L145
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.