1
0
mirror of https://github.com/Suiranoil/SkinRestorer.git synced 2026-01-16 04:42:12 +00:00

Compare commits

...

8 Commits

5 changed files with 46 additions and 32 deletions

View File

@@ -61,7 +61,7 @@ public final class SkinRestorer {
} }
public static ResourceLocation resourceLocation(String name) { public static ResourceLocation resourceLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(SkinRestorer.MOD_ID, name); return new ResourceLocation(SkinRestorer.MOD_ID, name);
} }
public static String assetPath(String name) { public static String assetPath(String name) {

View File

@@ -24,7 +24,7 @@ public class SkinShuffleCompatibility {
} }
public static ResourceLocation resourceLocation(String name) { public static ResourceLocation resourceLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(SkinShuffleCompatibility.MOD_ID, name); return new ResourceLocation(SkinShuffleCompatibility.MOD_ID, name);
} }
public static void onPlayerJoin(ServerPlayer player) { public static void onPlayerJoin(ServerPlayer player) {

View File

@@ -86,7 +86,7 @@ public final class PlayerUtils {
playerList.sendPlayerPermissionLevel(player); playerList.sendPlayerPermissionLevel(player);
playerList.sendLevelInfo(player, serverLevel); playerList.sendLevelInfo(player, serverLevel);
playerList.sendAllPlayerInfo(player); playerList.sendAllPlayerInfo(player);
playerList.sendActivePlayerEffects(player); PlayerUtils.sendActivePlayerEffects(player);
} }
} }

View File

@@ -1,39 +1,53 @@
package net.lionarius.skinrestorer.forge.compat.skinshuffle; package net.lionarius.skinrestorer.forge.compat.skinshuffle;
import net.lionarius.skinrestorer.SkinRestorer; import io.netty.buffer.Unpooled;
import net.lionarius.skinrestorer.compat.skinshuffle.SkinShuffleCompatibility;
import net.lionarius.skinrestorer.compat.skinshuffle.*; import net.lionarius.skinrestorer.compat.skinshuffle.*;
import net.lionarius.skinrestorer.compat.skinshuffle.SkinShuffleCompatibility;
import net.minecraft.network.Connection; import net.minecraft.network.Connection;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.event.network.CustomPayloadEvent; import net.minecraftforge.event.network.CustomPayloadEvent;
import net.minecraftforge.network.Channel;
import net.minecraftforge.network.ChannelBuilder; import net.minecraftforge.network.ChannelBuilder;
import net.minecraftforge.network.EventNetworkChannel;
public class SkinShufflePacketHandler { public class SkinShufflePacketHandler {
private SkinShufflePacketHandler() { private SkinShufflePacketHandler() {
} }
private static final Channel<CustomPacketPayload> INSTANCE = ChannelBuilder private static final EventNetworkChannel HANDSHAKE_INSTANCE = ChannelBuilder
.named(SkinRestorer.resourceLocation("skin_shuffle_compat")) .named(SkinShuffleHandshakePayload.PACKET_ID.id())
.optional() .optional()
.payloadChannel() .eventNetworkChannel();
.any()
.clientbound()
.add(SkinShuffleHandshakePayload.PACKET_ID, SkinShuffleHandshakePayload.PACKET_CODEC, (payload, context) -> {
})
.serverbound()
.add(SkinShuffleSkinRefreshV1Payload.PACKET_ID, SkinShuffleSkinRefreshV1Payload.PACKET_CODEC, SkinShufflePacketHandler::handleSkinRefreshPacket)
.add(SkinShuffleSkinRefreshV2Payload.PACKET_ID, SkinShuffleSkinRefreshV2Payload.PACKET_CODEC, SkinShufflePacketHandler::handleSkinRefreshPacket)
.build();
private static final EventNetworkChannel SKIN_REFRESH_V1_INSTANCE = ChannelBuilder
.named(SkinShuffleSkinRefreshV1Payload.PACKET_ID.id())
.optional()
.eventNetworkChannel()
.addListener(SkinShufflePacketHandler::skinRefreshV1Listener);
private static final EventNetworkChannel SKIN_REFRESH_V2_INSTANCE = ChannelBuilder
.named(SkinShuffleSkinRefreshV2Payload.PACKET_ID.id())
.optional()
.eventNetworkChannel()
.addListener(SkinShufflePacketHandler::skinRefreshV2Listener);
protected static void initialize() { protected static void initialize() {
// NO-OP // NO-OP
} }
public static void sendHandshake(Connection connection) { public static void sendHandshake(Connection connection) {
INSTANCE.send(SkinShuffleHandshakePayload.INSTANCE, connection); HANDSHAKE_INSTANCE.send(new FriendlyByteBuf(Unpooled.buffer(0, 0)), connection);
} }
private static void skinRefreshV1Listener(CustomPayloadEvent event) {
var payload = SkinShuffleSkinRefreshV1Payload.PACKET_CODEC.decode(event.getPayload());
handleSkinRefreshPacket(payload, event.getSource());
}
private static void skinRefreshV2Listener(CustomPayloadEvent event) {
var payload = SkinShuffleSkinRefreshV2Payload.PACKET_CODEC.decode(event.getPayload());
handleSkinRefreshPacket(payload, event.getSource());
}
private static void handleSkinRefreshPacket(SkinShuffleSkinRefreshPayload payload, CustomPayloadEvent.Context context) { private static void handleSkinRefreshPacket(SkinShuffleSkinRefreshPayload payload, CustomPayloadEvent.Context context) {
var sender = context.getSender(); var sender = context.getSender();

View File

@@ -3,9 +3,9 @@ group=net.lionarius
java_version=21 java_version=21
# Common # Common
minecraft_version=1.21 minecraft_version=1.20.5
minecraft_version_list=1.21,1.21.1,1.21.2,1.21.3 minecraft_version_list=1.20.5,1.20.6
minecraft_version_range=[1.21, 1.22) minecraft_version_range=[1.20.5,1.20.6]
mod_id=skinrestorer mod_id=skinrestorer
mod_name=SkinRestorer mod_name=SkinRestorer
mod_version=2.2.0 mod_version=2.2.0
@@ -20,23 +20,23 @@ description=A server-side mod for managing skins.
mineskin_client_version=3.0.1-SNAPSHOT mineskin_client_version=3.0.1-SNAPSHOT
# ParchmentMC mappings, see https://parchmentmc.org/docs/getting-started#choose-a-version for new versions # ParchmentMC mappings, see https://parchmentmc.org/docs/getting-started#choose-a-version for new versions
parchment_minecraft=1.21 parchment_minecraft=1.20.6
parchment_version=2024.11.10 parchment_version=2024.06.16
# Fabric, see https://fabricmc.net/develop/ for new versions # Fabric, see https://fabricmc.net/develop/ for new versions
fabric_loader_version=0.15.0 fabric_loader_version=0.15.0
fabric_api_version=0.100.1+1.21 fabric_api_version=0.97.5+1.20.5
fabric_optional_dependencies=fabric-api fabric_optional_dependencies=fabric-api
# Forge, see https://files.minecraftforge.net/net/minecraftforge/forge/ for new versions # Forge, see https://files.minecraftforge.net/net/minecraftforge/forge/ for new versions
forge_version=51.0.0 forge_version=50.0.0
forge_loader_version_range=[51,) forge_loader_version_range=[50,)
# Forge sometimes skips minor minecraft versions (like 1.20.5) # Forge sometimes skips minor minecraft versions (like 1.20.5)
forge_minecraft_version=1.21 forge_minecraft_version=1.20.6
# NeoForge, see https://projects.neoforged.net/neoforged/neoforge for new versions # NeoForge, see https://projects.neoforged.net/neoforged/neoforge for new versions
neoforge_version=21.0.0-beta neoforge_version=20.5.0-beta
neoforge_loader_version_range=[4,) neoforge_loader_version_range=[3,)
# Publishing # Publishing
curseforge_id=443823 curseforge_id=443823