- `20.4.58-beta` [1.20.4] Reimplement ID offset on modded EntityDataSerializers (#425) This reimplements the ID offset previously applied to modded `EntityDataSerializer`s which was lost during the registry rework. Previously this was achieved by setting a minimum ID on the registry. Due to the modified vanilla registries not supporting that, the IDs of modded serializers now also start at 0 which leads to the client using the vanilla serializer corresponding to the ID of the modded one and potentially blowing up while deserializing the data item, i.e. by reading past the buffer's length. - `20.4.57-beta` Bump FML version and use the FML SPI artifact (#423) Update FML to 2.0.6 to include neoforged/FancyModLoader#60 Replace SPI dependency with the FML SPI artifact, since the old one was deprecated in neoforged/FancyModLoader#58 Fixes #407 - `20.4.56-beta` Add some more tests (#413) * More work on tests * Update LivingEntityEventTests.java * Test * Updates - `20.4.55-beta` Apply getDropItem AT to correct class (#419) The method was moved from AbstractMinecart to its superclass VehicleEntity. - `20.4.54-beta` Reinstate early return on empty block pick result (#420) Fixes #418 - `20.4.53-beta` Remove ban screen creation patch (#421) - `20.4.52-beta` Fix inconsistency between custom registry ID getters and the vanilla one (#414) - `20.4.51-beta` Remove glazed terracotta as farmland for `DESERT` plant type (#416) Fixes #306 by removing glazed terracotta as acceptable farmland for the `DESERT` plant type. Also includes a related fix to expand `DESERT` plant types to be plantable on both uncolored/raw terracotta and stained terracotta, to match with the plantability of dead bushes on both. (This only really matters for modded plants, because dead bushes extend `BushBlock` and therefore have their `mayPlaceOn` method called to allow placing on stained terracotta anyway.) - `20.4.50-beta` Correctly filter out hidden packs from unselected packs in pack selection screen (#415) - `20.4.49-beta` Add reason field support to mandatory deps (#397) - `20.4.48-beta` Replicate vanilla's loading progess bar better (#404) - `20.4.47-beta` Fix world deletion cancel not working (#408) When the deletion is canceled, the screen is still ConfirmScreen, so the `if` condition needs to also check for that alongside ProgressScreen (when deletion succeeds and there is at least one world left). Fixes #406 - `20.4.46-beta` Fix `GameTestHelper#forEveryBlockInStructure` including blocks that are not in the structure (#401) - `20.4.45-beta` Allow mods to not provide pack information (#400) - `20.4.44-beta` [1.20.4] Fix grouped mod datapacks being dropped when reloading data (#403) Fixes #402 - `20.4.43-beta` Make feature request template say NeoForge instead of Forge (#399) - `20.4.42-beta` [1.20.4] Improve NeoForge's chunk generation command (#364) Special thanks to Jasmine and Gegy for allowing us to use their Fabric Chunk Pregenerator as a basis for this PR. https://github.com/jaskarth/fabric-chunkpregenerator/tree/master Fixes #331 - `20.4.41-beta` Implement fluid handler support for cauldrons (#369) Cauldrons added by modders need to be registered to `RegisterCauldronFluidContentEvent` if they want to be part of this system. - `20.4.40-beta` Deprecate the mandatory field and add an incompatible/discouraged clause to mod dependency (#386) The `mandatory` field is now deprecated, and use of it will **crash** in a development environment. The field has been replaced with a `type` field, accepting a string with one of 4 possible values (case insensitive): - `required`: - default, will not allow the game to load _without_ the dependency - `optional`: will _allow_ the game to load without the dependency - `incompatible`: will _prevent_ the game from loading when the dependency is present - `discouraged`: will _show a warning_ when the dependency is present, but will continue loading For `incompatible` and `discouraged` a `reason` string field has been added that will be shown to users. Please use this field and provide descriptive reasons as to why your mod is incompatible with the other. Example: ```toml [[dependencies.mymod]] type="discouraged" # can be "incompatible" modId="othermod" versionRange="[1.4.3,)" # optional, will match any version by default reason="We conflict because the other mod does...." ``` - `20.4.39-beta` [1.20.4] Make player feet and eyes both need to be in swimmable fluid to swim (#379) Fixes #220 - `20.4.38-beta` [1.20.4] Make keybind menu have scrolling descriptions (#355) Resolves #126 - `20.4.37-beta` [1.20.4] Add trident throw and brushing tool actions (#351) Closes #190 - `20.4.36-beta` Add `copyOf` and `codecOf` utility methods to NonNullList (#392) - `20.4.35-beta` [1.20.4] Render demo mode remaining time text properly (#357) Fixes #166 - `20.4.34-beta` Fix loading named loot tables (#391) - `20.4.33-beta` [1.20.4] Rework how effects determine what they can be cured by (#350) Fixes #322 - `20.4.32-beta` TeamCity change in 'NeoForged / NeoForge' project: project was archived - `20.4.31-beta` Release with actions (#383) - `20.4.30-beta` Add StatAwardEvent (#389) - `20.4.29-beta` Add ItemStack parameter to customArrow method (#388) - `20.4.28-beta` [1.20.4 ] Fixed LootTableLoadEvent not being called and restore loot pool names (#344) Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com> - `20.4.27-beta` Disallow star imports (#387) - `20.4.26-beta` [1.20.4] Change how resource pack grouping works and group mod data packs - take 2 (#367) - `20.4.25-beta` [1.20.4] Fixed NeoForge pack version and description (Attempt 2) (#365) This is a **breaking change** because we are removing the obsolete server/resource pack numbers because vanilla allows us to specify version ranges. Mods can just say they can run on all versions and avoid the red highlighting in pack screens entirely. - `20.4.24-beta` Fix render bounds of more block entities (#384) Shulker box, end gateway, spawner, trial spawner and piston - `20.4.23-beta` Remove unsafe dispatch codec (#343) Modders should make sure that their dispatch targets are instances of MapCodecCodec. - `20.4.22-beta` [1.20.x] Fix Reach Issues (and eclipse compilation issues) (#346) Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com> - `20.4.21-beta` Make server configs used across saves by default (#376) The server config now defaults to being read from the normal `config` folder, but can be overridden by a file with the same path and name placed in `serverconfigs`. - `20.4.20-beta` Bump MixinExtras to 0.3.2 (#380) Fixes a fairly critical bug https://github.com/LlamaLad7/MixinExtras/releases/tag/0.3.2 - `20.4.19-beta` Actually prevent registering IModEvent handlers to the NeoForge bus (#377) - `20.4.18-beta` Have Fishing Rods call onPlayerDestroyItem when they break (#353) Resolves https://github.com/neoforged/NeoForge/issues/111 - `20.4.17-beta` [1.20.4] Made mod list search bar 2 pixels wider for consistency (#352) - `20.4.16-beta` Bump FML and address usages of deprecations (#375) - `20.4.15-beta` Use ID-only snapshot to revert to frozen registry state when leaving singleplayer or disconnecting from server (#372) - `20.4.14-beta` Remove obsolete obfuscation workaround in `Util` (#373) - `20.4.13-beta` Make tests reliable (#362) * Make tests reliable * Move over the caps test * Update ExtendedGameTestHelper.java * move one more test - `20.4.12-beta` Implemented new event ClientPauseUpdatedEvent (#315) - `20.4.11-beta` [1.20.4] Restore serversided onInteractEntityAt event firing (#366) Fixes #363 - `20.4.10-beta` Split mod logo filepath on slashes for mod list menu (#358) Fixes crash when non-root path is specified as mod logo - `20.4.9-beta` Use block's own position when calling canCatchFire in FireBlock (#359) Fixes https://github.com/neoforged/NeoForge/issues/302 Previously, the air position was passed to `canCatchFire`, causing inconsistent behavior. Now the block's own position is passed - `20.4.8-beta` Fixed NeoForge pack version and description (#361) Fixes https://github.com/neoforged/NeoForge/issues/278 Fixes https://github.com/neoforged/NeoForge/issues/360 - `20.4.7-beta` Unquote game dir in runs (#354) - `20.4.6-beta` Redirect crash reports to NeoForge discord instead of Forge forums - `20.4.5-beta` Re-introduce the FenceGateBlock patch (#345) * Reintroduce the fencegateblock patch * Close the gate with redstone * Other way around - `20.4.4-beta` Merge strict and partial NBT ingredients (#342) The new ingredient type is `neoforge:nbt`, partial by default. Add `"strict": true` to make it strict. The recommended JSON format for the NBT is the string format to preserve number primitive type information. - `20.4.3-beta` [20.4] Testing framework for test mods (#291) - `20.4.2-beta` Fix IAttachmentHolder#hasData(Supplier) not working with DeferredHolders (#340) - `20.4.1-beta` Cleanup `Explosion` patch (#339) `getPosition()` is replaced by `center()`, and `getExploder()` is replaced by `getDirectSourceEntity`. - `20.4.0-beta` 1.20.4 Update Update to the 1.20.4 Minecraft hotfix version - `20.3.8-beta` Fix GameTest server generating a full world (#333) It should generate an empty superflat works Should fix the massive slowdown on CI - `20.3.7-beta` Remove leftover IItemExtension sharetag methods (#332) - `20.3.6-beta` correct a bunch of block ctor ATs (#330) - `20.3.5-beta` [1.20.3] Fix render bounds of various BERs and add render bounds debug renderer (#327) - `20.3.4-beta` Remove share tag system (#329) - `20.3.3-beta` Add `addOptionalTag`, `addOptionalTags` methods accepting `TagKey` directly (#319) - `20.3.2-beta` Fix particles jittering when ticks are frozen (#326) - `20.3.1-beta` [20.3] Rework Capabilities: Split Data Attachments and Capabilities (#73) - `20.3.0-beta` Port to 1.20.3 Co-authored-by: Technici4n <13494793+technici4n@users.noreply.github.com> Co-authored-by: XFactHD Co-authored-by: Matyrobbrt Co-authored-by: coehlrich - `20.2.86` 1.20.2 stable release The other planned breaking changes like the networking rework and capabilities rework are now targeted for 1.20.3. - `20.2.85-beta` Bump FML and SJH (#318) - `20.2.84-beta` Ship MixinExtras (#303) * proof of concept for prod mixin extras jij * Make userdev work too * Tweak jarjar metadata template * Update * Update settings.gradle * Update gradle.properties * Update settings.gradle - `20.2.83-beta` Event for finer-grained control over using items on blocks (#296) - `20.2.82-beta` Deprecate mod id inference to prepare for the move of registration events to the Forge bus (#314) - `20.2.81-beta` Remove the `RecipeSerializer` patch (#313) The `fromNetwork` is not actually nullable, (and doing so would be weird API, as it may cause FBB desyncs), and the other comment was stale. - `20.2.80-beta` Bump dependencies (#311) Notable change: ATs can be declared in the `mods.toml` directly (see https://github.com/neoforged/FancyModLoader/commit/2e8cb5b399761398416c99ca3f5c3d3a54eef812). - `20.2.79-beta` TeamCity change in 'NeoForged / NeoForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated - `20.2.78-beta` Fix BER render bounding boxes of various blocks (#180) - `20.2.77-beta` [1.20.2] Reinstate chunk watch events (#285) - `20.2.76-beta` Fix and change chunk ticket registration (#286) No need to work with `ForcedChunkManager` anymore. Create a `TicketController` and register it to `RegisterTicketControllersEvent`. - `20.2.75-beta` Short-circuit the realms availability check in dev (#310) - `20.2.74-beta` Restore smelting result count and nbt extensions (#300) - `20.2.73-beta` [20.2] Fix some of the broken test data (#304) - `20.2.72-beta` [1.20.2] Add an event to register custom sprite source types (#77) - `20.2.71-beta` Cleanup vanilla bugfixes (#254) - `20.2.70-beta` Fix the `test runthis` command (#294) - `20.2.69-beta` Avoid O(n) complexity in MappedRegistry register methods (#279) - `20.2.68-beta` Fix issue link on TC (#301) - `20.2.67-beta` Reallow Warden melee attacks to disable shields (#297) - `20.2.66-beta` Make `ModConfigSpec.Range` public (#287) - `20.2.65-beta` Remove Neo's own PathPackResources (#284) - `20.2.64-beta` Rename certain DR subclass helpers as being 'simple' (#288) Affects `registerItem`, `registerBlock` and `registerBlockItem`. - `20.2.63-beta` [1.20.2] Band-aid fix connections between Neo and vanilla (#283) - `20.2.62-beta` Fix stack overflow when calling `.toString()` on resolved `RecursiveCodec` (#281) - `20.2.61-beta` Add support for optional geometry loaders (#282) - `20.2.60-beta` Update condition key, rewrite `ConditionalCodec` implementation and add tests (#251) Modders need to update from `"conditions"` to `"neoforge:conditions"` in their advancements, recipes, and datapack registry entry JSON definitions. - `20.2.59-beta` [20.2] Registry rework (#257) The Blogpost is available here: https://neoforged.net/news/20.2registry-rework/ --------- Co-authored-by: Minecraftschurli Co-authored-by: Dennis C Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com> - `20.2.58-beta` Move access change in AbstractButton to AT (#276) - `20.2.57-beta` Add Pointed Dripstone drip support to FluidTypes (#246) - `20.2.56-beta` Use `Entity#positionRider` to resync player with vehicle position (#272) - `20.2.55-beta` Allow blocks complete control over breaking sounds (#269) - `20.2.54-beta` Fix FakePlayer instantiation crashing the game (#271) - `20.2.53-beta` Remove redundant `getResource` call in DelegatingPackResources (#149) - `20.2.52-beta` Fix KeyMapping modifiers not being respected in conflicting bindings (#171) - `20.2.51-beta` Fix DeferredSpawnEggItem registering dispenser behaviors off-thread (#268) - `20.2.50-beta` [1.20.2] Use map backing the atlas instead of the atlas itself for liquid texture lookups (#266) Prevents crashes when a chunk is re-batched while reloading resources. - `20.2.49-beta` Fix worlds becoming unusable after custom dimension is removed (#172) - `20.2.48-beta` Use the correct namespace in mobeffectidfix patch (#267) - `20.2.47-beta` [1.20.2] Fix blending issues caused by item decorators (#241) Backup GL state in ItemDecoratorHandler instead of blindly disabling blending after decorators are rendered. - `20.2.46-beta` Fix milk bucket curing effects before advancement trigger (#170) - `20.2.45-beta` Add IForgeBakedModel::getModelData in BlockRenderDispatcher::renderBreakingTexture (#173) - `20.2.44-beta` Bump FML and NeoGradle to remove MC version from the prod jars (#263) - `20.2.43-beta` [1.20.x] Swapped codec of `EnvironmentScanPlacement` for `Direction` for less restrictions (#70) - `20.2.42-beta` Fix some issues with the README (#232) Signed-off-by: Imzxhir <98621617+Imzxhir@users.noreply.github.com> Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com> - `20.2.41-beta` Fixed ModelData not being passed to a `getQuads` call in `ModelBlockRenderer.tesselateWithoutAO` (#262) - `20.2.40-beta` Remove redundant zombie spawn chance config (#163) - `20.2.39-beta` Redo conditional recipe datagen (#250) - Remove `ConditionalRecipeBuilder`. - Add `RecipeOutput.withConditions(...)` to add conditions to recipes. - Use `dispatchUnsafe` for the attachment codec to avoid nesting values when it's unnecessary. - `20.2.38-beta` [1.20.2] Retain insertion order of tag entries (#258) * Retain insertion order of tag entries * Add comment about why insertion order must be retained - `20.2.37-beta` Fix entity loot datagen not using known types (#253) - `20.2.36-beta` Fix PotionBrewing.Mix#ingredient losing its public visibility (#255) - `20.2.35-beta` Correct a grammatical mistake within SUPPORT.md (#175) - `20.2.34-beta` Fix advancement existing file helper checks in datagen (#240) - `20.2.33-beta` Fix misplaced patch in FireBlock (#247) - `20.2.32-beta` Unbreak the MC-176559 fix (#145) - `20.2.31-beta` Allow datagen to use vanilla armor trim textures (#146) - `20.2.30-beta` [1.20.2] Fix waterlogged blocks being flammable (#244) - `20.2.29-beta` [1.20.2] Update NG and switch patches to auto-headers (#245) - `20.2.28-beta` Temporarily disable update checker for Neo itself (#242) - `20.2.27-beta` Fix mouse scroll events and scroll axis handling (#239) - `20.2.26-beta` Fix player renderer getter in EntityRenderersEvent.AddLayers (#237) - `20.2.25-beta` Remove unneeded `ItemPredicate` extra methods (#234) - `20.2.24-beta` Fix signed chat state de-sync caused by `execute run say` (#222) Fixes #186 - `20.2.23-beta` Fix imports in NeoForgeMod (#235) - `20.2.22-beta` Use Correct PoseStack in AFTER_LEVEL (#231) - `20.2.21-beta` Update FML (#233) - `20.2.20-beta` Improve accuracy of FluidType#canConvertToSource for vanilla fluids (#193) - `20.2.19-beta` [1.20.2] Fix ObjLoader leaking and using outdated ResourceManager (#203) - `20.2.18-beta` Use updated translation keys in commands/command arguments (#227) - `20.2.17-beta` Fix DebugLevelSource being off-by-one on grid height (#226) - `20.2.16-beta` Collapse TextureStitchEvent into a single post-stitch event (#208) - `20.2.15-beta` Fix switched armor points icons in HUD (#225) Fixes #224 - `20.2.14-beta` Fix shields being instantly broken (#213) A misapplied patch caused a call to stopUsingItem(), which blanks out the currently-using item, even if the shield didn't break. Fixes #211 - `20.2.13-beta` Fix switched air graphics in breathing bar (#219) - `20.2.12-beta` Tweak actions for PRs (#217) - `20.2.11-beta` Remove deleted build types from TC config (#221) - `20.2.10-beta` Remove TC PR checks (#216) - `20.2.9-beta` Use GitHub Actions for CI on PRs (#214) - `20.2.8-beta` Convert RenderTypes from BakedModel to their corresponding "moving render type" in the FallingBlockRenderer (#206) - `20.2.7-beta` Fix duplicate sprite expansion in FaceBakery (#207) - `20.2.6-beta` Suffix branch in version (#212) This makes installer and other artifacts from non-main branches distinguishable from artifacts of the main branches (e.g., 1.20.x). - `20.2.5-beta` Add changelog publication (#204) - `20.2.4-beta` Update issue_report.md (Forge -> NeoForge) (#178) - `20.2.3-beta` Release 20.2 - `20.2.2-beta` Disable the configuration cache. - `20.2.1-beta` Prepare for 20.2 release. - `20.2.0-beta` Bump AT and CoreMods