From 44c0cb47f33827becd7e001f02b1a101e287c7af Mon Sep 17 00:00:00 2001 From: IAFEnvoy Date: Sat, 13 Jul 2024 15:56:29 +0800 Subject: [PATCH] to 1.4.2 --- gradle.properties | 2 +- .../iafenvoy/uranus/client/UranusClient.java | 26 +++++++++++++++++++ src/main/resources/fabric.mod.json | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/iafenvoy/uranus/client/UranusClient.java diff --git a/gradle.properties b/gradle.properties index 55819b2..9bcf6b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 loader_version=0.15.11 # Mod Properties -mod_version=1.4.1 +mod_version=1.4.2 maven_group=com.iafenvoy archives_base_name=Uranus # Dependencies diff --git a/src/main/java/com/iafenvoy/uranus/client/UranusClient.java b/src/main/java/com/iafenvoy/uranus/client/UranusClient.java new file mode 100644 index 0000000..781646e --- /dev/null +++ b/src/main/java/com/iafenvoy/uranus/client/UranusClient.java @@ -0,0 +1,26 @@ +package com.iafenvoy.uranus.client; + +import com.iafenvoy.uranus.StaticVariables; +import com.iafenvoy.uranus.animation.IAnimatedEntity; +import com.iafenvoy.uranus.client.tick.ClientTickRateTracker; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; + +public class UranusClient implements ClientModInitializer { + @Override + public void onInitializeClient() { + ClientPlayNetworking.registerGlobalReceiver(StaticVariables.ANIMATION, (client, handler, buf, responseSender) -> { + int entityID = buf.readInt(); + int index = buf.readInt(); + if (client.world != null) { + IAnimatedEntity entity = (IAnimatedEntity) client.world.getEntityById(entityID); + if (entity != null) { + if (index == -1) entity.setAnimation(IAnimatedEntity.NO_ANIMATION); + else entity.setAnimation(entity.getAnimations()[index]); + entity.setAnimationTick(0); + } + } + }); + ClientPlayNetworking.registerGlobalReceiver(StaticVariables.SYNC_CLIENT_TICK, (client, handler, buf, responseSender) -> ClientTickRateTracker.getForClient(client).syncFromServer(buf.readNbt())); + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5b96eb4..dc3a856 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -14,6 +14,9 @@ "icon": "logo.jpg", "environment": "*", "entrypoints": { + "client": [ + "com.iafenvoy.uranus.client.UranusClient" + ], "main": [ "com.iafenvoy.uranus.Uranus" ]