Craftics v0.4.4-1.21.4
Curse Maven Snippet
What's new
Modpack Additions
- Ex Barrels (created by me) so we can farm dirt on our islands now.
- MC Forum (created by me) for in server chats and conversations.
- EMI and EMI addons for crafting recipes and enchantment descriptions
Battle Party: A Real Keybind, and Glowing Members
- **Adding a mob to your battle party has a keybind now** (**P** by default), so it no longer depends on Shift + Right-Click. Look at a mob and press it. Being a keybind means it is listed in the controls screen, you can move it, and Minecraft arbitrates conflicts between binds itself - none of which was true of a hardcoded modifier and click
- This was a real clash rather than a tidy-up: Carry On picks mobs up with exactly that gesture, so with both mods installed one click both picked the mob up and toggled your party
- **Shift + Right-Click can be switched off** with the new `partyToggleByShiftClick` option. It stays on by default, so nothing changes unless you want it to; turn it off and the gesture belongs to Carry On alone while the keybind keeps working
- **Party members glow**, so you can see which animals are coming with you. It uses the entity's glow flag rather than the Glowing status effect - an effect has a duration and would quietly lapse, leaving a member looking unselected, while the flag persists with the membership it represents. The outline is re-applied wherever the party is synced, so it survives a relog and follows pets home after a run
Killed For Real By An Evoker
- Fixed evoker fangs killing you outright and stranding the run. The evoker's attack spawned three **real** Evoker Fangs entities at your feet - the code called them a visual effect, but that entity ticks on its own and bites for genuine magic damage a moment after the turn resolved. The metered hit landed, your health was clamped to 1 to hold you for the death animation, and then a fang bit for real: vanilla death screen, mid-fight, no way back into the run
- The fangs are drawn with particles now. Nothing in an arena may deal damage on its own schedule - every point of damage in a fight goes through one path so it can be metered, resisted and survived
- **The off-turn damage guard had a hole the same shape.** It only refused damage from a *living* attacker, and Evoker Fangs is a plain entity, so it sailed straight past. Area effect clouds, arrows with no shooter and falling blocks all have that shape too. Any entity's damage is now refused during a fight; damage with no entity behind it, like falling or drowning, is still Craftics' own business and is left alone
- **A fight can no longer end in a vanilla death at all.** If anything does get damage past the metered path, the death is refused and handed to Craftics' own defeat flow instead - the animation, the totem, the party hand-off, the proper end of the run. It is a backstop rather than a fix, so it names the cause in the log: anything it catches is a bug of its own
Two Things That Looked Wrong
- The ten Simply Swords weapons added in 1.70 now describe their Craftics ability on their tooltip. They fought correctly from the start; they just never said what they did, because the ability table and the tooltip table are two lists in two files and only one of them got the new entries
- The Level Select block renders as a proper isometric block in recipes and inventories instead of a flat side-on sprite. Its model came out of Blockbench with no parent, so it inherited none of the display transforms every other block item is drawn with - including the rotation that makes a block look like a block
EMI and JEI Support
- **EMI and JEI both work alongside Craftics now.** Either one's item grid draws in the space either side of the inventory, the same space the stat and damage-affinity panels use, so **only one of them is up at a time**
- **Your existing panel key (U) swaps them.** Turning the stat panels off hands the space to the recipe viewer; turning them back on takes it back. They share one screen region, so "off" for one is the same event as "on" for the other. With no viewer installed the key behaves exactly as it always did and simply hides the panels
- The viewer starts hidden, so a new player still meets the Craftics panels first, and it is held there rather than set once. EMI reads its own config back off disk during startup and again whenever its settings screen is opened, so a single "hide it" at launch was a race against load order - which is why it was coming up visible
- Craftics never writes to either mod's config - the switch is thrown in memory for the session only, so playing with this mod cannot leave your recipe viewer turned off after you stop
- Having EMI and JEI installed at the same time is handled rather than left to luck: the panels stand down for either, and hiding puts both away instead of leaving a second grid behind the first
- Because Craftics holds the viewer's state, the viewer's own visibility keybind no longer sticks. One owner of that switch is what keeps "never both on screen" true against a mod that resets it from disk behind us
One Effect, One Meaning, Whoever Has It
Poison, Wither, Burning and Bleeding used to mean different things depending on whether they landed on you or on a mob. The tick formulas were already shared; what was not shared is now.
- **Damage over time scales with the pool it is eating.** Every DoT tick carries a share of the victim's own maximum health, which mobs have always paid and players never did. This is what stops one rule needing two balance tables: a twentieth of the pool is +1 on a 20 HP player and +20 on a 400 HP boss, so the scaling falls out of whose health bar it is rather than being hand-tuned per side
- **Bleeding is a stack count on both sides now.** It always was on mobs - hit something with a Sharpness V sword and it gains five stacks, which decay one per turn and fade as they go. On a player it was a duration that *replaced itself* on every application, so a mob hitting you five times left bleed exactly where it started while the same five hits on a mob built to five stacks. Player bleed now accumulates and decays identically
- **Vulnerable** is new, and it is Resistance with the sign flipped: +2 damage taken per level. Mobs could always have their guard stripped and players could not, so any effect that wanted to do it to a player had nothing to apply. It counts as a debuff, so cleanses remove it
- Bleed on the two content sources that expressed it as a duration (an instrument song, modded mob weapons) was rewritten as stacks at the same strength, rather than bending the rule to fit them
- **Damage over time is gentler on players than on mobs**, by one factor applied at the very end. A mob only has to survive this fight; your health bar has to last the whole run, so the same number is not the same threat. Poison I now reads 4, 3, 2 a turn where it read 5, 4, 3; burning and wither come down by roughly the same. The formulas themselves are untouched and still shared - the difference between the two sides is a single readable number, not a second ruleset
- **Bleed is capped at five stacks on a player** and never hits harder than the flat version it replaced, at any strength. Sharpness V used to bleed you for 7 a turn for its whole duration; it now peaks at 5 and decays from there. Accumulation still matters - five stacks hurt far more than one - it simply cannot run away on a health bar that small
The guard is a test that gives a mob and a player the same maximum health, applies the same effect, and demands the identical number out of both - no allowance subtracted. That, plus a bleed-curve comparison turn by turn, is what stops the two drifting apart again.
Your Status Effects Are Yours Again in Multiplayer
Four separate places were telling every player about one player. Together they made a single member's debuff look like the whole party had been hit.
- **Chat.** Fourteen second-person lines - "Magma burns you", "Regeneration healed 2 HP", "You breathe in the poison cloud" - went to the entire party. Nine of them live in the per-turn hazard pass, which runs once per member, so a three-player party got one person's poison tick printed three times to everyone. Chat is where players read what happened to them, so this alone was most of the problem. They now go to the player they are about
- **The effects strip.** The combat sync packet carries one effects string and every client stores it as "my effects". Each client is now sent its own, including its own stealth state
- **Screen overlays.** Blindness, Darkness, Poison, Burning and Warped vignettes all read that same shared string, so the turn holder's blindness dimmed everybody's screen. Darkness also hides distant enemies, and it was hiding them from the whole party - the code even documents that as per-player, which it had quietly stopped being
- **The low-health warning.** The red pulsing edge read a shared health value, so the party saw it whenever the turn holder was hurt, while a player actually near death saw nothing. Each client is now sent its own health
Worth saying plainly: the effects themselves were never shared. Regeneration really was healing only the player who had it, and poison really was only damaging the player who ate the thing. The server had it right and everything the player could see had it wrong.
Tamed Animals Actually Reach Your Island Now
- Fixed tamed animals never arriving home. The game said they had been sent, and they had not been
- An animal tamed in a fight is copied home from a snapshot taken of the mob standing in the arena, so the copy carried that mob's entity id. The original was still in the arena at that moment, and a world refuses a second entity holding an id it already has, so the homecoming copy was dropped with nothing but a log line. A pet brought FROM your island never hit this, because its original is removed the moment it is collected for a fight - which is exactly why hub pets came back and tamed ones did not. The arena mob is now retired before its copy is sent
- Fixed a guest's tamed animal landing nowhere in multiplayer. Each animal is routed to its owner's island, but that lookup was skipped whenever the animal already belonged to the player the restore was running for, on the assumption they were standing on their own island. A guest fights inside the HOST's island, so a guest's own animal was spawned into the host's world at the guest's coordinates. Every animal now resolves its owner's island explicitly
- The "sent home to your island" message reports what actually arrived, and says so plainly when something did not. Announcing success regardless is what let this look fine for so long
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

