NeoForge
NeoForge copied to clipboard
Neo Modding API for Minecraft, based on Forge
Currently throwing ideas around... `FluidStack` and `ItemStack` are very convenient, but they are also mutable. There are cases where we want to prevent mutation of fluid and item stacks. There...
Returning null from `RecipeSerializer#codec()` produces a nonsensical gibberish error - we should validate them at registration time or shortly thereafter. ``` java.lang.NullPointerException: Cannot invoke "com.mojang.serialization.Decoder.decode(com.mojang.serialization.DynamicOps, Object)" because "c" is null...
Long story short, there's use cases beyond the frowned-upon conditional registration that modders need to have early configs for. Myself, I had use cases where I was using EntityAttributeModificationEvent to...
The config value can be found [here](https://github.com/neoforged/NeoForge/blob/1.20.x/src/main/java/net/neoforged/neoforge/common/NeoForgeConfig.java#L87). The only place it used in NeoForge is [here](https://github.com/neoforged/NeoForge/blob/1.20.x/patches/com/mojang/blaze3d/pipeline/RenderTarget.java.patch#L20). To me to is strange that the user should be able to configure this....
[IBlockStateExtension#getBeaconColorMultiplier](https://github.com/neoforged/NeoForge/blob/1.20.x/src/main/java/net/neoforged/neoforge/common/extensions/IBlockStateExtension.java#L427-L428) and [IBlockExtension#getBeaconColorMultiplier](https://github.com/neoforged/NeoForge/blob/1.20.x/src/main/java/net/neoforged/neoforge/common/extensions/IBlockExtension.java#L533-L534) should both be `float @Nullable []`. The current annotation position says that they return a "non null array of nullable `float`s" instead of the wanted "nullable array...
The vanilla method `Mob#setTarget` has the following signature: `public void setTarget(@Nullable LivingEntity p_21544_)`, and the `LivingChangeTargetEvent` is fired from within this method. However, neither `CommonHooks.onLivingChangeTarget` nor the event itself have...
**NeoForge Version:** 20.4.118-beta **Logs:** https://gist.github.com/Lolothepro/94f6df87b94d295bda37b589f136f3c0 **Steps to Reproduce:** 1. Load a world for the first time with experimental settings 2. Press Cancel 3. The world doesn't load 4. Go to...
CropGrowEvent usually have a blockstate for growing block, however, it's impossible to get growing block from GrowingPlantHeadBlock as it calls event by: ``` net.neoforged.neoforge.common.CommonHooks.onCropsGrowPre(pLevel, pPos.relative(this.growthDirection), pLevel.getBlockState(pPos.relative(this.growthDirection)), pRandom.nextDouble() < this.growPerTickProbability) ```...
Just musing about a few things that would make horse armor more extensible. 1. Delegate `Horse#setArmorEquipment` to `HorseArmorItem` so that armor can apply more attribute modifiers than just the armor...
This PR is a subset of #14 which pulls only the changes from https://github.com/MinecraftForge/MinecraftForge/pull/9642