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

@@ -3,16 +3,16 @@ package eu.midnightdust.visualoverhaul;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import org.apache.commons.compress.utils.Lists;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class VisualOverhaulCommon {
public static final String MOD_ID = "visualoverhaul";
public static final List<UUID> playersWithMod = Lists.newArrayList();
public static final List<UUID> playersWithMod = new ArrayList<>();
public static final Map<BlockPos, ItemStack> jukeboxItems = new HashMap<>();
public static final Identifier HELLO_PACKET = id("hello");

View File

@@ -78,7 +78,6 @@ public class VisualOverhaulClientFabric implements ClientModInitializer {
ClientPlayNetworking.registerGlobalReceiver(UpdateItemsPacket.PACKET_ID,
(payload, context) -> context.client().execute(() -> {
System.out.println(payload.blockTypeID().toString());
if (payload.blockTypeID().equals(UPDATE_TYPE_RECORD)) jukeboxItems.put(payload.pos(), payload.inv().getFirst());
else if (context.client().world != null && context.client().world.getBlockEntity(payload.pos()) != null) {
if (payload.blockTypeID().equals(UPDATE_TYPE_POTION_BOTTLES) && context.client().world.getBlockEntity(payload.pos()) instanceof BrewingStandBlockEntity brewingStand) {

View File

@@ -5,7 +5,7 @@ yarn_mappings=1.21+build.2
enabled_platforms=fabric,neoforge
archives_base_name=visualoverhaul
mod_version=5.2.0
mod_version=5.2.1
maven_group=eu.midnightdust
release_type=release
curseforge_id=432008
@@ -19,7 +19,6 @@ fabric_api_version=0.100.1+1.21
neoforge_version=21.0.14-beta
yarn_mappings_patch_neoforge_version = 1.21+build.4
architectury_version=11.0.12
quilt_loader_version=0.19.0-beta.18
quilt_fabric_api_version=7.0.1+0.83.0-1.20

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));
}
}
}
});
}
}