Files
CC-Tweaked/projects/forge
Jonathan Coates 5c6e8e434b Rethink turtle/pocket upgrade API (#2513)
- `UpgradeData` now (optionally) stores the upgrade's item in addition
   to the upgrade's data. If the item is not explicitly specified, the
   item is created via `UpgradeBase.getUpgradeItem` as before.

 - Add `UpdateBase.getCraftingIngredient`, allowing upgrades to work with
   multiple items.

 - Add `Abstract{Turtle,Pocket}Upgrade.StackAware` class, for upgrades
   which support this new API.

 - Add `UpgradeHandle` (and matching `I{Turtle,Pocket}.getUpgradeHandle`
   getters), for reading/writing upgrade data.

 - Allow TransformedModel to also hold a list of tints for the model.

 - Update our turtle item colour provider to fetch tints from the
   upgrade's TransformedModel.

   This requires rewriting the quads in the upgrade model, mapping the
   existing tint indices to (2 * tintIndex) + (left ? 1 : 2). We already
   have to rewrite quads to apply transformations, so fortunately this
   isn't too bad.

   I have no clue how this is going to work on 26.3 though 😬.

 - Add a custom turtle upgrade modeller for the storage upgrade that
   applies the shulker tint colour.
2026-10-21 21:49:50 +00:00
..