mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-05-27 19:54:10 +00:00

0/10, would not recommend. Though increasingly feeling that about modding as a whole — really not feeling as emotionally rewarding as it once did. Server-side changes are well, not simple, but relatively straightforward: - Block removal code is now called before the BE is removed, not after. - Monitors now need to track if they've being removed or not again. - Turtle drop consuming code no longer tries to insert items into the turtle immediately, instead waiting 'til the action is complete. Otherwise if the turtle gets destroyed mid-action (e.g. the block explodes), then it tries to insert its drops into itself! We previously guarded against this by checking if the turtle BE had been removed, but obviously this no longer works, so just easier to shift the insertion. - The interface for reading/writing NBT has been overhauled. It has native "getOr" and codec support (nice!) but also has been changed again in the latest snapshot (less nice!). - The dye item component no longer has a "hide tooltip" flag. We now hide the tooltip with a default component instead. - Related to the above, we can now do all the tooltip-related things we needed to do with vanilla's TooltipProvider. This did require splitting NonNegativeId into subclasses for disk/computer, but otherwise is quite nice. - Some changes to model datagen. Annoying, but boring. - Game tests got a complete overhaul. I'm keeping the interface the same for now (@GameTest), because I'm blowed if I'm datagenning test instances :p. If it's any consolation, both NF and Fabric are doing this too. Client changes are a bit more involved though: - VertexBuffer has been entirely removed. We now construct the GpuBuffer directly. - BakedModel is gone! Oh this caused so much suffering for turtle models. I ended up rewriting the whole system in processes (which then involved PRs to NF and Fabric). Rather than returning a TransformedModel, turtle models are now responsible for rendering the model. This may see another rewrite in the future. I'd like to switch to JSON-based turtle models (like item models), but that's blocked on some changes to NF right now. Sorry to all add-on devs, I know this is a big change.