Update Changelogs authored by Ashijin's avatar Ashijin
...@@ -2,32 +2,21 @@ ...@@ -2,32 +2,21 @@
# 5.12.0 # 5.12.0
Highlights General
---------- ----------
- Rewrote resource pack generation for modern item model definitions, overlays, paintings, sounds, fonts, tooltips, and deployment. - Added 26.1.x and 1.21.11 support
- Added Folia support
- Major rewrite of pack generation.
- Pack generation will now work out of the box using mcpacks.
- Added custom equippable slots with custom menu support. - Added custom equippable slots with custom menu support.
- Added inventory interaction triggers for place, take, move, and drag/drop workflows. - Added inventory interaction triggers for place, take, move, and drag/drop workflows.
- Added connectable furniture, furniture occlusion culling, and WorldEdit furniture copy/paste support. - Added connectable furniture, furniture occlusion culling, and WorldEdit furniture copy/paste support.
- Added random tick skills for custom blocks and furniture. - Added random tick skills for custom blocks and furniture.
- Added Paper `26.1.x` support, Java 25 server compatibility work, and 1.21.11 pack format handling.
General
-------
- Converted the project from Maven to Gradle.
- Updated the plugin to `api-version: 1.21`.
- Marked the plugin as Folia-supported.
- Added automatic merging of new Crucible config defaults into existing Mythic config files.
- Moved old Crucible config values into Mythic's current `config-items.yml` and `config-generation.yml` layout.
- Added `files/` folder support for lore templates, fonts, worldgen, equipment sets, tooltips, and augments.
- Added support for Minecraft 1.21.11 resource-pack and datapack formats.
- Added initial Paper `26.1.x` compatibility work for Java 25 servers.
- Re-enabled bStats.
- Cleaned up older pre-1.21 code paths and removed the old pre-1.21 crafting module.
Resource Pack Generation Resource Pack Generation
------------------------ ------------------------
### NEW: Pack Generation Rewrite ### Pack Generation Rewrite
- Reworked the generator into smaller dedicated generators for item models, legacy overrides, pack merges, sounds, fonts, tooltips, textures, paintings, and missing texture patching. - Reworked the generator into smaller dedicated generators for item models, legacy overrides, pack merges, sounds, fonts, tooltips, textures, paintings, and missing texture patching.
- Added safer generation sessions and clearer generation error logging. - Added safer generation sessions and clearer generation error logging.
- Added per-pack and per-item generation namespaces. - Added per-pack and per-item generation namespaces.
...@@ -90,8 +79,9 @@ Generation: ...@@ -90,8 +79,9 @@ Generation:
- ">= 26.1" - ">= 26.1"
``` ```
### NEW: Item Model `Condition` ### Item Definition Support
- Added support for modern item model `Condition` definitions.
- Added support for item model `Condition` definitions.
```yaml ```yaml
MagicShield: MagicShield:
...@@ -103,8 +93,7 @@ MagicShield: ...@@ -103,8 +93,7 @@ MagicShield:
Model: item/magic_shield_blocking Model: item/magic_shield_blocking
``` ```
### NEW: Item Model `Select` - Added support for item model `Select` definitions.
- Added support for modern item model `Select` definitions.
```yaml ```yaml
MenuIcon: MenuIcon:
...@@ -120,7 +109,7 @@ MenuIcon: ...@@ -120,7 +109,7 @@ MenuIcon:
``` ```
### NEW: Item Model `Composite` ### NEW: Item Model `Composite`
- Added support for modern item model `Composite` definitions. - Added support for item model `Composite` definitions.
```yaml ```yaml
LayeredBlade: LayeredBlade:
...@@ -131,8 +120,7 @@ LayeredBlade: ...@@ -131,8 +120,7 @@ LayeredBlade:
- Model: item/blade_gem_overlay - Model: item/blade_gem_overlay
``` ```
### NEW: Item Model `RangeDispatch` - Added support for item model `RangeDispatch` definitions.
- Added support for modern item model `RangeDispatch` definitions.
```yaml ```yaml
ChargedBow: ChargedBow:
...@@ -149,7 +137,6 @@ ChargedBow: ...@@ -149,7 +137,6 @@ ChargedBow:
Model: item/charged_bow_pulling_2 Model: item/charged_bow_pulling_2
``` ```
### NEW: Item Model Tints
- Added support for extra tint entries during item model generation. - Added support for extra tint entries during item model generation.
- Supports constant, custom model data, dye, firework, grass, map color, potion, and team tint types. - Supports constant, custom model data, dye, firework, grass, map color, potion, and team tint types.
...@@ -179,20 +166,7 @@ HiddenCaseItem: ...@@ -179,20 +166,7 @@ HiddenCaseItem:
Empty: true Empty: true
``` ```
### NEW: Custom Armor Components ### Custom Painting Generation
- Added component-based armor generation support.
- Custom armor generation now defaults to the component method in the generated config.
```yaml
CrystalHelmet:
Material: DIAMOND_HELMET
Generation:
Armor:
Texture: armor/crystal
Type: COMPONENT
```
### NEW: Custom Painting Generation
- Added `Type: PAINTING` items for generating 1.21.4+ painting variants. - Added `Type: PAINTING` items for generating 1.21.4+ painting variants.
```yaml ```yaml
...@@ -207,29 +181,21 @@ AncientMapPainting: ...@@ -207,29 +181,21 @@ AncientMapPainting:
Author: "Mythic" Author: "Mythic"
``` ```
### Pack Merging ### Other
- Added MythicHUD pack merging.
- Improved HappyHUD, Emojy, and ModelEngine pack merging.
- Pack-level `assets/merge` folders are now copied into the generated pack.
- JSON and `pack.mcmeta` files are merged instead of blindly replaced where possible.
### Generated Assets
- Added generated sound asset support.
- Added generated tooltip asset support. - Added generated tooltip asset support.
- Added generated font asset support.
- Added custom painting atlas/data generation. - Added custom painting atlas/data generation.
- Added 1.21.11 atlas split handling for newer pack formats. - Added 1.21.11 atlas split handling for newer pack formats.
- Added missing texture patching for missing or `missingno` model references. - Added missing texture patching for missing or `missingno` model references.
- Added path sanitizing for generated model paths so invalid resource-location characters are replaced safely. - Added path sanitizing for generated model paths so invalid resource-location characters are replaced safely.
Item Changes Items
------------ -----
### NEW: Custom Equippables ### Custom Equippables
- Added custom equippable slots backed by player variables. - Added custom equippable slots defined in `config-items.yml`
- Custom slots can define a checked vanilla slot and equip conditions.
- Items can use custom slots through `EquipSlot`. - Items can use custom slots through `EquipSlot`.
Example `config-items.yml` entry:
```yaml ```yaml
Configuration: Configuration:
Equippables: Equippables:
...@@ -240,13 +206,16 @@ Configuration: ...@@ -240,13 +206,16 @@ Configuration:
Display: Ring Display: Ring
EquipConditions: EquipConditions:
- haspermission{p=items.ring} true - haspermission{p=items.ring} true
```
Example item config:
```
RubyRing: RubyRing:
Material: AMETHYST_SHARD Material: AMETHYST_SHARD
EquipSlot: RING EquipSlot: RING
``` ```
### NEW: `Options.InfiniteQuiver` ### NEW: `InfiniteQuiver`
- Added `Options.InfiniteQuiver` to allow bows to shoot without consuming arrows. - Added `Options.InfiniteQuiver` to allow bows to shoot without consuming arrows.
- Extended `Options.InfiniteQuiver` support to crossbows. - Extended `Options.InfiniteQuiver` support to crossbows.
...@@ -257,7 +226,7 @@ EndlessBow: ...@@ -257,7 +226,7 @@ EndlessBow:
InfiniteQuiver: true InfiniteQuiver: true
``` ```
### NEW: `Options.PreventBlockInteraction` ### NEW: `PreventBlockInteraction`
- Added `Options.PreventBlockInteraction` to stop an item from right-clicking blocks when used. - Added `Options.PreventBlockInteraction` to stop an item from right-clicking blocks when used.
```yaml ```yaml
...@@ -267,17 +236,7 @@ MagicWand: ...@@ -267,17 +236,7 @@ MagicWand:
PreventBlockInteraction: true PreventBlockInteraction: true
``` ```
### NEW: Nexo Items ### Multiline Augment Tooltips
- Added `NexoId` support for generating Crucible items from Nexo item definitions.
```yaml
NexoBackedItem:
Material: PAPER
NexoId: ruby_sword
Display: "<red>Ruby Sword"
```
### NEW: Multiline Augment Tooltips
- Augment `Tooltip` can now be a list. - Augment `Tooltip` can now be a list.
```yaml ```yaml
...@@ -290,7 +249,7 @@ SharpnessAugment: ...@@ -290,7 +249,7 @@ SharpnessAugment:
- "<dark_gray>Socket this into a weapon" - "<dark_gray>Socket this into a weapon"
``` ```
### NEW: Item Upgrade `u` Formula Variable ### Item Upgrades
- Added `u` to item upgrade stat formulas. - Added `u` to item upgrade stat formulas.
- `u` represents the upgrade level relative to the item's default level. - `u` represents the upgrade level relative to the item's default level.
...@@ -326,8 +285,8 @@ StoryItem: ...@@ -326,8 +285,8 @@ StoryItem:
- "<item.data.description{wrap=32;wrapLinePrefix=\"<gray>\"}>" - "<item.data.description{wrap=32;wrapLinePrefix=\"<gray>\"}>"
``` ```
Furniture Changes Furniture
----------------- ---------
### NEW: Connectable Furniture ### NEW: Connectable Furniture
- Added `ConnectionModels` for furniture that changes model based on neighboring furniture of the same type. - Added `ConnectionModels` for furniture that changes model based on neighboring furniture of the same type.
...@@ -347,7 +306,7 @@ CastleWall: ...@@ -347,7 +306,7 @@ CastleWall:
Outer: mythic:item/wall_outer Outer: mythic:item/wall_outer
``` ```
### NEW: Furniture Occlusion Culling ### Furniture Occlusion Culling
- Added optional per-player furniture culling behind solid blocks. - Added optional per-player furniture culling behind solid blocks.
- Can be configured globally and overridden per furniture with `Cullable`. - Can be configured globally and overridden per furniture with `Cullable`.
...@@ -369,7 +328,7 @@ HiddenStatue: ...@@ -369,7 +328,7 @@ HiddenStatue:
Cullable: true Cullable: true
``` ```
### NEW: WorldEdit Furniture Copy/Paste ### WorldEdit Furniture Copy/Paste
- Added WorldEdit support for copying and pasting furniture entities. - Added WorldEdit support for copying and pasting furniture entities.
- Furniture type, state, color, orientation, and variables are restored during paste. - Furniture type, state, color, orientation, and variables are restored during paste.
... ...
......