- `20.4.234` Render local player when the renderViewEntity is not the local player (#859) - `20.4.233` Don't attempt to format modinfo localizations (#686) - `20.4.232` Allow tests to use custom `GameTestHelper` extensions (#762) - `20.4.231` Fix param naming of AbstractContainerScreen#renderSlotContents (#729) - `20.4.230` Allow control over the rendering of slot highlights (#728) - `20.4.229` Add the custom payload id to exceptions thrown by custom payload serializers/deserializers (#754) - `20.4.228` Add a registry dump command (#786) - `20.4.227` Optimize ModelData when used with very few properties (#772) - `20.4.226` [1.20.4] Improve detection of dynamic block light sources during light updates in chunk generation and loading (#765) - `20.4.225` Fixes ModMismatchEvent crash (#784) - `20.4.224` Add getRelevantPlayers method to OnDatapackSyncEvent (#766) Closes #733 - `20.4.223` Mitigate overhead of stack emptyness checks in Ingredient (#759) - `20.4.222` Add Leaves method to ModelProvider.java (#779) - `20.4.221` Fix potential breaking change with fuel values of -1 (#778) - `20.4.220` Deprecate `CommonHooks#getBurnTime` and move functionality to `ItemStack#getBurnTime` (#699) - `20.4.219` Bump Fabric Mixin (#769) - `20.4.218` Add capabilities methods to `ExtendedGameTestHelper` (#760) - `20.4.217` Fix ContextAwareReloadListener for listeners added through the event (#746) - `20.4.216` Register ItemHandler capability for the crafter (#758) - `20.4.215` Fix stock GLM serializers not being registered (#757) - `20.4.214` Add sprite getter to FluidSpriteCache (#747) - `20.4.213` Avoid unnecessarily converting render types to strings (#749) - `20.4.212` Make Data Attachment copy methods public API (#712) - `20.4.211` Minimize allocations and avoid rebuilding weighted list when retrieving potential spawns (#732) - `20.4.210` Add a contribution workflow that spells out the gradle tasks needed (#727) - `20.4.209` Creative flight attribute (#724) - `20.4.208` Fix inaccessible constructor in `AddTableLootModifier` (#698) - `20.4.207` Fix pack ordering for `PackType.SERVER_DATA` (#717) - `20.4.206` Update BoatDispenseItemBehavior.java.patch (#726) - `20.4.205` [1.20.4] Restrict network error logging to config and play phase (#722) - `20.4.204` Fix non-synced data maps being nuked in singeplayer (#718) - `20.4.203` Expand model-level AO hook to allow force-enabling AO irrespective of a block's light emission (#719) - `20.4.202` Update Testframework and setup publishing (#716) * Change how the tesframework handles the result summaries * Add SummaryDumper to produce GitHub Actions step summary * Add SummaryDumper to output a junit xml * Setup publishing for the testframework - `20.4.201` Patch AbstractContainerScreen to allow more control over slot item rendering (#710) - `20.4.200` Update gradle wrapper to gradle 8.6 (#708) - `20.4.199` Add java toolchain block to testframework subproject (#702) - `20.4.198` New Crowdin updates (#680) - `20.4.197` Improve performance of entity fluid ticking (#694) - `20.4.196` Synchronize the Fluid Registry with clients (#691) - `20.4.195` Add `CalculateDetachedCameraDistanceEvent` (#687) - `20.4.194` Sync tags again after syncing registries (#690) - `20.4.193` Update FML to switch to Fabric Mixin (#682) - `20.4.192` Fix crash caused by non-Player camera entities (#688) Fixes an issue introduced by #627. - `20.4.191` Refactor `ContextAwareReloadListener` (#676) - `20.4.190` Fix /neoforge tps command kicking player on dedicated server (#675) - `20.4.189` Do not fire UseItemOnBlockEvent for null players (#670) - `20.4.188` Bump NeoGradle version to fix args in installer for dedicated server (#668) - `20.4.187` New Crowdin updates (#662) - `20.4.186` Refactor localized mod info support (#664) Co-authored-by: Marc Hermans - `20.4.185` Implement type specific suppliers onto config values (#665) - `20.4.184` Add `getExistingData` Optional data attachment method (#618) - `20.4.183` Remove `shouldDrawSurvivalElements()` condition in `MOUNT_HEALTH` (#627) - `20.4.182` Load en_us languages on dedicated server (#658) Co-authored-by: Marc Hermans - `20.4.181` Prevent registering synced data maps for non-synced datapack registries (#613) - `20.4.180` New Crowdin updates (#643) Co-authored-by: Marc Hermans - `20.4.179` l10n: mod name + description support (#649) - `20.4.178` [1.20.4] Add `onDestroyedByPushReaction` hook (#591) - `20.4.177` Add support for custom entity predicates and make some advancements support modded types (#654) - `20.4.176` Create `AddSectionGeometryEvent` (#642) - `20.4.175` Add a spotless task to prevent the removal of interfaces from MC classes (#660) - `20.4.174` Use Collections.emptyMap() for empty ModelData instances (#653) - `20.4.173` Fix `ContainerScreenEvent$Render$Background` running after renderables being drawn. (#620) - `20.4.172` Add support to NBTIngredient for handling attachments (#638) - `20.4.171` Fix writing fluid stack to nbt not copying the stack's nbt and instead passing a direct reference (#652) - `20.4.170` Fix Boat patch accidentally removing VariantHolder interface (#650) - `20.4.169` Allow retrieving all registered `ColorResolver`s (#648) - `20.4.168` Bump NG version to latest (#646) [skip ci] - `20.4.167` 1.20.4 stable release From now on, 1.20.4 will no longer receive breaking changes. - `20.4.166-beta` Fix regressions in difference and intersection ingredients (#644) - `20.4.165-beta` Copy attachments in various places that vanilla copies NBT from one stack to another (#645) - `20.4.164-beta` New Crowdin updates (#593) - `20.4.163-beta` Extensible VertexFormatElement.Usage (#604) - `20.4.162-beta` [Hot/Cold Fix] Fix the implementation of the "minecraft:register" and "minecraft:unregister" payloads (#619) Co-authored-by: Technici4n <13494793+Technici4n@users.noreply.github.com> - `20.4.161-beta` Add a data map for raid hero gifts (#628) - `20.4.160-beta` Let attachments clone themselves more efficiently (#630) - `20.4.159-beta` ProtoChunk Attachments (#622) - `20.4.158-beta` Allow configuring furnace fuels as a data map (#590) - `20.4.157-beta` Add a data map for parrot imitations (#611) - `20.4.156-beta` Fix ItemStack#is(Holder) for custom holders such as DeferredHolders (#623) - `20.4.155-beta` Send full dataslot value on neo<->neo connections (#599) - `20.4.154-beta` Fallback to magic damage on clientside when connecting to vanilla (#615) Prior implementation would crash when `neoforge:poison_damage` was not loaded. - `20.4.153-beta` Allow checking if an AttachmentHolder has any attachments, allow removing attachments, and allow skipping serialization of certain attachments (#609) - `20.4.152-beta` Add a data map for vibration frequencies (#594) - `20.4.151-beta` Add `toStack` helper methods to `DeferredItem` and `DeferredBlock` (#586) Closes #490 - `20.4.150-beta` Fix inventoryTick patch to also count empty slots (#607) - `20.4.149-beta` Remove `alwaysSetupTerrainOffThread` (#577) - `20.4.148-beta` Prevent helmet overlay rendering when spyglass is being used (#603) - `20.4.147-beta` Fix data map sync crash on dedicated servers (#600) - `20.4.146-beta` [1.20.4] Move Attribute to head of registration order (#592) Co-authored-by: Brennan Ward <3682588+Shadows-of-Fire@users.noreply.github.com> - `20.4.145-beta` Add various helpers to FluidStack similar to those in ItemStack and BlockState (#585) - `20.4.144-beta` Simplify shear patches and fix some differences compared to vanilla (#581) - `20.4.143-beta` New Crowdin updates (#498) - `20.4.142-beta` Fix inventoryTick receiving the wrong slot index and deprecate onArmorTick (#549) - `20.4.141-beta` Bump FML (#522) - `20.4.140-beta` Compostables as a data map (#583) - `20.4.139-beta` Removed shrink of U and V by 16 in UnitTextureAtlasSprite (#582) - `20.4.138-beta` [Eclipse Compiler] Fix generic inference issue in DataMapEntry (#587) - `20.4.137-beta` [1.20.4] Reinstate screen drag event patch (#579) - `20.4.136-beta` Fix misaligned ShieldBlockEvent patch (#559) - `20.4.135-beta` [1.20.4] Data maps (#519) - `20.4.134-beta` Remove @NotNull from the codebase (#553) - `20.4.133-beta` Synchronize when iterating over `globalBlockEntities` (#576) - `20.4.132-beta` [1.20.4] Provide preliminary atlas stitch results in ModelEvent.ModifyBakingResult (#575) - `20.4.131-beta` [1.20.4] Add back vanilla RecipeProvider constructor (#578) - `20.4.130-beta` [1.20.4] Fix ModListScreen link detection (#545) - `20.4.129-beta` Simplify LevelRenderer visible block entity patch (#568) - `20.4.128-beta` Expose what entity types have renderers to the AddLayer event (#562) - `20.4.127-beta` [1.20.4] Adjust registration order of modded registry entries to follow BuiltInRegistries.LOADERS (#558) - `20.4.126-beta` Fix CONTRIBUTING link in README (#561) - `20.4.125-beta` Update CONTRIBUTING.md to reflect NeoForge (#570) - `20.4.124-beta` Fix onHorseArmorTick call site (#551) - `20.4.123-beta` Fix LivingEntityUseItemEvent.Start patch (#552) - `20.4.122-beta` [1.20.4] Add Mob Split Event (#524) - `20.4.121-beta` Add attachment support to ItemStack, recipe output codecs, and recipe builders (#475) - `20.4.120-beta` Add RegisterRenderBuffersEvent to register fixed BufferBuilders for RenderTypes (#546) - `20.4.119-beta` Set `IS_RUNNING_IN_IDE` to true in userdev (#544) - `20.4.118-beta` Update formatter config to remove extraneous lines at the beginning and end of declarations (#543) - `20.4.117-beta` Add `RegisterMenuScreensEvent` to replace `MenuScreens#register(MenuType, ScreenConstructor)` (#508) - `20.4.116-beta` Move `BuildCreativeModeTabContentsEvent` out of client-only code (#541) - `20.4.115-beta` [1.20.4] Properly log exceptions in the vanilla network stack (#525) - `20.4.114-beta` Bump MixinExtras to 0.3.5 (#532) - `20.4.113-beta` Add `CalculateTurnPlayerValuesEvent` (#534) - `20.4.112-beta` Fire LivingConversionEvent Pre and Post properly for Husk, Tadpole, Mooshroom, and Skeleton conversions (#514) - `20.4.111-beta` Extra Stock JSON Types (#466) GLM: `add_table`. Biome modifiers: `add_carvers`, `remove_carvers`, `add_spawn_costs`, `remove_spawn_costs`. Structure modifiers: `add_spawns`, `remove_spawns`, `clear_spawns` - `20.4.110-beta` Update and re-run tests datagen [skip ci] (#529) - `20.4.109-beta` [1.20.4] Fix GUI far plane calculation to match vanilla (#507) - `20.4.108-beta` Closes #516 (#517) - `20.4.107-beta` Have Watchdog print the full stacktraces when doing a thread dump, for easier debugging (#512) - `20.4.106-beta` Add a source comment to fields targeted by the field_to_method.js coremod (#486) - `20.4.105-beta` Make chunk sections only resolve Blocks.AIR for vanilla air blocks, preserving modded air (#471) - `20.4.104-beta` [1.20.4] Add GetEnchantmentLevelEvent to inspect and modify enchantments on arbitrary items. (#503) - `20.4.103-beta` Update license branding (#80) - `20.4.102-beta` [1.20.4] Extensible Damage Types (#509) - `20.4.101-beta` [1.20.x] Broaden generic restrictions on `RangedCrossbowAttackGoal` (#76) - `20.4.100-beta` Fix an unnecessary cast in EntityRenderersEvent.AddLayers (#510) - `20.4.99-beta` Fix fluid rendering logic erroneously vanilla overlay texture (#513) - `20.4.98-beta` Fix gametests running when the tick manager is not ticking normally. (#504) - `20.4.97-beta` Add a simple hook to allow custom fluid rendering (#501) - `20.4.96-beta` Bump MixinExtras to 0.3.3 (#502) - `20.4.95-beta` Fix the `/neoforge tps` command not taking into account the actual tick rate of the world (#500) - `20.4.94-beta` Fix custom baked quad generators producing tinted quads by default (#496) - `20.4.93-beta` [1.20.4] Add thread-safe side-band system for lighting driven by BlockEntity data (#464) - `20.4.92-beta` New Crowdin updates (#470) - `20.4.91-beta` Add conditional pack overlays (#483) See `GeneratingOverlayMetadataSection` for data generation. - `20.4.90-beta` Fix Crowdin link on readme (#488) [no ci] - `20.4.89-beta` Add withAlternative variant that supports MapCodecs (#478) Also move conditional codecs from NeoForgeExtraCodecs to their corresponding classes to prevent accidental eager class loading of a large number of classes when using helpers in NeoForgeExtraCodecs - `20.4.88-beta` Bump NG to fix the installer not working on Java 8 (#487) Fixes #479 - `20.4.87-beta` Fix `LootTableLoadEvent` being called for the empty table (#485) Fixes #474 - `20.4.86-beta` Add crowdin link in readme (#481) [no ci] - `20.4.85-beta` Make sure empty model data is not inserted into manager (#477) - `20.4.84-beta` Check registry aliases in registry.get(ResourceLocation) (#484) - `20.4.83-beta` [1.20.4] Snapshot ModelDataManager in RenderChunkRegion instead of exposing original ModelDataManager owned by ClientLevel (#433) - `20.4.82-beta` Fix misaligned patch in EntityType Settings (#448) - `20.4.81-beta` Allow attachments to capture a reference to their holder on construction (#462) See the new `AttachmentType.builder` and `AttachementType.serializable` methods. The constructor only receives `IAttachmentHolder` and must cast it to the expected type. - `20.4.80-beta` Create AttachmentHolder map lazily and reduce its default capacity (#469) To reduce the memory footprint of ItemStacks. - `20.4.79-beta` New Crowdin updates (#447) - `20.4.78-beta` Update NG and use newer installer versions (#468) - `20.4.77-beta` Expand particle bounding boxes by 1 unit in all directions when culling (#458) - `20.4.76-beta` Expose BlockBehaviour#propertiesCodec via AT (#461) - `20.4.75-beta` Fix finalize spawn playing ambient sounds for cancelled mob spawns (#460) This PR stops ambient mob sounds from playing if mob was spawn was cancelled via the `MobSpawnEvent.FinalizeSpawn` event, with this change also comes added benefit of mob spawning side effects not occurring if mob spawn was cancelled (wandering trader spawning llamas). If the mob spawn was cancelled we now discard the mob and return null from `EntityType.spawn`, this tells callers of the method that the entity failed to spawn, leading to side effects of initial spawn not occurring since the `mob` is now null. - `20.4.74-beta` NeoForge chunk generate command improvements (#452) Based on some additional feedback from: https://github.com/jaskarth/fabric-chunkpregenerator/pull/27 I removed the workaround fix radius check out of GenerationTask class and instead, added the missing x radius check into CoarseOnionIterator since that was the real original cause of the command going beyond 100% at times. I also removed scheduling the completable future in a server task runnable because that was an unneeded redirection by mistake. I also added comments to state which parts of the code is safe to be on off thread and which has to be on server to help future maintainability. Added correct executor to the runAsync call as well - `20.4.73-beta` Fix misplaced patch in Mob and prevent the addition of trailing spaces in patches (#451) - `20.4.72-beta` Fix NoClassDefFoundError on dedicated server (#455) - `20.4.71-beta` Add public getters for shaped recipe max width and height (#453) - `20.4.70-beta` Network refactoring (#277) - `20.4.69-beta` Add back Level data attachments (#435) The typical use case is to store non-persistent client-side data, or have similar handling for data on both the client and server side. The implementation for persistence is basically the same as for the pre-1.20.2 capabilities. - `20.4.68-beta` Add translations from Crowdin (#446) - `20.4.67-beta` Fix signature of simpleCookingRecipe in AT (#440) A parameter of type `AbstractCookingRecipe$Factory` was added to `RecipeProvider#simpleCookingRecipe` and `RecipeProvider#oreCooking`, so the access transformer entries needs to be changed as well. - `20.4.66-beta` Update Crowdin configuration file - `20.4.65-beta` Update FML to prevent the Netty exceptions from being logged (#442) - `20.4.64-beta` Add Crowdin configuration file (#439) - `20.4.63-beta` Fix seams on generated item models (MC-73186) (#437) This PR fixes the large seams on generated item models, fixing [MC-73186](https://bugs.mojang.com/browse/MC-73186) for these models. Non-generated models and models which entirely replicate the item model generation should be unaffected. - `20.4.62-beta` Fix EmptyModel.BAKED returning null quad list (#434) A `SimpleBakedModel` must always have a quad list for each face. If a `null` list is returned the game will typically crash (as I found out by using `EmptyModel.BAKED` in a mod of mine). - `20.4.61-beta` Infrastructure for PR publishing (#429) Adds the ability to publish PRs to GitHub Packages for testing purposes. - `20.4.60-beta` Remove conditional recipe serializer, use regular conditions instead (#427) - `20.4.59-beta` Bump CoreMods version. (#426) Update CoreMods version to 6.0.4 which uses the new SPI artifact. This fixes the duplicate SPI dependencies which caused a `NoClassDefFoundError` in certain situations. - `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