Pam's HarvestCraft

Pam's HarvestCraft

87M Downloads

[bug-serene seasons compat] please make your fruit blocks implement the forge cropgrowevent hooks

matheusvingadouro opened this issue ยท 1 comments

commented

serene seasons updated and now it is accepting non-crop growable blocks, it works with most non-crop growable blocks, except for the fruit blocks from this mod (here is a picture of a fruit block, if you need to know exactly what I'm talking about)
the growth can't be canceled by being in the wrong season
image

I've already reported that on serene seasons dev discord, and they said I should report it here instead...
and serene seasons developer said that your fruit blocks "do not implement the forge cropgrowevent hooks"

commented

yeah im late to the party, but i second this. Im not surprised this doesnt work, although im definetly disappointed. Forstride did address this however, and it would probably lead to a big change in code. It really is a shame that pam doesnt fix any issues with her mod and just keeps eating up her patreon money. total bullshit imo. But here's what he said:

link: Glitchfiend/SereneSeasons#82 (comment)

That's not what it is. The IPlantable check is just for seeds, so that we can automatically check for the crop block from listed seeds (But also so the seeds get the fertile season text on their tooltip). There's a separate process for blocks though, which is what these would use.

But you can see here that their fruit blocks don't implement the Forge CropGrowEvent hooks: https://github.com/MatrexsVigil/harvestcraft/blob/master/src/main/java/com/pam/harvestcraft/blocks/growables/BlockPamFruit.java#L207

Which means that their growth cannot be canceled. The actual state setting event looks like this in vanilla crops for example:

if(net.minecraftforge.common.ForgeHooks.onCropsGrowPre(worldIn, pos, state, rand.nextInt((int)(25.0F / f) + 1) == 0)) { worldIn.setBlockState(pos, this.withAge(i + 1), 2); net.minecraftforge.common.ForgeHooks.onCropsGrowPost(worldIn, pos, state, worldIn.getBlockState(pos)); }

Also, the bonemeal event is handled from the item itself (Which is always going to have the Forge hooks for that event) so if you're only going off of that, it's not really a proper indicator of which crops can/can't work properly.