Remove debug log spam & fix crashes

- Remove debug messages when receiving packets
- Fix dedicated server crashes on Fabric and Neoforge
This commit is contained in:
Martin Prokoph
2024-06-19 13:21:22 +02:00
parent cd9db8c8bc
commit 51c354c533
7 changed files with 56 additions and 38 deletions

View File

@@ -0,0 +1,20 @@
package eu.midnightdust.visualoverhaul.neoforge;
import eu.midnightdust.visualoverhaul.packet.HelloPacket;
import net.minecraft.client.MinecraftClient;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.event.ClientPlayerNetworkEvent;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.MOD_ID;
@EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.GAME, value = Dist.CLIENT)
public class VisualOverhaulClientGameEvents {
@SubscribeEvent()
public static void sendPacketOnLogin(ClientPlayerNetworkEvent.LoggingIn event) {
MinecraftClient client = MinecraftClient.getInstance();
if (client.getNetworkHandler() != null)
client.getNetworkHandler().send(new HelloPacket(event.getPlayer().getUuid()));
}
}

View File

@@ -1,20 +1,15 @@
package eu.midnightdust.visualoverhaul.neoforge;
import eu.midnightdust.visualoverhaul.VisualOverhaulCommon;
import eu.midnightdust.visualoverhaul.neoforge.handler.UpdateItemsPacketHandler;
import eu.midnightdust.visualoverhaul.packet.HelloPacket;
import eu.midnightdust.visualoverhaul.packet.UpdateItemsPacket;
import net.minecraft.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.block.entity.BrewingStandBlockEntity;
import net.minecraft.client.MinecraftClient;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.event.ClientPlayerNetworkEvent;
import net.neoforged.neoforge.event.entity.player.PlayerEvent;
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.*;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.UPDATE_TYPE_FURNACE_ITEMS;
@EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD)
public class VisualOverhaulEvents {
@@ -25,23 +20,7 @@ public class VisualOverhaulEvents {
VisualOverhaulCommon.playersWithMod.add(context.player().getUuid());
});
registrar.playToClient(UpdateItemsPacket.PACKET_ID, UpdateItemsPacket.codec, (payload, context) -> {
MinecraftClient client = MinecraftClient.getInstance();
client.execute(() -> {
System.out.println(payload.blockTypeID().toString());
if (payload.blockTypeID().equals(UPDATE_TYPE_RECORD))
jukeboxItems.put(payload.pos(), payload.inv().getFirst());
else if (client.world != null && client.world.getBlockEntity(payload.pos()) != null) {
if (payload.blockTypeID().equals(UPDATE_TYPE_POTION_BOTTLES) && client.world.getBlockEntity(payload.pos()) instanceof BrewingStandBlockEntity brewingStand) {
for (int i = 0; i <= 4; i++) {
brewingStand.setStack(i, payload.inv().get(i));
}
} else if (payload.blockTypeID().equals(UPDATE_TYPE_FURNACE_ITEMS) && client.world.getBlockEntity(payload.pos()) instanceof AbstractFurnaceBlockEntity furnace) {
for (int i = 0; i <= 2; i++) {
furnace.setStack(i, payload.inv().get(i));
}
}
}
});
UpdateItemsPacketHandler.handlePacket(payload);
});
}

View File

@@ -1,10 +1,7 @@
package eu.midnightdust.visualoverhaul.neoforge;
import eu.midnightdust.visualoverhaul.packet.HelloPacket;
import net.minecraft.client.MinecraftClient;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.event.ClientPlayerNetworkEvent;
import net.neoforged.neoforge.event.entity.player.PlayerEvent;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.MOD_ID;
@@ -12,12 +9,6 @@ import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.playersWithMod
@EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.GAME)
public class VisualOverhaulGameEvents {
@SubscribeEvent()
public static void sendPacketOnLogin(ClientPlayerNetworkEvent.LoggingIn event) {
MinecraftClient client = MinecraftClient.getInstance();
if (client.getNetworkHandler() != null)
client.getNetworkHandler().send(new HelloPacket(event.getPlayer().getUuid()));
}
@SubscribeEvent
public static void removeOnLogout(PlayerEvent.PlayerLoggedOutEvent event) {
playersWithMod.remove(event.getEntity().getUuid());

View File

@@ -0,0 +1,30 @@
package eu.midnightdust.visualoverhaul.neoforge.handler;
import eu.midnightdust.visualoverhaul.packet.UpdateItemsPacket;
import net.minecraft.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.block.entity.BrewingStandBlockEntity;
import net.minecraft.client.MinecraftClient;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.*;
import static eu.midnightdust.visualoverhaul.VisualOverhaulCommon.UPDATE_TYPE_FURNACE_ITEMS;
public class UpdateItemsPacketHandler {
public static void handlePacket(UpdateItemsPacket payload) {
MinecraftClient client = MinecraftClient.getInstance();
client.execute(() -> {
if (payload.blockTypeID().equals(UPDATE_TYPE_RECORD))
jukeboxItems.put(payload.pos(), payload.inv().getFirst());
else if (client.world != null && client.world.getBlockEntity(payload.pos()) != null) {
if (payload.blockTypeID().equals(UPDATE_TYPE_POTION_BOTTLES) && client.world.getBlockEntity(payload.pos()) instanceof BrewingStandBlockEntity brewingStand) {
for (int i = 0; i <= 4; i++) {
brewingStand.setStack(i, payload.inv().get(i));
}
} else if (payload.blockTypeID().equals(UPDATE_TYPE_FURNACE_ITEMS) && client.world.getBlockEntity(payload.pos()) instanceof AbstractFurnaceBlockEntity furnace) {
for (int i = 0; i <= 2; i++) {
furnace.setStack(i, payload.inv().get(i));
}
}
}
});
}
}