From 0ded504c4e149ab39226a4ae1c6589da441d81b3 Mon Sep 17 00:00:00 2001 From: tyra314 Date: Sun, 11 Sep 2022 17:54:44 +0200 Subject: [PATCH] Workaround for null player --- .../network/packet/s2c/play/DeleteMarkerS2CPacket.java | 8 +++++++- .../network/packet/s2c/play/DimensionUpdateS2CPacket.java | 7 +++++-- .../atlas/network/packet/s2c/play/MapDataS2CPacket.java | 5 ++++- .../network/packet/s2c/play/PutMarkersS2CPacket.java | 7 ++++++- .../atlas/network/packet/s2c/play/PutTileS2CPacket.java | 7 ++++++- .../network/packet/s2c/play/TileGroupsS2CPacket.java | 7 ++++++- 6 files changed, 34 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DeleteMarkerS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DeleteMarkerS2CPacket.java index 7b88e9d55..a73d236c0 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DeleteMarkerS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DeleteMarkerS2CPacket.java @@ -8,9 +8,13 @@ import hunternif.mc.impl.atlas.network.packet.s2c.S2CPacket; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; +import javax.swing.text.html.parser.Entity; + /** * Deletes a marker. A client sends a {@link DeleteMarkerC2SPacket} * to the server as a request, and the server sends this back to all players as a response, including the @@ -39,9 +43,11 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context int markerID = buf.readVarInt(); context.queue(() -> { + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; MarkersData data = atlasID == GLOBAL ? AntiqueAtlasMod.globalMarkersData.getData() : - AntiqueAtlasMod.markersData.getMarkersData(atlasID, context.getPlayer().getEntityWorld()); + AntiqueAtlasMod.markersData.getMarkersData(atlasID, player.getEntityWorld()); data.removeMarker(markerID); AntiqueAtlasModClient.getAtlasGUI().updateBookmarkerList(); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DimensionUpdateS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DimensionUpdateS2CPacket.java index 3f3e41913..fcb868426 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DimensionUpdateS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/DimensionUpdateS2CPacket.java @@ -5,6 +5,8 @@ import hunternif.mc.impl.atlas.core.AtlasData; import hunternif.mc.impl.atlas.core.TileInfo; import hunternif.mc.impl.atlas.network.packet.s2c.S2CPacket; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -55,8 +57,9 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context } context.queue(() -> { - assert context.getPlayer() != null; - AtlasData data = AntiqueAtlasMod.tileData.getData(atlasID, context.getPlayer().getEntityWorld()); + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; + AtlasData data = AntiqueAtlasMod.tileData.getData(atlasID, player.getEntityWorld()); for (TileInfo info : tiles) { data.getWorldData(world).setTile(info.x, info.z, info.id); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/MapDataS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/MapDataS2CPacket.java index 11f664823..107f36686 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/MapDataS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/MapDataS2CPacket.java @@ -8,6 +8,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; @@ -38,7 +39,9 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context if (data == null) return; context.queue(() -> { - AtlasData atlasData = AntiqueAtlasMod.tileData.getData(atlasID, context.getPlayer().getEntityWorld()); + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; + AtlasData atlasData = AntiqueAtlasMod.tileData.getData(atlasID, player.getEntityWorld()); atlasData.updateFromNbt(data); if (AntiqueAtlasMod.CONFIG.doSaveBrowsingPos && MinecraftClient.getInstance().currentScreen instanceof GuiAtlas) { diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutMarkersS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutMarkersS2CPacket.java index c0099d9fd..43bc3f475 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutMarkersS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutMarkersS2CPacket.java @@ -11,6 +11,8 @@ import hunternif.mc.impl.atlas.registry.MarkerType; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -73,9 +75,12 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context } context.queue(() -> { + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; + MarkersData markersData = atlasID == GLOBAL ? AntiqueAtlasMod.globalMarkersData.getData() - : AntiqueAtlasMod.markersData.getMarkersData(atlasID, context.getPlayer().getEntityWorld()); + : AntiqueAtlasMod.markersData.getMarkersData(atlasID, player.getEntityWorld()); for (Identifier type : markersByType.keys()) { MarkerType markerType = MarkerType.REGISTRY.get(type); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutTileS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutTileS2CPacket.java index 68569fa6f..87c528a4e 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutTileS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/PutTileS2CPacket.java @@ -4,6 +4,8 @@ import hunternif.mc.impl.atlas.AntiqueAtlasMod; import hunternif.mc.impl.atlas.core.AtlasData; import hunternif.mc.impl.atlas.network.packet.s2c.S2CPacket; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -39,7 +41,10 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context Identifier tile = buf.readIdentifier(); context.queue(() -> { - AtlasData data = AntiqueAtlasMod.tileData.getData(atlasID, context.getPlayer().getEntityWorld()); + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; + + AtlasData data = AntiqueAtlasMod.tileData.getData(atlasID, player.getEntityWorld()); data.setTile(world, x, z, tile); }); } diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/TileGroupsS2CPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/TileGroupsS2CPacket.java index 422a9ce6c..90064e81e 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/TileGroupsS2CPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/s2c/play/TileGroupsS2CPacket.java @@ -6,6 +6,8 @@ import hunternif.mc.impl.atlas.core.WorldData; import hunternif.mc.impl.atlas.core.TileGroup; import hunternif.mc.impl.atlas.network.packet.s2c.S2CPacket; +import net.minecraft.client.MinecraftClient; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; @@ -56,7 +58,10 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context } context.queue(() -> { - AtlasData atlasData = AntiqueAtlasMod.tileData.getData(atlasID, context.getPlayer().getEntityWorld()); + PlayerEntity player = MinecraftClient.getInstance().player; + assert player != null; + + AtlasData atlasData = AntiqueAtlasMod.tileData.getData(atlasID, player.getEntityWorld()); WorldData dimData = atlasData.getWorldData(world); for (TileGroup t : tileGroups) { dimData.putTileGroup(t);