1.18.x Changelog 40.0 ==== - 40.0.49 Amend license header to include contributors and apply to FML subprojects (#8525) After internal discussion, it was decided that we need to include "contributors" to the license header. This avoids claiming that the Java source files are under the exclusive copyright ownership of Forge LLC, which excludes contributors that still hold copyright ownership over their contributions (but is licensed under the LGPLv2.1 as stated in the Forge CLA). - 40.0.48 Add modern implementation of the Slider widget and deprecate the old one (#8496) - 40.0.47 Implement ItemStack and LivingEntity sensitive method to get the FoodProperties for an Item (#8477) - 40.0.46 Add use context and simulate flag to getToolModifiedState, enabled HOE_TILL action. (#8557) - 40.0.45 Remove bad patch for AbstractFurnaceBlockEntity (#8561) The patch prevented the entity from being marked as changed when an item finished smelting. - 40.0.44 Fix issues with custom forge ingredients causing sub ingredients to be prematurely and invalidly cached (#8550) Add config option and skip checking for empty ingredients in shapeless recipe deserialization - 40.0.43 Add EnderManAngerEvent to make it possible to prevent endermen getting angry at a player based on more then their helmet. (#8406) - 40.0.42 Fix misaligned patch in BlockEntity.save. - 40.0.41 Expose `getHolder()` method on RegistryObject, as helper for when absolutely necessary to pass into Vanilla code. (#8548) It is recommended you avoid if you can. - 40.0.40 Fix return value of Recipe#isIncomplete being inaccurate for empty tags (#8549) - 40.0.39 Simplfy default behavior of isSimple (#8543) isSimple should only return true if the ingredient is any more sensitive then JUST itemA == itemB It used to take metadata and damage into account, but that was removed in the flattening. Also prevents fetching tag values too early, as tags are not ready during the ingredient constructor - 40.0.38 Implement IPlantable in BambooBlock (#8508) - 40.0.37 Fix compiler error in eclipse, bump MCPConfig for FF/Record fix. - 40.0.36 Fix TagEmptyCondition by passing tag context into conditional and recipe deserializers. (#8546) - 40.0.35 Allow using DeferredRegisters for vanilla registries (#8527) Catch and aggregate exceptions when applying object holders - 40.0.34 Remove cut copper from copper storage blocks tag. Closes #8403 (#8539) - 40.0.33 Fix brewing stand input placement not auto-splitting stackable potions. (#8534) - 40.0.32 Fix lost validation of registry data on singleplayer world load (#8533) Fix some leftover 1.18.2 TODOs - 40.0.31 1.18 Allow mod menus to have their own recipebook (#8028) - 40.0.30 [1.18.x] Add 3 new ingredient types, and make existing ingredients compatible with datagen (#8517) - 40.0.29 [1.18.x] Add the projectile search event. (#8322) Co-authored-by: noeppi_noeppi - 40.0.28 Allow confirm-and-save of the Experimental Settings warning. (#7275) - 40.0.27 Add hook for powdered-snow shoes (#8514) - 40.0.26 Add some helper Access Transformers (#8490) - 40.0.25 Fix incorrect method used in getStream (#8532) The original correct method is getPath, but the patch uses getLocation. The former is the actual resource path to the sound OGG file, while the latter is the sound's location. Fixes #8531 - 40.0.24 [1.18] Make it easier to register custom skull blocks models (#8351) - 40.0.23 Rework fog events (#8492) - 40.0.22 Update Forge Auto Renaming Tool to the latest version (#8515) - 40.0.21 Add patches to enable MobEffects with IDs > 255 (#8380) - 40.0.20 Allow sound instances to play custom audio streams (#8295) - 40.0.19 Fix NPE caused by canceling onServerChatEvent (#8516) - 40.0.18 [1.18.2] Fix tags for custom forge registries. (#8495) Tag-enabled registries must now be registered to vanilla's root registry. See RegistryBuilder#hasTags. Modded tag-enabled registries have to use the format `data//tags///.json` This format is to prevent conflicts for registries with the same path but different namespaces EX: Registry name `examplemod:shoe`, tag name `blue_shoes` would be `data//tags/examplemod/shoe/blue_shoes.json` RegistryEvent.NewRegistry has been moved and renamed to NewRegistryEvent. RegistryBuilder#create has been made private. See NewRegistryEvent#create Created new ITagManager system for looking up Forge tags. See IForgeRegistry#tags. Add lookup methods for Holders from forge registries. See IForgeRegistry#getHolder. - 40.0.17 Lower custom item entity replacement from highest to high so mods can cancel it during a specific tick (#8417) - 40.0.16 Fix MC-176559 related to the Mending enchantment (#7606) - 40.0.15 [1.18.x] Allow blocks to hide faces on a neighboring block (#8300) * Allow blocks to hide faces on a neighboring block * Allow blocks to opt-out of external face hiding - 40.0.14 [1.18.x] Fix FMLOnly in forgedev and userdev (#8512) - 40.0.13 Clear local variable table on RuntimeEnumExtender transformation (#8502) - 40.0.12 Pass server resources to reload listener event (#8493) - 40.0.11 Use UTF-8 charset for Java compilation (#8486) - 40.0.10 Use wither as griefing entity when it indirectly hurts an entity (#8431) - 40.0.9 Provide access to the haveTime supplier in WorldTickEvent and ServerTickEvent (#8470) - 40.0.8 Fix durability bar not respecting an item's custom max damage (#8482) - 40.0.7 Add event for controlling potion indicators size (#8483) This event allows forcing the rendering of the potion indicators in the inventory screen to either compact mode (icons only) or classic mode (full width with potion effect name). - 40.0.6 Introduce system mods to mod loading (#8238) Core game mods are mods which are required to exist in the environment during mod loading. These may be specially provided mods (for example, the `minecraft` mod), or mods which are vital to the framework which FML is connected to (for example, Forge and the `forge` mod). These core game mods are used as the only existing mods in the mod list if mod sorting or dependency verification fails. This allows later steps in the which use resources from these mod files to work correctly (up to when the error screen is shown and the game exits). - 40.0.5 Add missing module exports arg to server arguments list (#8500) - 40.0.4 Fixed swim speed attribute (#8499) - 40.0.3 Fix incorrect movement distance calculation (#8497) - 40.0.2 Add support to Forge registry wrappers for new Holder system. Closes #8491 Fix TagBasedToolTypesTest not generating needed data correctly. - 40.0.1 Fix JNA not working at runtime and causing issues with natives. - 40.0.0 Update to 1.18.2 Co-authored-by: sciwhiz12 Co-authored-by: Marc Hermans Co-authored-by: LexManos Co-authored-by: Curle 39.1 ==== - 39.1.2 1.18.x Omnibus (#8239) - 39.1.1 Bump modlauncher and securejarhandler version (#8489) - 39.1.0 Update license headers to compact SPDX format. License has not changed, this is just more compact and doesn't include years. Bump version for RB. 39.0 ==== - 39.0.91 Remove - from allowed characters in mod ids. The Java Module System does not allow them in module ids. Closes #8488 - 39.0.90 Fix static initializer crash when loading BakedRenderable. - 39.0.89 Fix regressions for onAddedTo/RemovedFromWorld and related events (#8434) - 39.0.88 [1.18] Integrate the gametest framework with Forge (#8225) - 39.0.87 Re-add missing Shulker patch for EntityTeleportEvent (#8481) - 39.0.86 Fix entity type in conversion event to Drowned (#8479) - 39.0.85 Add VanillaGameEvent to allow for globally listening to vanilla's GameEvents (#8472) - 39.0.84 Provide damage source context to Item#onDestroyed(ItemEntity) (#8473) - 39.0.83 Add missing shear and elytra game events (#8471) - 39.0.82 Fix comment for permission handler config setting (#8466) - 39.0.81 Apply nullable annotations to LootingLevelEvent (#8422) - 39.0.80 Fix Mob Spawner logic with CustomSpawnRules. Closes #8398 - 39.0.79 Fix LivingDropsEvent not having all drops for foxes (#8387) - 39.0.78 Add missing Locale parameter to String.format calls, Fixes getArmorResource functionality on some locaales. (#8463) - 39.0.77 Allow items to hide parts of their tooltips by default (#8358) - 39.0.76 Prevent 1.x Branches being treated as Pull Requests. (#8443) - 39.0.75 Fix RegistryObject not working if created after registry events (#8383) - 39.0.74 Add support for tagging StructureFeatures (#8408) - 39.0.73 Re-added the patch for LivingExperienceDropEvent and enable it for dragons (#8388) - 39.0.72 Implement getPickupSound on ForgeFlowingFluid (#8374) - 39.0.71 Add getCodec method in ForgeRegistry (#8333) - 39.0.70 Fix #8298 (MobBucketItem) and add test mod (#8313) - 39.0.69 Deprecate IForgeAbstractMinecart::getCartItem (#8283) - 39.0.68 Fix HoeItem patch incorrectly applied during migration. (#8384) - 39.0.67 Fix issues with client only commands in combination with server only commands not using MC's command system. (#8452) - 39.0.66 Fix FoliagePlacerType and TreeDecoratorType registry (#8394) - 39.0.65 Fix PlayerChangeGameModeEvent (#8441) - 39.0.64 Fix comparison of custom ParticleRenderTypes leading to broken particle effects. (#8385) - 39.0.63 Fix cases where null is potentially sent to Screen events. Closes #8432 - 39.0.62 Ensure ScreenEvent doesn't accept null screens (#8296) - 39.0.61 Update cobblestone tags (#8292) - 39.0.60 Prevent release of custom payload packet buffer on the server side. (#8181) - 39.0.59 Make `MinecraftLocator` respect non-`MOD` FML Mod Types Fixes #8344 (#8346) - 39.0.58 Fix vanilla worlds being marked experimental (#8415) - 39.0.57 Simplify usage of IItemRenderProperties::getArmorModel (#8349) - 39.0.56 Hide mod update notification while screen is still fading in (#8386) - 39.0.55 Revert "Hooks to allow registering and managing custom DFU schemes and types. (#8242)" - 39.0.54 Provide NPE protection against out of order init of the TYPES and REF (#8410) - 39.0.53 Add ShieldBlockEvent (#8261) - 39.0.52 Add renderable API to allow easier rendering of OBJ and other custom models, from Entity and BlockEntity renderers. (#8259) This is a redesign of a discarded section of my initial model system rewrite, back in 1.14. In order to use it with the OBJ loader, you can use OBJLoader.INSTANCE.loadModel to get the OBJModel, and then call OBJModel#bakeRenderable() to get a SimpleRenderable object to render with. The SimpleRenderable support animation, by providing different transformation matrices for each part in the MultipartTransforms. Additionally, a BakedRenderable helper exists to turn an arbitrary BakedModel into a renderable. After trying to get the B3D loader to work, I decided it wasn't worth the trouble and marked it for removal instead. - 39.0.51 Merge values of defaulted optional tags, Fixes issue where multiple mods declare the same optional tag. (#8250) - 39.0.50 Added new 1.18 biomes to the BiomeDictionary (#8246) - 39.0.49 Hooks to allow registering and managing custom DFU schemes and types. (#8242) - 39.0.48 Ping data compression (#8169) - 39.0.47 Expand the LevelStem codec to allow dimension jsons to specify that the dimension's chunk generator should use the overworld/server's seed (#7955) - 39.0.46 Add Client Commands (#7754) - 39.0.45 Remove references to the now-broken `BlockEntity#save(CompoundTag)` method (#8235) - 39.0.44 update McModLauncher libraries to newer versions... - 39.0.43 add extra keystore properties - 39.0.42 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.41 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.40 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.39 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.38 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.37 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.36 fix crowdin key - 39.0.35 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.34 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.33 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.32 fix secondary branches builds - 39.0.31 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated - 39.0.30 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated - 39.0.29 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated - 39.0.28 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated - 39.0.27 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated - 39.0.26 TeamCity change in 'MinecraftForge / MinecraftForge' project: parameters of 'Build - Secondary Branches' build configuration were updated - 39.0.25 TeamCity change in 'MinecraftForge / MinecraftForge' project: VCS roots of 'Build - Secondary Branches' build configuration were updated - 39.0.24 Remove primary branches from building on secondary branch configuration and publish crowdin data. (#8397) * Remove the normalized branch names also from the filter. * Add the additional publishing arguments to get the crowdin information. * TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed * Fix the configuration. * Remove the required patch and use the base script. * Make a note about the reference. Co-authored-by: cpw - 39.0.23 TeamCity change in 'MinecraftForge / MinecraftForge' project: project parameters were changed - 39.0.22 Correct the build configuration to support a setup. (#8395) * Add a setup task and publish the correct versions. * Reconfigure build task and disable the normal build and test cycle on everything but pull requests, run an assemble there. * Fix the derp in the build configuration. - 39.0.21 Enable the TeamCity CI pipeline (#8368) * Setup the build.gradle * Setup the teamcity toolchain. * Revert the usage of the local build of GU. * Automatically add it now, it will always exist and is added to maven automatically by GU. * Implement the branch filter and move the constant for the minimal changelog tag to a constant in the extension. * Adding the JDK and Gradle version to the build script. - 39.0.20 Fix and improve Ingredient invalidation (#8361) - 39.0.19 Rework world persistence hooks to fix the double registry injection when loading single player worlds. (#8234) - 39.0.18 Update tags for new 1.17 and 1.18 content (#7891) - 39.0.17 Fix TerrainParticle rendering black under certain conditions (#8378) - 39.0.16 Allow modded tools to work on glow lichen (#8371) - 39.0.15 Fix custom climbable blocks not sending a death message (#8372) Fixes #8370 - 39.0.14 Provide access to the blockstate in BucketPickup#getPickupSound for multiply-logged blocks (#8357) - 39.0.13 Fix clients being unable to deserialize tags for custom registries (#8352) - 39.0.12 Fix particles going fullbright for a few frames when first spawning (#8291) - 39.0.11 Also create parent directories when creating config files (#8364) - 39.0.10 Fix crash with PermissionsAPI (#8330) Fixes a crash in singleplayer, when the internal server didn't shut down correctly between world loads. - 39.0.9 Re-add missing default spawn lists in features (#8285) Fixes #8265 Fixes #8301 - 39.0.8 Fixed incorrect generic in PermissionAPI (#8317) - 39.0.7 Redo of the whole PermissionAPI (#7780) Co-authored-by: LexManos - 39.0.6 Fix misplaced patch in SpreadingSnowyDirtBlock. Fixes #8308. - 39.0.5 Add RenderArmEvent to make overriding just the arm rendering not require copying nearly as much vanilla code (#8254) - 39.0.4 Add MobEffect tags (#8231) - 39.0.3 Log missing or unsupported dependencies (#8218) - 39.0.2 Fix datagen test for sounds definitions provider (#8249) - 39.0.1 Fix wrong stage being declared in transition to common (#8267) - 39.0.0 Update to 1.18.1 Co-Authored by: - Curle _ Orion