Skip to content

Goblins Tyranny

BonsUnleashed edited this page Oct 15, 2026 · 6 revisions

Goblins Tyranny

Minecraft 1.20.1 / Forge: this page documents that build and its measurements. For the separate 211-control Minecraft 1.21.1 port, see Minecraft 1.21.1 NeoForge.

Two controls for Goblins Tyranny 1.2.3-forge-1.20.1 (mod id goblins_tyranny): its animation dispatcher returns early for entities that are not its own, and the disguise check keeps its tag key instead of building one on every call. Every switch checks the code it would change against the tested build; another build is left untouched with one WARN line (see How the patches are applied).

Key Target Side Since Kind Result
goblins_animation_entity_guard Goblins Tyranny 1.2.3 BOTH 1.0.14 opt −64.1 % unrelated tick
goblins_cached_disguise_tag Goblins Tyranny 1.2.3 BOTH 1.0.14 opt −93.5 %, 176 → 0 B

goblins_animation_entity_guard

Since: 1.0.14 · Script (1.0.19 and earlier): furious14-goblin_animation.js Patched: goblinstyranny.init.EntityAnimationFactory.onEntityTick Mixin (since 1.0.20): GoblinsAnimationGuardMixin

The same narrowly qualified non-GeoEntity fast return as Terramity's, applied to Goblins Tyranny's dispatcher (28 type branches; all 28 target classes verified to implement GeoEntity). Same preservation rules; same restricted-license packaging.

Measured. Unrelated entity tick 102.27 → 36.68 ns (−64.1 %), 0 B both.


goblins_cached_disguise_tag

Since: 1.0.14 · Script (1.0.19 and earlier): furious14-disguise.js Patched: goblinstyranny.procedures.IsDisguisedProcedure.execute(Event, Entity) Mixin (since 1.0.20): GoblinsDisguiseTagMixin

What upstream did. On every non-null living-entity tick the procedure constructed ResourceLocation("goblins_tyranny:goblins") and called TagKey.create, which builds a candidate TagKey and probes the interner, to test a constant tag.

What the patch does. Creates the TagKey once (deferred to the first eligible execution) and keeps the EntityType.is(tag) call on every execution. It does not cache whether an entity belongs to the tag, so data-pack tag reloads remain effective. Null guard and disguise/target logic keep their order.

Measured. Disguise tag lookup 125.63 → 8.13 ns (−93.5 %), 176 → 0 B.

Bons and Furious

Minecraft 1.20.1 / Forge 1.0.42

Compatibility

Controls by mod

Links

Clone this wiki locally