修复神秘的方法导致的类加载问题
This commit is contained in:
parent
5a6877e2db
commit
d78abb326f
|
|
@ -6,6 +6,9 @@ import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
import net.minecraftforge.network.NetworkEvent;
|
import net.minecraftforge.network.NetworkEvent;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
|
@ -21,17 +24,20 @@ public record AnimationClearPacket(@Nullable ResourceLocation layer) {
|
||||||
public void encode(FriendlyByteBuf buf) {
|
public void encode(FriendlyByteBuf buf) {
|
||||||
buf.writeNullable(layer, FriendlyByteBuf::writeResourceLocation);
|
buf.writeNullable(layer, FriendlyByteBuf::writeResourceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handle(Supplier<NetworkEvent.Context> supplier) {
|
public void handle(Supplier<NetworkEvent.Context> supplier) {
|
||||||
NetworkEvent.Context context = supplier.get();
|
NetworkEvent.Context context = supplier.get();
|
||||||
context.enqueueWork(() -> {
|
context.enqueueWork(() -> {
|
||||||
context.setPacketHandled(true);
|
context.setPacketHandled(true);
|
||||||
LocalPlayer player = Minecraft.getInstance().player;
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> this::handleClient);
|
||||||
if(player == null) return;
|
|
||||||
List<ResourceLocation> layers = new ArrayList<>();
|
|
||||||
if(layer != null) layers.add(layer);
|
|
||||||
else layers.addAll(AnimationRegistry.getLayers().keySet());
|
|
||||||
layers.forEach(layer -> AnimationUtils.playAnimation(player, layer, null));
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
public void handleClient() {
|
||||||
|
LocalPlayer player = Minecraft.getInstance().player;
|
||||||
|
if(player == null) return;
|
||||||
|
List<ResourceLocation> layers = new ArrayList<>();
|
||||||
|
if(layer != null) layers.add(layer);
|
||||||
|
else layers.addAll(AnimationRegistry.getLayers().keySet());
|
||||||
|
layers.forEach(layer -> AnimationUtils.playAnimation(player, layer, null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user