Posted December 26, 20186 yr Hello fellow modders, I have recently worked out how to do custom item drops for grass and I wondered if I could do the same for leaves, I have been looking through the code for a while now and I can't find anything which I would be able to utilize/subscribe to. Can anyone tell me/lead me in the right direction to either where I should be looking/if it's even possible/ how to do it if it is possible. Thanks in advance! Edit: I just realised that this does not make too much sense. What I mean is: Can anyone help me with making Oak Leaves drop an item from my mod with the same rarity/chances that apples drop with. I do NOT want to override the default apples dropping, I just want to add to the apples dropping! Edited December 26, 20186 yr by UM3 F0R TH3 W1N
December 26, 20186 yr Author ok, so I have got something here and im rly not sure it will work Edited December 26, 20186 yr by UM3 F0R TH3 W1N
December 26, 20186 yr Author 3 minutes ago, diesieben07 said: Event handler methods must have exactly one parameter: The event you are subscribing to. Adding more parameters makes no sense. getBlockFromName is a static method, calling it on an instance of Block makes no sense and your IDE should warn you about that. There is no block named minecraft:oak_leaves, so even if any of what you are doing there made sense, that would return null and the condition would never be true. To check specifically for oak leaves you need to first check that the block is Blocks.LEAVES and secondly you need to check that the property BlockOldLeaf.VARIANT is set to OAK. Then add your drops, like I already explained in your other topic. ok, well what you shown me last time didn't actually work, so... I needed it to work for grass however it worked for any harvestable block, how am I meant to check for the block if I cant put 2 params in, theres no way for me to check what block has been broken if I cant put `Block block` in the parameters Edited December 26, 20186 yr by UM3 F0R TH3 W1N
December 26, 20186 yr Author also, I kinda knew that the code I sent before didn't work and that's why I deleted it, because I remembered that subscribe events only allow for 1 param, otherwise it would crash the game
December 26, 20186 yr Author 6 minutes ago, diesieben07 said: To check specifically for oak leaves you need to first check that the block is Blocks.LEAVES and secondly you need to check that the property BlockOldLeaf.VARIANT is set to OAK. how can I check for the block tho
December 26, 20186 yr Author so for the grass it would be like this: @SubscribeEvent public void getSeedsFromGrass(HarvestDropsEvent event) { if(event.getState() == Blocks.GRASS) { event.getDrops().add(new ItemStack(ItemInit.TOMATO_SEEDS)); event.getDrops().add(new ItemStack(ItemInit.LEMON_SEEDS)); event.setDropChance(0.07f); } else if(event.getState() == Blocks.TALLGRASS) { event.getDrops().add(new ItemStack(ItemInit.TOMATO_SEEDS)); event.getDrops().add(new ItemStack(ItemInit.LEMON_SEEDS)); event.setDropChance(0.14f); } } ? but im still confused on the leaf part
December 26, 20186 yr Author 2 minutes ago, diesieben07 said: so you are modifying the drop chance of vanilla incorrect, as I tested it with the chance being 1.0f and I got my custom seeds every time however vanilla seeds had the same rarity/chances as they usually do
December 26, 20186 yr Author 20 minutes ago, diesieben07 said: The drop chance in the event is used for explosions. It is applied on top of normal chances. If you want things to work properly, you should completely ignore this parameter and do your own chance generation. is it a bad idea to use this: event.getDrops().clear(); like, will it mess up anything to do with like other mod compatability Edited December 26, 20186 yr by UM3 F0R TH3 W1N
December 26, 20186 yr It will remove all the current drops, which isn’t great for compatibility About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
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.