WIP: Temporarily disabling old networking code.

This commit is contained in:
2026-01-11 00:40:15 +01:00
parent 1c45352037
commit 8abbf5384e
5 changed files with 155 additions and 160 deletions

View File

@ -4,41 +4,39 @@ import dev.micle.totemofreviving.TotemOfReviving;
import dev.micle.totemofreviving.network.client.ChangeTargetPacket;
import dev.micle.totemofreviving.network.client.ChargeTotemPacket;
import dev.micle.totemofreviving.network.client.ReviveTargetPacket;
import net.minecraftforge.network.NetworkRegistry;
import net.minecraftforge.network.simple.SimpleChannel;
public class NetworkManager {
// Initialize variables
private static SimpleChannel channel;
public static void init() {
// Create channel
channel = NetworkRegistry.ChannelBuilder.named(TotemOfReviving.createResourceLocation("network"))
.clientAcceptedVersions(v -> v.equals(TotemOfReviving.getVersion()))
.serverAcceptedVersions(v -> v.equals(TotemOfReviving.getVersion()))
.networkProtocolVersion(TotemOfReviving::getVersion)
.simpleChannel();
// Register packets
int id = 0;
channel.messageBuilder(ChangeTargetPacket.class, id++)
.encoder(ChangeTargetPacket::encode)
.decoder(ChangeTargetPacket::decode)
.consumerNetworkThread(ChangeTargetPacket::handle)
.add();
channel.messageBuilder(ChargeTotemPacket.class, id++)
.encoder(ChargeTotemPacket::encode)
.decoder(ChargeTotemPacket::decode)
.consumerNetworkThread(ChargeTotemPacket::handle)
.add();
channel.messageBuilder(ReviveTargetPacket.class, id++)
.encoder(ReviveTargetPacket::encode)
.decoder(ReviveTargetPacket::decode)
.consumerNetworkThread(ReviveTargetPacket::handle)
.add();
}
public static SimpleChannel getChannel() {
return channel;
}
// // Initialize variables
// private static SimpleChannel channel;
//
// public static void init() {
// // Create channel
// channel = NetworkRegistry.ChannelBuilder.named(TotemOfReviving.createResourceLocation("network"))
// .clientAcceptedVersions(v -> v.equals(TotemOfReviving.getVersion()))
// .serverAcceptedVersions(v -> v.equals(TotemOfReviving.getVersion()))
// .networkProtocolVersion(TotemOfReviving::getVersion)
// .simpleChannel();
//
// // Register packets
// int id = 0;
// channel.messageBuilder(ChangeTargetPacket.class, id++)
// .encoder(ChangeTargetPacket::encode)
// .decoder(ChangeTargetPacket::decode)
// .consumerNetworkThread(ChangeTargetPacket::handle)
// .add();
// channel.messageBuilder(ChargeTotemPacket.class, id++)
// .encoder(ChargeTotemPacket::encode)
// .decoder(ChargeTotemPacket::decode)
// .consumerNetworkThread(ChargeTotemPacket::handle)
// .add();
// channel.messageBuilder(ReviveTargetPacket.class, id++)
// .encoder(ReviveTargetPacket::encode)
// .decoder(ReviveTargetPacket::decode)
// .consumerNetworkThread(ReviveTargetPacket::handle)
// .add();
// }
//
// public static SimpleChannel getChannel() {
// return channel;
// }
}

View File

@ -9,45 +9,44 @@ import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.players.PlayerList;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.network.NetworkEvent;
import java.util.function.Supplier;
public class ChangeTargetPacket {
private final InteractionHand hand;
public ChangeTargetPacket(final InteractionHand hand) {
this.hand = hand;
}
public static void encode(final ChangeTargetPacket packet, final FriendlyByteBuf buffer) {
buffer.writeEnum(packet.hand);
}
public static ChangeTargetPacket decode(final FriendlyByteBuf buffer) {
return new ChangeTargetPacket(buffer.readEnum(InteractionHand.class));
}
public static void handle(final ChangeTargetPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
final NetworkEvent.Context context = contextSupplier.get();
context.enqueueWork(() -> {
ServerPlayer sender = context.getSender();
if (sender == null) { return; }
ItemStack totemStack = sender.getItemInHand(packet.hand);
PlayerList playerList = TotemOfReviving.getProxy().getServer().getPlayerList();
int targetIndex = TotemItem.getTargetIndex(totemStack) + 1;
if (targetIndex > playerList.getPlayerCount()-1) { targetIndex = 0; }
ServerPlayer target = playerList.getPlayers().get(targetIndex);
TotemItem.setTargetIndex(totemStack, targetIndex);
TotemItem.setTargetUUID(totemStack, target.getUUID());
TotemItem.setTargetName(totemStack, target.getDisplayName().getString());
TotemItem.setTargetDeaths(totemStack, target);
sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Now targetting " + ChatFormatting.GRAY + target.getDisplayName().getString() + "."));
});
context.setPacketHandled(true);
}
// private final InteractionHand hand;
//
// public ChangeTargetPacket(final InteractionHand hand) {
// this.hand = hand;
// }
//
// public static void encode(final ChangeTargetPacket packet, final FriendlyByteBuf buffer) {
// buffer.writeEnum(packet.hand);
// }
//
// public static ChangeTargetPacket decode(final FriendlyByteBuf buffer) {
// return new ChangeTargetPacket(buffer.readEnum(InteractionHand.class));
// }
//
// public static void handle(final ChangeTargetPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
// final NetworkEvent.Context context = contextSupplier.get();
// context.enqueueWork(() -> {
// ServerPlayer sender = context.getSender();
// if (sender == null) { return; }
//
// ItemStack totemStack = sender.getItemInHand(packet.hand);
// PlayerList playerList = TotemOfReviving.getProxy().getServer().getPlayerList();
// int targetIndex = TotemItem.getTargetIndex(totemStack) + 1;
//
// if (targetIndex > playerList.getPlayerCount()-1) { targetIndex = 0; }
// ServerPlayer target = playerList.getPlayers().get(targetIndex);
//
// TotemItem.setTargetIndex(totemStack, targetIndex);
// TotemItem.setTargetUUID(totemStack, target.getUUID());
// TotemItem.setTargetName(totemStack, target.getDisplayName().getString());
// TotemItem.setTargetDeaths(totemStack, target);
//
// sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Now targetting " + ChatFormatting.GRAY + target.getDisplayName().getString() + "."));
// });
// context.setPacketHandled(true);
// }
}

View File

@ -5,39 +5,38 @@ import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.network.NetworkEvent;
import java.util.function.Supplier;
public class ChargeTotemPacket {
private final InteractionHand hand;
public ChargeTotemPacket(final InteractionHand hand) {
this.hand = hand;
}
public static void encode(final ChargeTotemPacket packet, final FriendlyByteBuf buffer) {
buffer.writeEnum(packet.hand);
}
public static ChargeTotemPacket decode(final FriendlyByteBuf buffer) {
return new ChargeTotemPacket(buffer.readEnum(InteractionHand.class));
}
public static void handle(final ChargeTotemPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
final NetworkEvent.Context context = contextSupplier.get();
context.enqueueWork(() -> {
ServerPlayer sender = context.getSender();
if (sender == null) { return; }
ItemStack totemStack = (packet.hand.equals(InteractionHand.MAIN_HAND)) ? sender.getMainHandItem() : sender.getOffhandItem();
ItemStack chargeStack = (packet.hand.equals(InteractionHand.MAIN_HAND)) ? sender.getOffhandItem() : sender.getMainHandItem();
if (TotemItem.isTotemFull(totemStack)) { return; }
TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) + 1);
chargeStack.setCount(chargeStack.getCount() - 1);
});
context.setPacketHandled(true);
}
// private final InteractionHand hand;
//
// public ChargeTotemPacket(final InteractionHand hand) {
// this.hand = hand;
// }
//
// public static void encode(final ChargeTotemPacket packet, final FriendlyByteBuf buffer) {
// buffer.writeEnum(packet.hand);
// }
//
// public static ChargeTotemPacket decode(final FriendlyByteBuf buffer) {
// return new ChargeTotemPacket(buffer.readEnum(InteractionHand.class));
// }
//
// public static void handle(final ChargeTotemPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
// final NetworkEvent.Context context = contextSupplier.get();
// context.enqueueWork(() -> {
// ServerPlayer sender = context.getSender();
// if (sender == null) { return; }
//
// ItemStack totemStack = (packet.hand.equals(InteractionHand.MAIN_HAND)) ? sender.getMainHandItem() : sender.getOffhandItem();
// ItemStack chargeStack = (packet.hand.equals(InteractionHand.MAIN_HAND)) ? sender.getOffhandItem() : sender.getMainHandItem();
//
// if (TotemItem.isTotemFull(totemStack)) { return; }
//
// TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) + 1);
// chargeStack.setCount(chargeStack.getCount() - 1);
// });
// context.setPacketHandled(true);
// }
}

View File

@ -8,64 +8,63 @@ import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.network.NetworkEvent;
import java.util.function.Supplier;
public class ReviveTargetPacket {
private final InteractionHand hand;
public ReviveTargetPacket(final InteractionHand hand) {
this.hand = hand;
}
public static void encode(final ReviveTargetPacket packet, final FriendlyByteBuf buffer) {
buffer.writeEnum(packet.hand);
}
public static ReviveTargetPacket decode(final FriendlyByteBuf buffer) {
return new ReviveTargetPacket(buffer.readEnum(InteractionHand.class));
}
public static void handle(final ReviveTargetPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
final NetworkEvent.Context context = contextSupplier.get();
context.enqueueWork(() -> {
ServerPlayer sender = context.getSender();
if (sender == null) { return; }
ItemStack totemStack = sender.getItemInHand(packet.hand);
ServerPlayer target;
try {
target = TotemOfReviving.getProxy().getServer().getPlayerList().getPlayer(TotemItem.getTargetUUID(totemStack));
if (target == null) { throw new NullPointerException("Target is null!"); }
} catch (NullPointerException exception) {
sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Unable to find player!"));
return;
}
if (!target.isSpectator()) {
sender.sendSystemMessage(Component.literal(ChatFormatting.GRAY + target.getDisplayName().getString() + ChatFormatting.WHITE + " is not dead!"));
return;
}
if (!target.serverLevel().equals(sender.serverLevel()) && !TotemItem.canReviveAcrossDimensions(totemStack)) {
sender.sendSystemMessage(Component.literal(ChatFormatting.GRAY + target.getDisplayName().getString() + ChatFormatting.WHITE + " is in a different dimension!"));
return;
}
TotemItem.setTargetDeaths(totemStack, target);
if (!TotemItem.canTotemAffordTarget(totemStack)) {
sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Not enough charge!"));
return;
}
target.teleportTo(sender.serverLevel(), sender.position().x, sender.position().y, sender.position().z, sender.getYRot(), sender.getXRot());
target.setGameMode(sender.serverLevel().getServer().getDefaultGameType());
TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) - TotemItem.getTargetCost(totemStack));
totemStack.hurtAndBreak(1, sender, e -> e.broadcastBreakEvent(packet.hand));
sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Successfully revived " + ChatFormatting.GRAY + target.getDisplayName().getString() + "!"));
});
context.setPacketHandled(true);
}
// private final InteractionHand hand;
//
// public ReviveTargetPacket(final InteractionHand hand) {
// this.hand = hand;
// }
//
// public static void encode(final ReviveTargetPacket packet, final FriendlyByteBuf buffer) {
// buffer.writeEnum(packet.hand);
// }
//
// public static ReviveTargetPacket decode(final FriendlyByteBuf buffer) {
// return new ReviveTargetPacket(buffer.readEnum(InteractionHand.class));
// }
//
// public static void handle(final ReviveTargetPacket packet, final Supplier<NetworkEvent.Context> contextSupplier) {
// final NetworkEvent.Context context = contextSupplier.get();
// context.enqueueWork(() -> {
// ServerPlayer sender = context.getSender();
// if (sender == null) { return; }
//
// ItemStack totemStack = sender.getItemInHand(packet.hand);
// ServerPlayer target;
//
// try {
// target = TotemOfReviving.getProxy().getServer().getPlayerList().getPlayer(TotemItem.getTargetUUID(totemStack));
// if (target == null) { throw new NullPointerException("Target is null!"); }
// } catch (NullPointerException exception) {
// sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Unable to find player!"));
// return;
// }
//
// if (!target.isSpectator()) {
// sender.sendSystemMessage(Component.literal(ChatFormatting.GRAY + target.getDisplayName().getString() + ChatFormatting.WHITE + " is not dead!"));
// return;
// }
//
// if (!target.serverLevel().equals(sender.serverLevel()) && !TotemItem.canReviveAcrossDimensions(totemStack)) {
// sender.sendSystemMessage(Component.literal(ChatFormatting.GRAY + target.getDisplayName().getString() + ChatFormatting.WHITE + " is in a different dimension!"));
// return;
// }
//
// TotemItem.setTargetDeaths(totemStack, target);
// if (!TotemItem.canTotemAffordTarget(totemStack)) {
// sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Not enough charge!"));
// return;
// }
//
// target.teleportTo(sender.serverLevel(), sender.position().x, sender.position().y, sender.position().z, sender.getYRot(), sender.getXRot());
// target.setGameMode(sender.serverLevel().getServer().getDefaultGameType());
// TotemItem.setCharge(totemStack, TotemItem.getCharge(totemStack) - TotemItem.getTargetCost(totemStack));
// totemStack.hurtAndBreak(1, sender, e -> e.broadcastBreakEvent(packet.hand));
// sender.sendSystemMessage(Component.literal(ChatFormatting.WHITE + "Successfully revived " + ChatFormatting.GRAY + target.getDisplayName().getString() + "!"));
// });
// context.setPacketHandled(true);
// }
}

View File

@ -26,7 +26,7 @@ public class Proxy implements IProxy {
// Initialize setup
Registration.register(modEventBus);
Config.init(modContainer);
NetworkManager.init();
//NetworkManager.init();
// Register mod event bus listeners
modEventBus.addListener(Proxy::setup);