From dc2c4cf0140ab1e47ff72ff668964b809dd3f07c Mon Sep 17 00:00:00 2001 From: craisinlord <82604836+craisinlord@users.noreply.github.com> Date: Sat, 4 Jul 2026 21:27:59 -0500 Subject: [PATCH] Scorpion, bed bug, creeping horror overhaul. Pill bug assets. Big Bertha mode switching bug. Gravity gun keybind bug --- .../content/entity/ant/AntTeleportHelper.java | 2 +- .../antarchy/content/item/BigBerthaItem.java | 9 + .../network/BigBerthaModeCyclePayload.java | 17 + .../animations/jumpy_bug.animation.json | 128 -- .../animations/pill_bug.animation.json | 1227 +++++++++++++++++ .../animations/scorpion.animation.json | 224 +-- .../assets/antarchy/geo/bed_bug.geo.json | 9 +- .../antarchy/geo/creeping_horror.geo.json | 47 +- .../assets/antarchy/geo/jumpy_bug.geo.json | 57 +- .../assets/antarchy/geo/pill_bug.geo.json | 116 ++ .../assets/antarchy/geo/scorpion.geo.json | 28 +- .../antarchy/textures/entity/bed_bug.png | Bin 2916 -> 3891 bytes .../textures/entity/creeping_horror.png | Bin 12279 -> 7686 bytes .../antarchy/textures/entity/jumpy_bug.png | Bin 30719 -> 28712 bytes .../textures/entity/pill_bug/pill_bug.png | Bin 0 -> 3202 bytes .../entity/pill_bug/pill_bug_saddled.png | Bin 0 -> 4164 bytes .../antarchy/textures/entity/scorpion.png | Bin 2395 -> 4145 bytes .../client/AntarchyFabricClientBootstrap.java | 1 + .../fabric/client/BigBerthaClientHandler.java | 39 + .../client/GravityGunClientHandler.java | 4 +- .../network/AntarchyFabricNetworking.java | 10 + .../client/BigBerthaClientHandler.java | 42 + .../client/GravityGunClientHandler.java | 18 +- .../network/AntarchyGravityNetworking.java | 20 + 24 files changed, 1709 insertions(+), 289 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/network/BigBerthaModeCyclePayload.java create mode 100644 common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json create mode 100644 common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/client/BigBerthaClientHandler.java create mode 100644 neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBerthaClientHandler.java diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/ant/AntTeleportHelper.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/ant/AntTeleportHelper.java index 2e67a9c1..29dbd29b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/ant/AntTeleportHelper.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/ant/AntTeleportHelper.java @@ -90,7 +90,7 @@ public final class AntTeleportHelper { return destination; } - // If the player's respawn is not in the overworld, return them to overworld spawn instead. + // If the player's respawn is not in the overworld, return them to overworld spawn instead return player.server.overworld(); } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java index 0ffc3755..de04c0dc 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java @@ -335,6 +335,15 @@ public class BigBerthaItem extends SwordItem implements GeoItem { } } + public boolean tryCycleModeWhileCoolingDown(Level level, Player player, ItemStack stack) { + if (player.getMainHandItem() != stack || !player.isShiftKeyDown() || !player.getCooldowns().isOnCooldown(this)) { + return false; + } + + cycleMode(level, player, stack); + return true; + } + private void startMolevoreSpin(Level level, Player player, ItemStack stack) { Vec3 direction = player.getLookAngle().multiply(1.0D, 0.0D, 1.0D); if (direction.lengthSqr() < 1.0E-4D) { diff --git a/common/src/main/java/com/craisinlord/antarchy/content/network/BigBerthaModeCyclePayload.java b/common/src/main/java/com/craisinlord/antarchy/content/network/BigBerthaModeCyclePayload.java new file mode 100644 index 00000000..d3f1fcc4 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/network/BigBerthaModeCyclePayload.java @@ -0,0 +1,17 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +public record BigBerthaModeCyclePayload() implements CustomPacketPayload { + public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bertha_mode_cycle")); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(new BigBerthaModeCyclePayload()); + + @Override + public Type type() { + return TYPE; + } +} diff --git a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json index c81914d5..fbcdb91e 100644 --- a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json @@ -103,22 +103,6 @@ } } }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.5": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "rightGrip": { "rotation": { "0.0": { @@ -349,22 +333,6 @@ } } }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.5": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "leftGrip": { "rotation": { "0.0": { @@ -705,16 +673,6 @@ } } }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "rightGrip": { "rotation": { "0.0": { @@ -1271,16 +1229,6 @@ } } }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "leftGrip": { "rotation": { "0.0": { @@ -1728,28 +1676,6 @@ } } }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "rightGrip": { "rotation": { "0.0": { @@ -2292,28 +2218,6 @@ } } }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "leftGrip": { "rotation": { "0.0": { @@ -2615,22 +2519,6 @@ } } }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "rightGrip": { "rotation": { "0.0": { @@ -2873,22 +2761,6 @@ } } }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "leftGrip": { "rotation": { "0.0": { diff --git a/common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json new file mode 100644 index 00000000..f116c24e --- /dev/null +++ b/common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json @@ -0,0 +1,1227 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 4, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.2083": { + "post": { + "vector": [-7.5, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.2083": { + "post": { + "vector": [-7.5, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "wheel": { + "scale": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 0.25, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [0, -0.25, 0] + }, + "0.25": { + "vector": [0, 0, 0] + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [17.75313, 9.53274, 3.03513] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [17.75313, -9.53274, -3.03513] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-8.64451, -19.94403, 24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [8.64451, 19.94403, 24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [8.64451, 19.94403, 24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [8.64451, -19.94403, -24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [8.64451, -19.94403, -24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -45, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-8.64451, 19.94403, -24.02271] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 45, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "wheel": { + "scale": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "wheel_mode": { + "loop": true, + "animation_length": 0.75, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-7.89, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.89, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "vector": [0, 0, 0] + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-12.4, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-12.4, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [58.1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [58.1, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-43.58865, 20.8302, -18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-43.58865, 20.8302, -18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-43.58865, 20.8302, -18.56413] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-43.58865, -20.8302, 18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-43.58865, -20.8302, 18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-43.58865, -20.8302, 18.56413] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.75": { + "pre": { + "vector": [1, 1, 1] + }, + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "wheel": { + "position": { + "0.0": { + "vector": [0, -14, 0] + }, + "0.3333": { + "vector": [0, -14, 0] + }, + "0.4167": { + "vector": [0, -11, 0] + }, + "0.5": { + "vector": [0, -14, 0] + }, + "0.5417": { + "vector": [0, -13, 0] + }, + "0.5833": { + "vector": [0, -14, 0] + }, + "0.75": { + "vector": [0, -14, 0] + } + }, + "scale": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [1.1, 1.1, 1.1] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [1, 1, 1] + }, + "0.75": { + "vector": [1, 1, 1] + } + } + } + } + }, + "normal_mode": { + "animation_length": 0.4167, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.89, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0833": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [0, -2, 0] + }, + "0.2917": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 0.7] + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [58.1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [-43.58865, 20.8302, -18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-48.30386, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [24.02325, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-24.01852, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.23085, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [-43.58865, -20.8302, 18.56413] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-48.30386, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [24.02325, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-23.78525, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0.00468, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0833": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0833": { + "vector": [0, 6, 0] + }, + "0.2083": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "pre": { + "vector": [1, 1, 1] + }, + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 0, 45] + }, + "0.2083": { + "vector": [0, 0, 0] + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 0, 45] + }, + "0.2083": { + "vector": [0, 0, 0] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 0, -45] + }, + "0.2083": { + "vector": [0, 0, 0] + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 0, -45] + }, + "0.2083": { + "vector": [0, 0, 0] + } + } + }, + "wheel": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.0": { + "post": { + "vector": [0, -14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "vector": [0, -14, 0] + }, + "0.2083": { + "vector": [0, -14, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "roll": { + "loop": true, + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.89, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "vector": [1, 1, 0.7] + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [58.1, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [-43.58865, 20.8302, -18.56413] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_antenna": { + "rotation": { + "0.0": { + "post": { + "vector": [-43.58865, -20.8302, 18.56413] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "scale": { + "vector": [0, 0, 0] + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-0.86603, -0.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "wheel": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [360, 0, 0] + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1, -11, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2, -14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2, -11, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [2, -11, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-1, -14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, -11, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -14, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "vector": [1, 1, 1] + } + } + } + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/scorpion.animation.json b/common/src/main/resources/assets/antarchy/animations/scorpion.animation.json index 6734e566..c49f43a1 100644 --- a/common/src/main/resources/assets/antarchy/animations/scorpion.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/scorpion.animation.json @@ -137,28 +137,6 @@ } } }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [17.5, -12.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "r_leg": { "rotation": { "vector": [0, -22.5, 0] @@ -178,6 +156,28 @@ "rotation": { "vector": [0, -22.5, 0] } + }, + "l_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [17.5, 12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + } + } } } }, @@ -311,34 +311,6 @@ } } }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-15, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "r_leg": { "rotation": { "0.0": { @@ -568,6 +540,34 @@ "lerp_mode": "catmullrom" } } + }, + "l_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15, 17.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 22.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + } + } } } }, @@ -766,40 +766,6 @@ } } }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, -82.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -82.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 27.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -12.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "r_leg": { "rotation": { "0.0": { @@ -1031,6 +997,96 @@ "lerp_mode": "catmullrom" } } + }, + "r_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, -67.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "l_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -82.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -82.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 27.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -12.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "l_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 67.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } } } } diff --git a/common/src/main/resources/assets/antarchy/geo/bed_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/bed_bug.geo.json index a33580c6..572fbf2a 100644 --- a/common/src/main/resources/assets/antarchy/geo/bed_bug.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/bed_bug.geo.json @@ -31,8 +31,7 @@ "parent": "neck", "pivot": [0, 4.5, -12], "cubes": [ - {"origin": [-3.5, 4.25, -16], "size": [7, 4, 4], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [0, 49]}, - {"origin": [-2.5, 4.25, -17], "size": [5, 2, 2], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [44, 37]} + {"origin": [-3.5, 4.25, -17], "size": [7, 4, 5], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [0, 50]} ] }, { @@ -64,8 +63,7 @@ "parent": "head", "pivot": [-3, 3, -12], "cubes": [ - {"origin": [-4.5, 3.25, -19], "size": [3, 1, 7], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [22, 49]}, - {"origin": [-1.5, 3.25, -19], "size": [2, 1, 1], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [44, 41]} + {"origin": [-4.5, 3.25, -19], "size": [3, 1, 7], "pivot": [-0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [25, 50]} ] }, { @@ -73,8 +71,7 @@ "parent": "head", "pivot": [3, 3, -12], "cubes": [ - {"origin": [1.5, 3.25, -19], "size": [3, 1, 7], "pivot": [0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [22, 49], "mirror": true}, - {"origin": [-0.5, 3.25, -19], "size": [2, 1, 1], "pivot": [0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [44, 41], "mirror": true} + {"origin": [1.5, 3.25, -19], "size": [3, 1, 7], "pivot": [0.5, 4.5, -10], "rotation": [22.5, 0, 0], "uv": [25, 50], "mirror": true} ] }, { diff --git a/common/src/main/resources/assets/antarchy/geo/creeping_horror.geo.json b/common/src/main/resources/assets/antarchy/geo/creeping_horror.geo.json index 2b93facf..22d0bcdf 100644 --- a/common/src/main/resources/assets/antarchy/geo/creeping_horror.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/creeping_horror.geo.json @@ -21,14 +21,11 @@ "pivot": [0, 0, 0], "cubes": [ {"origin": [-6, 0, -7], "size": [12, 12, 14], "uv": [0, 0]}, - {"origin": [-6, 0, -7], "size": [12, 12, 14], "inflate": 0.25, "uv": [0, 46]}, - {"origin": [-6, 0, -7], "size": [12, 12, 14], "inflate": 0.5, "uv": [52, 0]}, + {"origin": [-4, 2, -11], "size": [1, 2, 5], "pivot": [-3.5, 3, -7], "rotation": [24.14867, 20.70481, 9.00717], "uv": [0, 0]}, + {"origin": [3, 2, -11], "size": [1, 2, 5], "pivot": [3.5, 3, -7], "rotation": [24.14867, -20.70481, -9.00717], "uv": [0, 0], "mirror": true}, + {"origin": [-4, 8, -11], "size": [1, 2, 5], "pivot": [-3.5, 9, -7], "rotation": [-24.14867, 20.70481, -9.00717], "uv": [0, 0]}, + {"origin": [3, 8, -11], "size": [1, 2, 5], "pivot": [3.5, 9, -7], "rotation": [-24.14867, -20.70481, 9.00717], "uv": [0, 0], "mirror": true}, {"origin": [-4, 2, -7], "size": [8, 8, 2], "uv": [104, 12]}, - {"origin": [-6, 9.85673, -2.40373], "size": [12, 0, 5], "pivot": [0, 6, -7], "rotation": [50, 0, 0], "uv": [100, 84]}, - {"origin": [-6, 10.24264, -0.75736], "size": [12, 0, 6], "pivot": [0, 6, -5], "rotation": [45, 0, 0], "uv": [100, 54]}, - {"origin": [-6, 11.19615, 1], "size": [12, 0, 7], "pivot": [0, 6, -2], "rotation": [30, 0, 0], "uv": [100, 43]}, - {"origin": [-6, 11.43785, 4.53571], "size": [12, 0, 8], "pivot": [0, 6, 2], "rotation": [25, 0, 0], "uv": [92, 35]}, - {"origin": [-6, 11.79555, 8.55291], "size": [12, 0, 9], "pivot": [0, 6, 7], "rotation": [15, 0, 0], "uv": [92, 26]}, {"origin": [-6, 0, -7], "size": [12, 0, 5], "pivot": [0, 0, -7], "rotation": [30, 0, -180], "uv": [100, 84]}, {"origin": [-6, 0, -5], "size": [12, 0, 6], "pivot": [0, 0, -5], "rotation": [25, 0, -180], "uv": [100, 54]}, {"origin": [-6, 0, -2], "size": [12, 0, 7], "pivot": [0, 0, -2], "rotation": [15, 0, -180], "uv": [100, 43]}, @@ -42,6 +39,18 @@ {"origin": [0, 6, -2], "size": [12, 0, 7], "pivot": [6, 6, -2], "rotation": [20, 0, 90], "uv": [100, 43]} ] }, + { + "name": "bone", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [-6, 9.85673, -2.40373], "size": [12, 0, 5], "pivot": [0, 6, -7], "rotation": [50, 0, 0], "uv": [100, 84]}, + {"origin": [-6, 10.24264, -0.75736], "size": [12, 0, 6], "pivot": [0, 6, -5], "rotation": [45, 0, 0], "uv": [100, 54]}, + {"origin": [-6, 11.19615, 1], "size": [12, 0, 7], "pivot": [0, 6, -2], "rotation": [30, 0, 0], "uv": [100, 43]}, + {"origin": [-6, 11.43785, 4.53571], "size": [12, 0, 8], "pivot": [0, 6, 2], "rotation": [25, 0, 0], "uv": [92, 35]}, + {"origin": [-6, 11.79555, 8.55291], "size": [12, 0, 9], "pivot": [0, 6, 7], "rotation": [15, 0, 0], "uv": [92, 26]} + ] + }, { "name": "rightjaw", "parent": "body", @@ -63,9 +72,7 @@ "parent": "body", "pivot": [0, 6, 7], "cubes": [ - {"origin": [-5, 1, 7], "size": [10, 10, 14], "uv": [52, 46]}, - {"origin": [-5, 1, 7], "size": [10, 10, 14], "inflate": 0.25, "uv": [52, 70]}, - {"origin": [-5, 1, 7], "size": [10, 10, 14], "inflate": 0.5, "uv": [0, 72]} + {"origin": [-5, 1, 7], "size": [10, 10, 14], "uv": [52, 46]} ] }, { @@ -73,9 +80,7 @@ "parent": "tailbase", "pivot": [0, 6, 21], "cubes": [ - {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "uv": [48, 94]}, - {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "inflate": 0.25, "uv": [90, 94]}, - {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "inflate": 0.5, "uv": [0, 96]} + {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "uv": [48, 94]} ] }, { @@ -92,9 +97,7 @@ "parent": "root", "pivot": [-6, 8, -3], "cubes": [ - {"origin": [-18, 6, -6], "size": [12, 4, 4], "uv": [100, 60]}, - {"origin": [-18, 6, -6], "size": [12, 4, 4], "inflate": 0.25, "uv": [100, 68]}, - {"origin": [-18, 6, -6], "size": [12, 4, 4], "inflate": 0.5, "uv": [100, 76]} + {"origin": [-18, 6, -6], "size": [12, 4, 4], "uv": [100, 60]} ] }, { @@ -118,9 +121,7 @@ "parent": "root", "pivot": [-6, 8, 4], "cubes": [ - {"origin": [-18, 6, 3], "size": [12, 4, 4], "uv": [100, 60]}, - {"origin": [-18, 6, 3], "size": [12, 4, 4], "inflate": 0.25, "uv": [100, 68]}, - {"origin": [-18, 6, 3], "size": [12, 4, 4], "inflate": 0.5, "uv": [100, 76]} + {"origin": [-18, 6, 3], "size": [12, 4, 4], "uv": [100, 60]} ] }, { @@ -144,9 +145,7 @@ "parent": "root", "pivot": [6, 8, -3], "cubes": [ - {"origin": [6, 6, -6], "size": [12, 4, 4], "uv": [100, 60], "mirror": true}, - {"origin": [6, 6, -6], "size": [12, 4, 4], "inflate": 0.25, "uv": [100, 68], "mirror": true}, - {"origin": [6, 6, -6], "size": [12, 4, 4], "inflate": 0.5, "uv": [100, 76], "mirror": true} + {"origin": [6, 6, -6], "size": [12, 4, 4], "uv": [100, 60], "mirror": true} ] }, { @@ -170,9 +169,7 @@ "parent": "root", "pivot": [6, 8, 4], "cubes": [ - {"origin": [6, 6, 3], "size": [12, 4, 4], "uv": [100, 60], "mirror": true}, - {"origin": [6, 6, 3], "size": [12, 4, 4], "inflate": 0.25, "uv": [100, 68], "mirror": true}, - {"origin": [6, 6, 3], "size": [12, 4, 4], "inflate": 0.5, "uv": [100, 76], "mirror": true} + {"origin": [6, 6, 3], "size": [12, 4, 4], "uv": [100, 60], "mirror": true} ] }, { diff --git a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json index aacb5227..21509feb 100644 --- a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json @@ -24,33 +24,30 @@ {"origin": [-12, 97, -46], "size": [24, 12, 80], "uv": [0, 0]}, {"origin": [-10, 81, 18], "size": [20, 16, 16], "uv": [224, 152]}, {"origin": [-8, 97, -78], "size": [16, 12, 32], "uv": [176, 92]}, - {"origin": [-10, 109, -58], "size": [20, 4, 12], "uv": [224, 184]}, - {"origin": [-4, 89, -78], "size": [8, 8, 4], "uv": [176, 152]}, + {"origin": [-2.5, 85, -78], "size": [5, 12, 8], "uv": [129, 0]}, + {"origin": [0, 73, -78], "size": [0, 18, 15], "uv": [200, -15]}, + {"origin": [0, 91, -78], "size": [0, 6, 60], "uv": [268, -60]}, + {"origin": [0, 65, -74], "size": [0, 6, 56], "uv": [268, -50]}, {"origin": [-18, 67, -16], "size": [8, 24, 32], "uv": [208, 0]}, - {"origin": [10, 67, -16], "size": [8, 24, 32], "uv": [112, 212]}, - {"origin": [-10, 89, -26], "size": [20, 8, 8], "uv": [192, 252]}, - {"origin": [-2, 79, -34], "size": [4, 4, 16], "uv": [228, 268]}, - {"origin": [-10, 65, -26], "size": [20, 8, 8], "uv": [248, 252]}, - {"origin": [-6, 65, -40], "size": [12, 6, 14], "uv": [64, 268]}, + {"origin": [10, 67, -16], "size": [8, 24, 32], "uv": [208, 0], "mirror": true}, {"origin": [-12, 57, -42], "size": [24, 8, 64], "uv": [0, 92]}, - {"origin": [-8, 57, -74], "size": [16, 8, 32], "uv": [192, 212]}, - {"origin": [-4, 65, -74], "size": [8, 8, 4], "uv": [200, 152]} + {"origin": [-8, 57, -74], "size": [16, 8, 32], "uv": [192, 212]} ] }, { - "name": "rightEye", + "name": "right_eye", "parent": "body", - "pivot": [-10, 82, -18], + "pivot": [-18.32132, 90.25, -12.53553], "cubes": [ - {"origin": [-14, 78, -22], "size": [8, 8, 8], "uv": [0, 272]} + {"origin": [-22.7, 83.25, -17], "size": [5, 14, 14], "pivot": [-16.2, 90.25, -9], "rotation": [0, -45, 0], "uv": [0, 0]} ] }, { - "name": "leftEye", + "name": "left_eye", "parent": "body", - "pivot": [10, 82, -18], + "pivot": [18.32132, 90.25, -12.53553], "cubes": [ - {"origin": [6, 78, -22], "size": [8, 8, 8], "uv": [0, 272], "mirror": true} + {"origin": [17.7, 83.25, -17], "size": [5, 14, 14], "pivot": [16.2, 90.25, -9], "rotation": [0, 45, 0], "uv": [0, 0], "mirror": true} ] }, { @@ -88,51 +85,51 @@ { "name": "rightArm", "parent": "body", - "pivot": [-12, 93, -22], + "pivot": [-12, 93, -17], "cubes": [ - {"origin": [-14, 91, -40], "size": [4, 4, 20], "uv": [64, 232]} + {"origin": [-14, 91, -35], "size": [4, 4, 20], "uv": [64, 232]} ] }, { "name": "rightElbow", "parent": "rightArm", - "pivot": [-12, 95, -34], + "pivot": [-12, 95, -29], "cubes": [ - {"origin": [-15, 91, -40], "size": [6, 32, 6], "uv": [204, 268]} + {"origin": [-15, 91, -35], "size": [6, 32, 6], "uv": [204, 268]} ] }, { "name": "rightClaw", "parent": "rightElbow", - "pivot": [-12, 123, -40], + "pivot": [-12, 123, -35], "cubes": [ - {"origin": [-14, 115, -56], "size": [4, 8, 16], "uv": [164, 268]}, - {"origin": [-12, 115, -88], "size": [0, 8, 32], "uv": [0, 232]} + {"origin": [-14, 115, -51], "size": [4, 8, 16], "uv": [164, 268]}, + {"origin": [-12, 115, -83], "size": [0, 8, 32], "uv": [0, 232]} ] }, { "name": "leftArm", "parent": "body", - "pivot": [12, 93, -22], + "pivot": [12, 93, -17], "cubes": [ - {"origin": [10, 91, -40], "size": [4, 4, 20], "uv": [64, 232], "mirror": true} + {"origin": [10, 91, -35], "size": [4, 4, 20], "uv": [64, 232], "mirror": true} ] }, { "name": "leftElbow", "parent": "leftArm", - "pivot": [12, 95, -34], + "pivot": [12, 95, -29], "cubes": [ - {"origin": [9, 91, -40], "size": [6, 32, 6], "uv": [204, 268], "mirror": true} + {"origin": [9, 91, -35], "size": [6, 32, 6], "uv": [204, 268], "mirror": true} ] }, { "name": "leftClaw", "parent": "leftElbow", - "pivot": [12, 123, -40], + "pivot": [12, 123, -35], "cubes": [ - {"origin": [10, 115, -56], "size": [4, 8, 16], "uv": [164, 268], "mirror": true}, - {"origin": [12, 115, -88], "size": [0, 8, 32], "uv": [0, 232], "mirror": true} + {"origin": [10, 115, -51], "size": [4, 8, 16], "uv": [164, 268], "mirror": true}, + {"origin": [12, 115, -83], "size": [0, 8, 32], "uv": [0, 232], "mirror": true} ] }, { @@ -221,7 +218,7 @@ "pivot": [28, 65, -14], "rotation": [0, 0, 90], "cubes": [ - {"origin": [28, 55, -19], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56], "mirror": true} + {"origin": [28, 56, -19], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56], "mirror": true} ] }, { diff --git a/common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json new file mode 100644 index 00000000..d5d12503 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json @@ -0,0 +1,116 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 128, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "pill_bug", + "pivot": [0, 11.875, 0.01563] + }, + { + "name": "body", + "parent": "pill_bug", + "pivot": [0, 2.25, -0.46875] + }, + { + "name": "right_leg", + "parent": "body", + "pivot": [-6, 2, -4.5], + "cubes": [ + {"origin": [-9, 0, -6], "size": [3, 2, 3], "uv": [0, 7]} + ] + }, + { + "name": "left_leg", + "parent": "body", + "pivot": [6, 2, -4.5], + "cubes": [ + {"origin": [6, 0, -6], "size": [3, 2, 3], "uv": [0, 7], "mirror": true} + ] + }, + { + "name": "right_leg2", + "parent": "body", + "pivot": [-6, 2, 1.5], + "cubes": [ + {"origin": [-9, 0, 0], "size": [3, 2, 3], "uv": [0, 7]} + ] + }, + { + "name": "left_leg2", + "parent": "body", + "pivot": [6, 2, 1.5], + "cubes": [ + {"origin": [6, 0, 0], "size": [3, 2, 3], "uv": [0, 7], "mirror": true} + ] + }, + { + "name": "right_leg3", + "parent": "body", + "pivot": [-6, 2, 6.5], + "cubes": [ + {"origin": [-9, 0, 5], "size": [3, 2, 3], "uv": [0, 7]} + ] + }, + { + "name": "left_leg3", + "parent": "body", + "pivot": [6, 2, 6.5], + "cubes": [ + {"origin": [6, 0, 5], "size": [3, 2, 3], "uv": [0, 7], "mirror": true} + ] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 2, -1.75], + "cubes": [ + {"origin": [-6, 2, -9], "size": [12, 6, 19], "uv": [0, 0]}, + {"origin": [-6, 2, -9], "size": [12, 6, 19], "inflate": 0.1, "uv": [0, 55]} + ] + }, + { + "name": "head", + "parent": "torso", + "pivot": [0, 4, -9], + "cubes": [ + {"origin": [-3, 2, -11], "size": [6, 4, 2], "uv": [0, 0]} + ] + }, + { + "name": "right_antenna", + "parent": "head", + "pivot": [-1.5, 4, -10], + "cubes": [ + {"origin": [-7, 4, -23], "size": [6, 0, 13], "uv": [-13, 25]} + ] + }, + { + "name": "left_antenna", + "parent": "head", + "pivot": [1.5, 4, -10], + "cubes": [ + {"origin": [1, 4, -23], "size": [6, 0, 13], "uv": [-13, 25], "mirror": true} + ] + }, + { + "name": "wheel", + "parent": "pill_bug", + "pivot": [0, 21.5, 0.5], + "cubes": [ + {"origin": [-6, 14, -7], "size": [12, 15, 15], "inflate": 0.1, "uv": [4, 80]}, + {"origin": [-6, 14, -7], "size": [12, 15, 15], "uv": [10, 25]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json b/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json index f6a2ec75..a52b3951 100644 --- a/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json @@ -74,7 +74,7 @@ "parent": "scorpion", "pivot": [0, 0, 4.5], "cubes": [ - {"origin": [-7, 0, -2], "size": [14, 6, 13], "uv": [0, 0]} + {"origin": [-7, 0, -2], "size": [14, 6, 13], "inflate": 0.05, "uv": [0, 0]} ] }, { @@ -107,7 +107,9 @@ "parent": "torso", "pivot": [0, 3, -1], "cubes": [ - {"origin": [-7, 0, -11], "size": [14, 6, 10], "inflate": 0.1, "uv": [0, 19]} + {"origin": [-7, 0, -11], "size": [14, 6, 10], "inflate": 0.1, "uv": [0, 19]}, + {"origin": [-3, -3, -14], "size": [0, 8, 4], "uv": [0, 17]}, + {"origin": [3, -3, -14], "size": [0, 8, 4], "uv": [0, 17], "mirror": true} ] }, { @@ -115,7 +117,16 @@ "parent": "head", "pivot": [-7, 5, -4.75], "cubes": [ - {"origin": [-16, 3, -20], "size": [9, 4, 17], "inflate": 0.1, "uv": [54, 0]} + {"origin": [-11, 3, -11], "size": [4, 4, 8], "uv": [56, 31]}, + {"origin": [-16, 3, -20], "size": [5, 4, 17], "uv": [54, 0]} + ] + }, + { + "name": "r_claw_open", + "parent": "r_claw", + "pivot": [-11, 5, -11], + "cubes": [ + {"origin": [-11, 3, -20], "size": [4, 4, 9], "inflate": -0.01, "uv": [41, 0]} ] }, { @@ -123,7 +134,16 @@ "parent": "head", "pivot": [7, 5, -4.75], "cubes": [ - {"origin": [7, 3, -20], "size": [9, 4, 17], "inflate": 0.1, "uv": [54, 0], "mirror": true} + {"origin": [7, 3, -11], "size": [4, 4, 8], "uv": [56, 31], "mirror": true}, + {"origin": [11, 3, -20], "size": [5, 4, 17], "uv": [54, 0], "mirror": true} + ] + }, + { + "name": "l_claw_open", + "parent": "l_claw", + "pivot": [11, 5, -11], + "cubes": [ + {"origin": [7, 3, -20], "size": [4, 4, 9], "inflate": -0.01, "uv": [41, 0], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/textures/entity/bed_bug.png b/common/src/main/resources/assets/antarchy/textures/entity/bed_bug.png index 99278795101bdd634514398df962d645d4bd9e0b..6196ab6e1dddb7badcdde2c2e32892a5bb7b878f 100644 GIT binary patch literal 3891 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 NNcVz)R=y@FdM literal 12279 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 literal 30719 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 bUkE7ZS(#-9_WZ3lzydNgu{18d=uG=JaX=RC literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png b/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png new file mode 100644 index 0000000000000000000000000000000000000000..5adaf35dcbc2a345f00331c1e090e18548717453 GIT binary patch literal 4164 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 delta 2385 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 DKY)37 diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index a3267807..27a03573 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -334,6 +334,7 @@ public final class AntarchyFabricClientBootstrap { HerculesBeetleClientHandler.tick(); }); + BigBerthaClientHandler.register(); GravityGunClientHandler.register(); ElythiaFireflyManager.register(); diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/BigBerthaClientHandler.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/BigBerthaClientHandler.java new file mode 100644 index 00000000..0a3cd5d3 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/BigBerthaClientHandler.java @@ -0,0 +1,39 @@ +package com.craisinlord.antarchy.fabric.client; + +import com.craisinlord.antarchy.content.item.BigBerthaItem; +import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.Minecraft; + +public final class BigBerthaClientHandler { + private static boolean lastUseDown; + + private BigBerthaClientHandler() { + } + + public static void register() { + ClientTickEvents.END_CLIENT_TICK.register(BigBerthaClientHandler::tick); + } + + private static void tick(Minecraft mc) { + if (mc.player == null || mc.level == null || mc.screen != null) { + lastUseDown = false; + return; + } + + if (!(mc.player.getMainHandItem().getItem() instanceof BigBerthaItem)) { + lastUseDown = false; + return; + } + + boolean useDown = mc.options.keyUse.isDown(); + if (useDown + && !lastUseDown + && mc.player.isShiftKeyDown() + && mc.player.getCooldowns().isOnCooldown(mc.player.getMainHandItem().getItem())) { + ClientPlayNetworking.send(new BigBerthaModeCyclePayload()); + } + lastUseDown = useDown; + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/GravityGunClientHandler.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/GravityGunClientHandler.java index d959833b..15f30e3c 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/GravityGunClientHandler.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/GravityGunClientHandler.java @@ -9,7 +9,6 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.util.Mth; -import org.lwjgl.glfw.GLFW; public final class GravityGunClientHandler { private static final double SCROLL_STEP_DISTANCE = 0.75D; @@ -34,8 +33,7 @@ public final class GravityGunClientHandler { return; } - long window = mc.getWindow().getWindow(); - boolean attackDown = org.lwjgl.glfw.GLFW.glfwGetMouseButton(window, GLFW.GLFW_MOUSE_BUTTON_LEFT) == GLFW.GLFW_PRESS; + boolean attackDown = mc.options.keyAttack.isDown(); if (attackDown && !lastAttackDown) { ClientPlayNetworking.send(new GravityGunPrimaryPayload()); } diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java index fb427c2b..d4b2c753 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java @@ -54,6 +54,7 @@ public final class AntarchyFabricNetworking { PayloadTypeRegistry.playC2S().register(GravityGunPrimaryPayload.TYPE, GravityGunPrimaryPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(GravityGunScrollPayload.TYPE, GravityGunScrollPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(BigBerthaModeCyclePayload.TYPE, BigBerthaModeCyclePayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(DiamondMinecartInputPayload.TYPE, DiamondMinecartInputPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(BrutalflyElytraFlapPayload.TYPE, BrutalflyElytraFlapPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(JumpyBootsLaunchPayload.TYPE, JumpyBootsLaunchPayload.STREAM_CODEC); @@ -71,6 +72,8 @@ public final class AntarchyFabricNetworking { context.server().execute(() -> handleGravityGunPrimary(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(GravityGunScrollPayload.TYPE, (payload, context) -> context.server().execute(() -> handleGravityGunScroll(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(BigBerthaModeCyclePayload.TYPE, (payload, context) -> + context.server().execute(() -> handleBigBerthaModeCycle(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(DiamondMinecartInputPayload.TYPE, (payload, context) -> context.server().execute(() -> handleDiamondMinecartInput(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(BrutalflyElytraFlapPayload.TYPE, (payload, context) -> @@ -190,6 +193,13 @@ public final class AntarchyFabricNetworking { GravityGunItem.adjustHeldDistance(player.getMainHandItem(), payload.distanceDelta()); } + private static void handleBigBerthaModeCycle(ServerPlayer player, BigBerthaModeCyclePayload payload) { + if (!(player.getMainHandItem().getItem() instanceof BigBerthaItem bigBerthaItem)) { + return; + } + bigBerthaItem.tryCycleModeWhileCoolingDown(player.serverLevel(), player, player.getMainHandItem()); + } + private static void handleDiamondMinecartInput(ServerPlayer player, DiamondMinecartInputPayload payload) { if (player.getVehicle() instanceof DiamondMinecartEntity cart) { cart.onInputReceived(payload.inputFlags()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBerthaClientHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBerthaClientHandler.java new file mode 100644 index 00000000..cea5c426 --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBerthaClientHandler.java @@ -0,0 +1,42 @@ +package com.craisinlord.antarchy.neoforge.client; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.item.BigBerthaItem; +import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload; +import net.minecraft.client.Minecraft; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; +import net.neoforged.neoforge.network.PacketDistributor; + +@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT) +public final class BigBerthaClientHandler { + private static boolean lastUseDown; + + private BigBerthaClientHandler() { + } + + @SubscribeEvent + public static void onClientTick(ClientTickEvent.Post event) { + Minecraft mc = Minecraft.getInstance(); + if (mc.player == null || mc.level == null || mc.screen != null) { + lastUseDown = false; + return; + } + + if (!(mc.player.getMainHandItem().getItem() instanceof BigBerthaItem)) { + lastUseDown = false; + return; + } + + boolean useDown = mc.options.keyUse.isDown(); + if (useDown + && !lastUseDown + && mc.player.isShiftKeyDown() + && mc.player.getCooldowns().isOnCooldown(mc.player.getMainHandItem().getItem())) { + PacketDistributor.sendToServer(new BigBerthaModeCyclePayload()); + } + lastUseDown = useDown; + } +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/GravityGunClientHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/GravityGunClientHandler.java index a00d22c2..c54e5ebe 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/GravityGunClientHandler.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/GravityGunClientHandler.java @@ -8,37 +8,39 @@ import com.craisinlord.antarchy.content.network.GravityGunScrollPayload; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.util.Mth; -import org.lwjgl.glfw.GLFW; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; import net.neoforged.neoforge.client.event.InputEvent; import net.neoforged.neoforge.network.PacketDistributor; @EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT) public final class GravityGunClientHandler { private static final double SCROLL_STEP_DISTANCE = 0.75D; + private static boolean lastAttackDown; private GravityGunClientHandler() { } @SubscribeEvent - public static void onMouseButton(InputEvent.MouseButton.Pre event) { + public static void onClientTick(ClientTickEvent.Post event) { Minecraft mc = Minecraft.getInstance(); if (mc.player == null || mc.level == null || mc.screen != null || !AntarchySettings.gravityGunEnabled()) { - return; - } - - if (event.getButton() != GLFW.GLFW_MOUSE_BUTTON_LEFT || event.getAction() != GLFW.GLFW_PRESS) { + lastAttackDown = false; return; } if (!(mc.player.getMainHandItem().getItem() instanceof GravityGunItem)) { + lastAttackDown = false; return; } - PacketDistributor.sendToServer(new GravityGunPrimaryPayload()); - event.setCanceled(true); + boolean attackDown = mc.options.keyAttack.isDown(); + if (attackDown && !lastAttackDown) { + PacketDistributor.sendToServer(new GravityGunPrimaryPayload()); + } + lastAttackDown = attackDown; } @SubscribeEvent diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/AntarchyGravityNetworking.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/AntarchyGravityNetworking.java index 6d418f8c..214396bc 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/AntarchyGravityNetworking.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/AntarchyGravityNetworking.java @@ -2,7 +2,9 @@ package com.craisinlord.antarchy.neoforge.network; import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity; import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; +import com.craisinlord.antarchy.content.item.BigBerthaItem; import com.craisinlord.antarchy.content.item.GravityGunItem; +import com.craisinlord.antarchy.content.network.BigBerthaModeCyclePayload; import com.craisinlord.antarchy.content.network.GravityGunPrimaryPayload; import com.craisinlord.antarchy.content.network.GravityGunScrollPayload; import com.craisinlord.antarchy.content.network.GravityStatePayload; @@ -29,6 +31,10 @@ public final class AntarchyGravityNetworking { GravityGunScrollPayload.TYPE, GravityGunScrollPayload.STREAM_CODEC, AntarchyGravityNetworking::handleGravityGunScroll + ).playToServer( + BigBerthaModeCyclePayload.TYPE, + BigBerthaModeCyclePayload.STREAM_CODEC, + AntarchyGravityNetworking::handleBigBerthaModeCycle ).playToServer( com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload.TYPE, com.craisinlord.antarchy.content.network.DiamondMinecartInputPayload.STREAM_CODEC, @@ -105,6 +111,20 @@ public final class AntarchyGravityNetworking { }); } + private static void handleBigBerthaModeCycle(BigBerthaModeCyclePayload payload, IPayloadContext context) { + context.enqueueWork(() -> { + if (!(context.player() instanceof ServerPlayer serverPlayer)) { + return; + } + + if (!(serverPlayer.getMainHandItem().getItem() instanceof BigBerthaItem bigBerthaItem)) { + return; + } + + bigBerthaItem.tryCycleModeWhileCoolingDown(serverPlayer.serverLevel(), serverPlayer, serverPlayer.getMainHandItem()); + }); + } + private static void handleGravityGunPrimary(GravityGunPrimaryPayload payload, IPayloadContext context) { context.enqueueWork(() -> { if (!(context.player() instanceof ServerPlayer serverPlayer)) {