From 2456e8b91d12021825698b212f1875120036f5a6 Mon Sep 17 00:00:00 2001 From: sisby-folk Date: Mon, 15 May 2023 19:20:09 +1000 Subject: [PATCH] remove all items and item changes --- .../main/java/hunternif/mc/api/AtlasAPI.java | 38 +---- .../main/java/hunternif/mc/api/MarkerAPI.java | 3 +- .../main/java/hunternif/mc/api/TileAPI.java | 6 +- .../mc/impl/atlas/AntiqueAtlasConfig.java | 4 - .../mc/impl/atlas/AntiqueAtlasMod.java | 7 - .../mc/impl/atlas/AntiqueAtlasModClient.java | 5 - .../hunternif/mc/impl/atlas/ClientProxy.java | 7 +- .../mc/impl/atlas/client/OverlayRenderer.java | 11 +- .../mc/impl/atlas/client/gui/GuiAtlas.java | 30 ++-- .../mc/impl/atlas/core/AtlasData.java | 3 +- .../impl/atlas/core/PlayerEventHandler.java | 13 +- .../mc/impl/atlas/core/TileDataHandler.java | 13 -- .../impl/atlas/core/watcher/DeathWatcher.java | 9 +- .../atlas/event/RecipeCraftedCallback.java | 25 ---- .../atlas/event/RecipeCraftedHandler.java | 26 ---- .../mc/impl/atlas/item/AntiqueAtlasItems.java | 40 ------ .../mc/impl/atlas/item/AtlasItem.java | 103 ------------- .../mc/impl/atlas/item/EmptyAtlasItem.java | 51 ------- .../impl/atlas/item/RecipeAtlasCloning.java | 113 --------------- .../impl/atlas/item/RecipeAtlasCombining.java | 136 ------------------ .../mc/impl/atlas/marker/MarkersData.java | 3 +- .../impl/atlas/marker/MarkersDataHandler.java | 13 -- .../atlas/marker/NetherPortalWatcher.java | 13 +- .../atlas/mixin/HeldItemRendererMixin.java | 132 ----------------- .../MixinCartographyTableScreenHandler.java | 66 --------- .../mixin/MixinClientPlayNetworkHandler.java | 2 + .../atlas/mixin/MixinCraftingResultSlot.java | 38 ----- .../dev/MixinCartographyTableHandlerSlot.java | 42 ------ .../MixinCartographyTableHandlerSlot.java | 43 ------ .../mixinhooks/CartographyTableHooks.java | 51 ------- .../c2s/play/DeleteMarkerC2SPacket.java | 2 +- .../play/PutBrowsingPositionC2SPacket.java | 2 +- .../packet/c2s/play/PutMarkerC2SPacket.java | 2 +- .../packet/c2s/play/PutTileC2SPacket.java | 2 +- .../resources/antiqueatlas-common.mixins.json | 11 +- .../assets/antiqueatlas/lang/en_us.json | 1 - .../assets/antiqueatlas/lang/es_es.json | 1 - .../assets/antiqueatlas/lang/ru_ru.json | 1 - .../assets/antiqueatlas/lang/uk_ua.json | 1 - gradle.properties | 2 +- 40 files changed, 41 insertions(+), 1030 deletions(-) delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedCallback.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedHandler.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/item/AntiqueAtlasItems.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/item/AtlasItem.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/item/EmptyAtlasItem.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCloning.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCombining.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixin/HeldItemRendererMixin.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCartographyTableScreenHandler.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCraftingResultSlot.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixin/dev/MixinCartographyTableHandlerSlot.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixin/prod/MixinCartographyTableHandlerSlot.java delete mode 100644 common/src/main/java/hunternif/mc/impl/atlas/mixinhooks/CartographyTableHooks.java diff --git a/common/src/main/java/hunternif/mc/api/AtlasAPI.java b/common/src/main/java/hunternif/mc/api/AtlasAPI.java index a4a6de5d7..95d16eb05 100644 --- a/common/src/main/java/hunternif/mc/api/AtlasAPI.java +++ b/common/src/main/java/hunternif/mc/api/AtlasAPI.java @@ -1,18 +1,8 @@ package hunternif.mc.api; -import hunternif.mc.impl.atlas.AntiqueAtlasMod; import hunternif.mc.impl.atlas.api.impl.MarkerApiImpl; import hunternif.mc.impl.atlas.api.impl.TileApiImpl; -import hunternif.mc.impl.atlas.item.AtlasItem; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; /** * Use this class to obtain a reference to the APIs. @@ -32,10 +22,6 @@ public static int getVersion() { return VERSION; } - public static Item getAtlasItem() { - return Registry.ITEM.get(new Identifier("antiqueatlas:antique_atlas")); - } - /** * API for biomes and custom tiles (i.e. dungeons, towns etc). */ @@ -50,27 +36,7 @@ public static MarkerAPI getMarkerAPI() { return markers; } - /** - * Convenience method that returns a list of atlas IDs for all atlas items - * the player is currently carrying. - **/ - public static List getPlayerAtlases(PlayerEntity player) { - if (!AntiqueAtlasMod.CONFIG.itemNeeded) { - return Collections.singletonList(player.getUuid().hashCode()); - } - - List list = new ArrayList<>(); - for (ItemStack stack : player.getInventory().main) { - if (!stack.isEmpty() && stack.getItem() instanceof AtlasItem) { - list.add(AtlasItem.getAtlasID(stack)); - } - } - for (ItemStack stack : player.getInventory().offHand) { - if (!stack.isEmpty() && stack.getItem() instanceof AtlasItem) { - list.add(AtlasItem.getAtlasID(stack)); - } - } - - return list; + public static int getPlayerAtlasId(PlayerEntity player) { + return player.getUuid().hashCode(); } } diff --git a/common/src/main/java/hunternif/mc/api/MarkerAPI.java b/common/src/main/java/hunternif/mc/api/MarkerAPI.java index a4a16a265..4a7faa791 100644 --- a/common/src/main/java/hunternif/mc/api/MarkerAPI.java +++ b/common/src/main/java/hunternif/mc/api/MarkerAPI.java @@ -27,8 +27,7 @@ public interface MarkerAPI { * @param world * @param visibleAhead whether the marker should appear visible even if * the player hasn't yet discovered that area. - * @param atlasID the ID of the atlas you want to put marker in. Equal - * to ItemStack damage for ItemAtlas. + * @param atlasID the ID of the atlas you want to put marker in. * @param marker name of your custom marker type. * @param label text label to be displayed on mouseover. * @param x block coordinate diff --git a/common/src/main/java/hunternif/mc/api/TileAPI.java b/common/src/main/java/hunternif/mc/api/TileAPI.java index a4d4f3558..c59d28318 100644 --- a/common/src/main/java/hunternif/mc/api/TileAPI.java +++ b/common/src/main/java/hunternif/mc/api/TileAPI.java @@ -25,8 +25,7 @@ public interface TileAPI { *

* * @param world dimension the chunk is located in. - * @param atlasID the ID of the atlas you want to put marker in. Equal - * to ItemStack damage for ItemAtlas. + * @param atlasID the ID of the atlas you want to put marker in. * @param tile the identifier of the new tile * @param chunkX x chunk coordinate. (block coordinate >> 4) * @param chunkZ z chunk coordinate. (block coordinate >> 4) @@ -42,8 +41,7 @@ public interface TileAPI { *

* * @param world dimension the chunk is located in. - * @param atlasID the ID of the atlas you want to put marker in. Equal - * to ItemStack damage for ItemAtlas. + * @param atlasID the ID of the atlas you want to put marker in. * @param chunkX x chunk coordinate. (block coordinate >> 4) * @param chunkZ z chunk coordinate. (block coordinate >> 4) * @return the identifier of the requested tile diff --git a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasConfig.java b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasConfig.java index ac77754dc..8ffd7c7f6 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasConfig.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasConfig.java @@ -25,10 +25,6 @@ public class AntiqueAtlasConfig implements ConfigData { @Comment("Whether to add global markers for Nether Portals.") public boolean autoNetherPortalMarkers = true; - @ConfigEntry.Category("gameplay") - @Comment("Player will need to craft atlas item to use atlas.") - public boolean itemNeeded = true; - //============ Interface settings ============= @ConfigEntry.Category("userInterface") public boolean doScaleMarkers = false; diff --git a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasMod.java b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasMod.java index c7b732118..9e9fbe0d9 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasMod.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasMod.java @@ -7,9 +7,6 @@ import hunternif.mc.impl.atlas.core.PlayerEventHandler; import hunternif.mc.impl.atlas.core.TileDataHandler; import hunternif.mc.impl.atlas.core.scanning.WorldScanner; -import hunternif.mc.impl.atlas.event.RecipeCraftedCallback; -import hunternif.mc.impl.atlas.event.RecipeCraftedHandler; -import hunternif.mc.impl.atlas.item.AntiqueAtlasItems; import hunternif.mc.impl.atlas.marker.GlobalMarkersDataHandler; import hunternif.mc.impl.atlas.marker.MarkersDataHandler; import hunternif.mc.impl.atlas.mixinhooks.NewPlayerConnectionCallback; @@ -57,8 +54,6 @@ public static void init() { AutoConfig.register(AntiqueAtlasConfig.class, JanksonConfigSerializer::new); CONFIG = AutoConfig.getConfigHolder(AntiqueAtlasConfig.class).getConfig(); - AntiqueAtlasItems.register(); - AntiqueAtlasNetworking.registerC2SListeners(); NewServerConnectionCallback.EVENT.register(tileData::onClientConnectedToServer); @@ -72,8 +67,6 @@ public static void init() { LifecycleEvent.SERVER_LEVEL_LOAD.register(globalMarkersData::onWorldLoad); LifecycleEvent.SERVER_LEVEL_LOAD.register(globalTileData::onWorldLoad); - RecipeCraftedCallback.EVENT.register(new RecipeCraftedHandler()); - StructurePieceAddedCallback.EVENT.register(StructureHandler::resolve); StructureAddedCallback.EVENT.register(StructureHandler::resolve); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasModClient.java b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasModClient.java index 1473b45f9..19673172f 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasModClient.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/AntiqueAtlasModClient.java @@ -5,7 +5,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; -import net.minecraft.item.ItemStack; @Environment(EnvType.CLIENT) public class AntiqueAtlasModClient { @@ -20,10 +19,6 @@ public static GuiAtlas getAtlasGUI() { return guiAtlas; } - public static void openAtlasGUI(ItemStack stack) { - openAtlasGUI(getAtlasGUI().prepareToOpen(stack)); - } - public static void openAtlasGUI() { openAtlasGUI(getAtlasGUI().prepareToOpen()); } diff --git a/common/src/main/java/hunternif/mc/impl/atlas/ClientProxy.java b/common/src/main/java/hunternif/mc/impl/atlas/ClientProxy.java index f06030121..d974eb112 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/ClientProxy.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/ClientProxy.java @@ -49,11 +49,8 @@ public void initClient() { type.initMips(); } - if (!AntiqueAtlasMod.CONFIG.itemNeeded) { - KeyHandler.registerBindings(); - ClientTickEvent.CLIENT_POST.register(KeyHandler::onClientTick); - } - + KeyHandler.registerBindings(); + ClientTickEvent.CLIENT_POST.register(KeyHandler::onClientTick); } /** diff --git a/common/src/main/java/hunternif/mc/impl/atlas/client/OverlayRenderer.java b/common/src/main/java/hunternif/mc/impl/atlas/client/OverlayRenderer.java index 9b1b04981..9f5e9178c 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/client/OverlayRenderer.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/client/OverlayRenderer.java @@ -1,12 +1,11 @@ package hunternif.mc.impl.atlas.client; import com.mojang.blaze3d.systems.RenderSystem; +import hunternif.mc.api.AtlasAPI; import hunternif.mc.api.client.AtlasClientAPI; import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import hunternif.mc.impl.atlas.item.AntiqueAtlasItems; import hunternif.mc.impl.atlas.client.gui.GuiAtlas; import hunternif.mc.impl.atlas.core.WorldData; -import hunternif.mc.impl.atlas.item.AtlasItem; import hunternif.mc.impl.atlas.marker.DimensionMarkersData; import hunternif.mc.impl.atlas.marker.Marker; import hunternif.mc.impl.atlas.marker.MarkersData; @@ -20,7 +19,6 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; import net.minecraft.util.math.Quaternion; import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3f; @@ -40,7 +38,7 @@ public class OverlayRenderer extends DrawableHelper { private PlayerEntity player; private World world; - public void drawOverlay(MatrixStack matrices, VertexConsumerProvider vertexConsumer, int light, ItemStack atlas) { + public void drawOverlay(MatrixStack matrices, VertexConsumerProvider vertexConsumer, int light) { // Overlay must close if Atlas GUI is opened if (MinecraftClient.getInstance().currentScreen instanceof GuiAtlas) { return; @@ -53,10 +51,7 @@ public void drawOverlay(MatrixStack matrices, VertexConsumerProvider vertexConsu this.player = MinecraftClient.getInstance().player; this.world = MinecraftClient.getInstance().world; - if (!atlas.isEmpty() && atlas.getItem() == AntiqueAtlasItems.ATLAS.getOrNull()) { - int atlasID = AtlasItem.getAtlasID(atlas); - drawMinimap(matrices, atlasID, vertexConsumer, light); - } + drawMinimap(matrices, AtlasAPI.getPlayerAtlasId(player), vertexConsumer, light); } private void drawMinimap(MatrixStack matrices, int atlasID, VertexConsumerProvider buffer, int light) { diff --git a/common/src/main/java/hunternif/mc/impl/atlas/client/gui/GuiAtlas.java b/common/src/main/java/hunternif/mc/impl/atlas/client/gui/GuiAtlas.java index 42bbcada7..03a9c4270 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/client/gui/GuiAtlas.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/client/gui/GuiAtlas.java @@ -1,6 +1,7 @@ package hunternif.mc.impl.atlas.client.gui; import com.mojang.blaze3d.systems.RenderSystem; +import hunternif.mc.api.AtlasAPI; import hunternif.mc.api.client.AtlasClientAPI; import hunternif.mc.impl.atlas.AntiqueAtlasMod; import hunternif.mc.impl.atlas.client.*; @@ -12,7 +13,6 @@ import hunternif.mc.impl.atlas.core.WorldData; import hunternif.mc.impl.atlas.event.MarkerClickedCallback; import hunternif.mc.impl.atlas.event.MarkerHoveredCallback; -import hunternif.mc.impl.atlas.item.AtlasItem; import hunternif.mc.impl.atlas.marker.DimensionMarkersData; import hunternif.mc.impl.atlas.marker.Marker; import hunternif.mc.impl.atlas.marker.MarkersData; @@ -27,7 +27,6 @@ import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; import net.minecraft.text.Text; @@ -35,7 +34,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3f; import org.lwjgl.glfw.GLFW; import org.lwjgl.opengl.GL11; @@ -279,7 +277,6 @@ public void onExitState() { // Misc stuff ============================================================== private PlayerEntity player; - private ItemStack stack; private WorldData biomeData; /** @@ -346,10 +343,8 @@ public boolean isEnabled() { }; addChild(btnExportPng).offsetGuiCoords(300, 75); btnExportPng.addListener(button -> { - if (stack != null || !AntiqueAtlasMod.CONFIG.itemNeeded) { - exportThread = new Thread(() -> exportImage(getAtlasID()), "Atlas file export thread"); - exportThread.start(); - } + exportThread = new Thread(() -> exportImage(getAtlasID()), "Atlas file export thread"); + exportThread.start(); }); btnMarker = new GuiBookmarkButton(0, Textures.ICON_ADD_MARKER, Text.translatable("gui.antiqueatlas.addMarker")); @@ -358,7 +353,7 @@ public boolean isEnabled() { if (state.is(PLACING_MARKER)) { selectedButton = null; state.switchTo(NORMAL); - } else if (stack != null || !AntiqueAtlasMod.CONFIG.itemNeeded) { + } else { selectedButton = button; state.switchTo(PLACING_MARKER); @@ -392,7 +387,7 @@ public boolean isEnabled() { if (state.is(DELETING_MARKER)) { selectedButton = null; state.switchTo(NORMAL); - } else if (stack != null || !AntiqueAtlasMod.CONFIG.itemNeeded) { + } else { selectedButton = button; state.switchTo(DELETING_MARKER); } @@ -403,7 +398,7 @@ public boolean isEnabled() { selectedButton = null; if (state.is(HIDING_MARKERS)) { state.switchTo(NORMAL); - } else if (stack != null || !AntiqueAtlasMod.CONFIG.itemNeeded) { + } else { selectedButton = null; state.switchTo(HIDING_MARKERS); } @@ -423,12 +418,6 @@ public boolean isEnabled() { state.switchTo(NORMAL); } - public GuiAtlas prepareToOpen(ItemStack stack) { - this.stack = stack; - - return prepareToOpen(); - } - public void openMarkerFinalizer(Text name) { markerFinalizer.setMarkerData(player.getEntityWorld(), getAtlasID(), @@ -913,8 +902,7 @@ public void render(MatrixStack matrices, int mouseX, int mouseY, float par3) { // RenderSystem.alphaFunc(GL11.GL_GREATER, 0); // So light detail on tiles is visible Textures.BOOK.draw(matrices, getGuiX(), getGuiY()); - if ((stack == null && AntiqueAtlasMod.CONFIG.itemNeeded) || biomeData == null) - return; + if (biomeData == null) return; if (state.is(DELETING_MARKER)) { RenderSystem.setShaderColor(1, 1, 1, 0.5f); @@ -1240,9 +1228,9 @@ private double getIconScale() { } /** - * Returns atlas id based on "itemNeeded" option + * Returns atlas id */ private int getAtlasID() { - return AntiqueAtlasMod.CONFIG.itemNeeded ? AtlasItem.getAtlasID(stack) : player.getUuid().hashCode(); + return AtlasAPI.getPlayerAtlasId(player); } } diff --git a/common/src/main/java/hunternif/mc/impl/atlas/core/AtlasData.java b/common/src/main/java/hunternif/mc/impl/atlas/core/AtlasData.java index 1fef75818..2952730e3 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/core/AtlasData.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/core/AtlasData.java @@ -152,8 +152,7 @@ public boolean isSyncedToPlayer(PlayerEntity player) { } /** - * Send all data to the player in several zipped packets. Called once - * during the first run of ItemAtlas.onUpdate(). + * Send all data to the player in several zipped packets. Called once on login. */ public void syncToPlayer(int atlasID, PlayerEntity player) { NbtCompound data = new NbtCompound(); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/core/PlayerEventHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/core/PlayerEventHandler.java index 7fc0f3663..e1a48f0a9 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/core/PlayerEventHandler.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/core/PlayerEventHandler.java @@ -1,5 +1,6 @@ package hunternif.mc.impl.atlas.core; +import hunternif.mc.api.AtlasAPI; import hunternif.mc.impl.atlas.AntiqueAtlasMod; import hunternif.mc.impl.atlas.marker.MarkersData; import net.minecraft.entity.player.PlayerEntity; @@ -9,7 +10,7 @@ public class PlayerEventHandler { public static void onPlayerLogin(ServerPlayerEntity player) { World world = player.world; - int atlasID = player.getUuid().hashCode(); + int atlasID = AtlasAPI.getPlayerAtlasId(player); AtlasData data = AntiqueAtlasMod.tileData.getData(atlasID, world); // On the player join send the map from the server to the client: @@ -25,12 +26,10 @@ public static void onPlayerLogin(ServerPlayerEntity player) { } public static void onPlayerTick(PlayerEntity player) { - if (!AntiqueAtlasMod.CONFIG.itemNeeded) { - // TODO Can we move world scanning to the server in this case as well? - AtlasData data = AntiqueAtlasMod.tileData.getData( - player.getUuid().hashCode(), player.world); + // TODO Can we move world scanning to the server in this case as well? + AtlasData data = AntiqueAtlasMod.tileData.getData( + AtlasAPI.getPlayerAtlasId(player), player.world); - AntiqueAtlasMod.worldScanner.updateAtlasAroundPlayer(data, player); - } + AntiqueAtlasMod.worldScanner.updateAtlasAroundPlayer(data, player); } } diff --git a/common/src/main/java/hunternif/mc/impl/atlas/core/TileDataHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/core/TileDataHandler.java index 41fffdd8d..2c25d19e4 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/core/TileDataHandler.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/core/TileDataHandler.java @@ -1,7 +1,5 @@ package hunternif.mc.impl.atlas.core; -import hunternif.mc.impl.atlas.item.AtlasItem; -import net.minecraft.item.ItemStack; import net.minecraft.server.world.ServerWorld; import net.minecraft.world.PersistentStateManager; import net.minecraft.world.World; @@ -21,17 +19,6 @@ public class TileDataHandler { private final Map atlasDataClientCache = new ConcurrentHashMap<>(); - /** - * Loads data for the given atlas ID or creates a new one. - */ - public AtlasData getData(ItemStack stack, World world) { - if (stack.getItem() instanceof AtlasItem) { - return getData(AtlasItem.getAtlasID(stack), world); - } else { - return null; - } - } - /** * Loads data for the given atlas or creates a new one. */ diff --git a/common/src/main/java/hunternif/mc/impl/atlas/core/watcher/DeathWatcher.java b/common/src/main/java/hunternif/mc/impl/atlas/core/watcher/DeathWatcher.java index beb215efd..3d5a8cf3e 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/core/watcher/DeathWatcher.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/core/watcher/DeathWatcher.java @@ -14,11 +14,10 @@ public class DeathWatcher { public static void onPlayerDeath(PlayerEntity player) { if (AntiqueAtlasMod.CONFIG.autoDeathMarker) { - for (int atlasID : AtlasAPI.getPlayerAtlases(player)) { - AtlasAPI.getMarkerAPI().putMarker(player.getEntityWorld(), true, atlasID, new Identifier("antiqueatlas:tomb"), - Text.translatable("gui.antiqueatlas.marker.tomb", player.getName()), - (int) player.getX(), (int) player.getZ()); - } + int atlasID = AtlasAPI.getPlayerAtlasId(player); + AtlasAPI.getMarkerAPI().putMarker(player.getEntityWorld(), true, atlasID, new Identifier("antiqueatlas:tomb"), + Text.translatable("gui.antiqueatlas.marker.tomb", player.getName()), + (int) player.getX(), (int) player.getZ()); } } } diff --git a/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedCallback.java b/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedCallback.java deleted file mode 100644 index 9df72dfb8..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedCallback.java +++ /dev/null @@ -1,25 +0,0 @@ -package hunternif.mc.impl.atlas.event; - -import dev.architectury.event.Event; -import dev.architectury.event.EventFactory; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.Recipe; -import net.minecraft.util.ActionResult; -import net.minecraft.world.World; - -/** - * Callback right when a item is crafted using a recipe. - *

- * Upon return: - * - SUCCESS cancels further processing and, on the client, sends a packet to the server. - * - PASS falls back to further processing. - * - FAIL cancels further processing and does not send a packet to the server. - */ -public interface RecipeCraftedCallback { - - Event EVENT = EventFactory.createEventResult(RecipeCraftedCallback.class); - - ActionResult onCrafted(PlayerEntity player, World world, Recipe recipe, ItemStack result, Inventory ingredients); -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedHandler.java deleted file mode 100644 index fcbdeaf9b..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/event/RecipeCraftedHandler.java +++ /dev/null @@ -1,26 +0,0 @@ -package hunternif.mc.impl.atlas.event; - -import hunternif.mc.impl.atlas.item.RecipeAtlasCombining; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.Recipe; -import net.minecraft.util.ActionResult; -import net.minecraft.world.World; - - -public class RecipeCraftedHandler implements RecipeCraftedCallback { - - @Override - public ActionResult onCrafted(PlayerEntity player, World world, Recipe recipe, ItemStack result, Inventory ingredients) { - if (world.isClient()) return ActionResult.PASS; - - if (recipe instanceof RecipeAtlasCombining) { - RecipeAtlasCombining combining_recipe = (RecipeAtlasCombining) recipe; - - combining_recipe.onCrafted(world, ingredients, result); - } - - return ActionResult.PASS; - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/item/AntiqueAtlasItems.java b/common/src/main/java/hunternif/mc/impl/atlas/item/AntiqueAtlasItems.java deleted file mode 100644 index 22bb14e73..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/item/AntiqueAtlasItems.java +++ /dev/null @@ -1,40 +0,0 @@ -package hunternif.mc.impl.atlas.item; - -import dev.architectury.registry.registries.DeferredRegister; -import dev.architectury.registry.registries.RegistrySupplier; -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; - -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; - -public class AntiqueAtlasItems { - public static final DeferredRegister - ITEMS = DeferredRegister.create(AntiqueAtlasMod.ID, Registry.ITEM_KEY); - public static final DeferredRegister> - RECIPES = DeferredRegister.create(AntiqueAtlasMod.ID, Registry.RECIPE_SERIALIZER_KEY); - - public static final RegistrySupplier EMPTY_ATLAS = ITEMS.register("empty_antique_atlas", () -> new EmptyAtlasItem(new Item.Settings().group(ItemGroup.MISC))); - public static final RegistrySupplier ATLAS = ITEMS.register("antique_atlas", () -> new AtlasItem(new Item.Settings().maxCount(1))); - - public static ItemStack getAtlasFromId(int atlasID) { - ItemStack atlas = new ItemStack(ATLAS.get()); - atlas.getOrCreateNbt().putInt("atlasID", atlasID); - - return atlas; - } - - public static void register() { - if (AntiqueAtlasMod.CONFIG.itemNeeded) { - ITEMS.register(); - - RECIPES.register("atlas_clone", () -> RecipeAtlasCloning.SERIALIZER); - RECIPES.register("atlas_combine", () -> RecipeAtlasCombining.SERIALIZER); - - RECIPES.register(); - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/item/AtlasItem.java b/common/src/main/java/hunternif/mc/impl/atlas/item/AtlasItem.java deleted file mode 100644 index 07a816bc9..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/item/AtlasItem.java +++ /dev/null @@ -1,103 +0,0 @@ -package hunternif.mc.impl.atlas.item; - -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import hunternif.mc.impl.atlas.AntiqueAtlasModClient; -import hunternif.mc.impl.atlas.core.AtlasData; -import hunternif.mc.impl.atlas.core.TileInfo; -import hunternif.mc.impl.atlas.marker.MarkersData; -import hunternif.mc.impl.atlas.network.packet.s2c.play.DimensionUpdateS2CPacket; -import net.minecraft.block.BlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUsageContext; -import net.minecraft.item.map.MapBannerMarker; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; -import net.minecraft.tag.BlockTags; -import net.minecraft.text.Text; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.TypedActionResult; -import net.minecraft.world.World; - -import java.util.Collection; -import java.util.Objects; - -public class AtlasItem extends Item { - - public AtlasItem(Item.Settings settings) { - super(settings); - } - - public static int getAtlasID(ItemStack stack) { - return stack.getOrCreateNbt().getInt("atlasID"); - } - - @Override - public Text getName(ItemStack stack) { - return Text.translatable(this.getTranslationKey(), getAtlasID(stack)); - } - - @Override - public TypedActionResult use(World world, PlayerEntity playerEntity, Hand hand) { - ItemStack stack = playerEntity.getStackInHand(hand); - - if (world.isClient) { - AntiqueAtlasModClient.openAtlasGUI(stack); - } - - return new TypedActionResult<>(ActionResult.SUCCESS, stack); - } - - @Override - public ActionResult useOnBlock(ItemUsageContext context) { - if (!context.getWorld().isClient()) { - return super.useOnBlock(context); - } - - BlockState blockState = context.getWorld().getBlockState(context.getBlockPos()); - if (blockState.isIn(BlockTags.BANNERS)) { - AntiqueAtlasModClient.openAtlasGUI(context.getStack()); - MapBannerMarker mapBannerMarker = MapBannerMarker.fromWorldBlock(context.getWorld(), context.getBlockPos()); - AntiqueAtlasModClient.getAtlasGUI().openMarkerFinalizer(mapBannerMarker.getName()); - context.getWorld().playSound(context.getPlayer(), context.getBlockPos(), SoundEvents.ITEM_BOOK_PAGE_TURN, SoundCategory.BLOCKS, 1f, 1f); - - return ActionResult.SUCCESS; - } - - return super.useOnBlock(context); - } - - @Override - public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean isEquipped) { - AtlasData data = AntiqueAtlasMod.tileData.getData(stack, world); - if (data == null || !(entity instanceof PlayerEntity)) return; - - int atlasId = getAtlasID(stack); - - // On the first run send the map from the server to the client: - PlayerEntity player = (PlayerEntity) entity; - if (!world.isClient && !data.isSyncedToPlayer(player) && !data.isEmpty()) { - data.syncToPlayer(atlasId, player); - } - - // Same thing with the local markers: - MarkersData markers = AntiqueAtlasMod.markersData.getMarkersData(stack, world); - if (!world.isClient && !markers.isSyncedOnPlayer(player) && !markers.isEmpty()) { - markers.syncToPlayer(atlasId, (ServerPlayerEntity) player); - } - - if (!world.isClient) { - // Updating map around player - Collection newTiles = AntiqueAtlasMod.worldScanner.updateAtlasAroundPlayer(data, player); - - if (!newTiles.isEmpty()) { - new DimensionUpdateS2CPacket(atlasId, player.getEntityWorld().getRegistryKey(), newTiles).send(Objects.requireNonNull(player.getServer())); - } - } - } - -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/item/EmptyAtlasItem.java b/common/src/main/java/hunternif/mc/impl/atlas/item/EmptyAtlasItem.java deleted file mode 100644 index f4a0bcb73..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/item/EmptyAtlasItem.java +++ /dev/null @@ -1,51 +0,0 @@ -package hunternif.mc.impl.atlas.item; - -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import hunternif.mc.impl.atlas.core.AtlasData; -import hunternif.mc.impl.atlas.marker.MarkersData; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.TypedActionResult; -import net.minecraft.world.World; - -public class EmptyAtlasItem extends Item { - public EmptyAtlasItem(Item.Settings settings) { - super(settings); - } - - @Override - public TypedActionResult use(World world, PlayerEntity player, - Hand hand) { - ItemStack stack = player.getStackInHand(hand); - if (world.isClient()) { - world.playSound(player, player.getBlockPos(), SoundEvents.BLOCK_ENCHANTMENT_TABLE_USE, SoundCategory.PLAYERS, 1F, 1F); - return new TypedActionResult<>(ActionResult.SUCCESS, stack); - } - - int atlasID = AntiqueAtlasMod.getAtlasIdData(world).getNextAtlasId(); - ItemStack atlasStack = AntiqueAtlasItems.getAtlasFromId(atlasID); - - AtlasData atlasData = AntiqueAtlasMod.tileData.getData(atlasID, world); - atlasData.getWorldData(player.getEntityWorld().getRegistryKey()).setBrowsingPositionTo(player); - atlasData.markDirty(); - - MarkersData markersData = AntiqueAtlasMod.markersData.getMarkersData(atlasID, world); - markersData.markDirty(); - - stack.decrement(1); - if (stack.isEmpty()) { - return new TypedActionResult<>(ActionResult.SUCCESS, atlasStack); - } else { - if (!player.getInventory().insertStack(atlasStack.copy())) { - player.dropItem(atlasStack, true); - } - - return new TypedActionResult<>(ActionResult.SUCCESS, stack); - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCloning.java b/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCloning.java deleted file mode 100644 index 796f3b26d..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCloning.java +++ /dev/null @@ -1,113 +0,0 @@ -package hunternif.mc.impl.atlas.item; - -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import net.minecraft.inventory.CraftingInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.CraftingRecipe; -import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.recipe.RecipeType; -import net.minecraft.recipe.SpecialRecipeSerializer; -import net.minecraft.util.Identifier; -import net.minecraft.world.World; - -public class RecipeAtlasCloning implements CraftingRecipe { - public static final RecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>(RecipeAtlasCloning::new); - private final Identifier id; - - public RecipeAtlasCloning(Identifier identifier) { - this.id = identifier; - } - - @Override - public String getGroup() { - return AntiqueAtlasMod.ID + ":atlas"; - } - - @Override - public boolean matches(CraftingInventory inv, World world) { - int i = 0; // number of empty atlases - ItemStack filledAtlas = ItemStack.EMPTY; - - for (int j = 0; j < inv.size(); ++j) { - ItemStack stack = inv.getStack(j); - - if (!stack.isEmpty()) { - if (stack.getItem() == AntiqueAtlasItems.ATLAS.get()) { - if (!filledAtlas.isEmpty()) { - return false; - } - filledAtlas = stack; - } else { - if (stack.getItem() != AntiqueAtlasItems.EMPTY_ATLAS.get()) { - return false; - } - i++; - } - } - } - - return !filledAtlas.isEmpty() && i > 0; - } - - @Override - public ItemStack craft(CraftingInventory inv) { - int i = 0; // number of new copies - ItemStack filledAtlas = ItemStack.EMPTY; - - for (int j = 0; j < inv.size(); ++j) { - ItemStack stack = inv.getStack(j); - - if (!stack.isEmpty()) { - if (stack.getItem() == AntiqueAtlasItems.ATLAS.get()) { - if (!filledAtlas.isEmpty()) { - return ItemStack.EMPTY; - } - filledAtlas = stack; - } else { - if (stack.getItem() != AntiqueAtlasItems.EMPTY_ATLAS.get()) { - return ItemStack.EMPTY; - } - i++; - } - } - } - - if (!filledAtlas.isEmpty() && i >= 1) { - ItemStack newAtlas = new ItemStack(AntiqueAtlasItems.ATLAS.get(), i + 1); - newAtlas.getOrCreateNbt().putInt("atlasID", AtlasItem.getAtlasID(filledAtlas)); - - if (filledAtlas.hasCustomName()) { - newAtlas.setCustomName(filledAtlas.getName()); - } - - return newAtlas; - } else { - return ItemStack.EMPTY; - } - } - - @Override - public boolean fits(int width, int height) { - return true; - } - - @Override - public ItemStack getOutput() { - return ItemStack.EMPTY; - } - - @Override - public Identifier getId() { - return id; - } - - @Override - public RecipeSerializer getSerializer() { - return SERIALIZER; - } - - @Override - public RecipeType getType() { - return RecipeType.CRAFTING; - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCombining.java b/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCombining.java deleted file mode 100644 index 42288fb3b..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/item/RecipeAtlasCombining.java +++ /dev/null @@ -1,136 +0,0 @@ -package hunternif.mc.impl.atlas.item; - -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import hunternif.mc.impl.atlas.core.AtlasData; -import hunternif.mc.impl.atlas.marker.Marker; -import hunternif.mc.impl.atlas.marker.MarkersData; -import net.minecraft.inventory.CraftingInventory; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.CraftingRecipe; -import net.minecraft.recipe.RecipeSerializer; -import net.minecraft.recipe.RecipeType; -import net.minecraft.recipe.SpecialRecipeSerializer; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.RegistryKey; -import net.minecraft.world.World; - -import java.util.ArrayList; -import java.util.List; - -/** - * 2 or more atlases combine into one with all biome and marker data copied. - * All data is copied into a new atlas instance. - * - * @author Hunternif - */ -public class RecipeAtlasCombining implements CraftingRecipe { - public static final RecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>(RecipeAtlasCombining::new); - private final Identifier id; - - public RecipeAtlasCombining(Identifier id) { - this.id = id; - } - - @Override - public String getGroup() { - return AntiqueAtlasMod.ID + ":atlas_combine"; - } - - @Override - public boolean matches(CraftingInventory inv, World world) { - return matches(inv); - } - - private boolean matches(CraftingInventory inv) { - int atlasesFound = 0; - for (int i = 0; i < inv.size(); ++i) { - ItemStack stack = inv.getStack(i); - if (!stack.isEmpty()) { - if (stack.getItem() == AntiqueAtlasItems.ATLAS.get()) { - atlasesFound++; - } - } - } - return atlasesFound > 1; - } - - @Override - public ItemStack craft(CraftingInventory inv) { - ItemStack firstAtlas = ItemStack.EMPTY; - List atlasIds = new ArrayList<>(9); - for (int i = 0; i < inv.size(); ++i) { - ItemStack stack = inv.getStack(i); - if (!stack.isEmpty()) { - if (stack.getItem() instanceof AtlasItem) { - if (firstAtlas.isEmpty()) { - firstAtlas = stack; - } else { - atlasIds.add(AtlasItem.getAtlasID(stack)); - } - } - } - } - return atlasIds.size() < 1 ? ItemStack.EMPTY : firstAtlas.copy(); - } - - @Override - public boolean fits(int width, int height) { - return true; - } - - @Override - public ItemStack getOutput() { - return new ItemStack(AntiqueAtlasItems.ATLAS.get()); - } - - @Override - public Identifier getId() { - return id; - } - - @Override - public RecipeSerializer getSerializer() { - return SERIALIZER; - } - - @Override - public RecipeType getType() { - return RecipeType.CRAFTING; - } - - public ItemStack onCrafted(World world, Inventory inventory, ItemStack result) { - if (world.isClient) return result; - // Until the first update, on the client the returned atlas ID is the same as the first Atlas on the crafting grid. - int atlasID = AntiqueAtlasMod.getAtlasIdData(world).getNextAtlasId(); - - AtlasData destBiomes = AntiqueAtlasMod.tileData.getData(atlasID, world); - destBiomes.markDirty(); - MarkersData destMarkers = AntiqueAtlasMod.markersData.getMarkersData(atlasID, world); - destMarkers.markDirty(); - for (int i = 0; i < inventory.size(); ++i) { - ItemStack stack = inventory.getStack(i); - if (stack.isEmpty()) continue; - AtlasData srcBiomes = AntiqueAtlasMod.tileData.getData(stack, world); - if (destBiomes != null && srcBiomes != null && destBiomes != srcBiomes) { - for (RegistryKey worldRegistryKey : srcBiomes.getVisitedWorlds()) { - destBiomes.getWorldData(worldRegistryKey).addData(srcBiomes.getWorldData(worldRegistryKey)); - } - } - MarkersData srcMarkers = AntiqueAtlasMod.markersData.getMarkersData(stack, world); - if (destMarkers != null && srcMarkers != null && destMarkers != srcMarkers) { - for (RegistryKey worldRegistryKey : srcMarkers.getVisitedDimensions()) { - for (Marker marker : srcMarkers.getMarkersDataInWorld(worldRegistryKey).getAllMarkers()) { - destMarkers.createAndSaveMarker(marker.getType(), - worldRegistryKey, marker.getX(), marker.getZ(), marker.isVisibleAhead(), marker.getLabel()); - } - } - } - } - - // Set atlas ID last, because otherwise we wouldn't be able copy the - // data from the atlas which was used as a placeholder for the result. - result.getOrCreateNbt().putInt("atlasID", atlasID); - return result; - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersData.java b/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersData.java index c84185390..d9d21025b 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersData.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersData.java @@ -218,8 +218,7 @@ public boolean isSyncedOnPlayer(PlayerEntity player) { return playersSentTo.contains(player); } - /** Send all data to the player in several packets. Called once during the - * first run of ItemAtlas.onUpdate(). */ + /** Send all data to the player in several packets. Called once on login. */ public void syncToPlayer(int atlasID, ServerPlayerEntity player) { for (RegistryKey world : worldMap.keySet()) { DimensionMarkersData data = getMarkersDataInWorld(world); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersDataHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersDataHandler.java index effbc8c36..9c7d516c3 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersDataHandler.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/marker/MarkersDataHandler.java @@ -1,7 +1,5 @@ package hunternif.mc.impl.atlas.marker; -import hunternif.mc.impl.atlas.item.AtlasItem; -import net.minecraft.item.ItemStack; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.registry.RegistryKey; import net.minecraft.world.PersistentStateManager; @@ -22,17 +20,6 @@ public class MarkersDataHandler { private final Map markersDataClientCache = new ConcurrentHashMap<>(); - /** - * Loads data for the given atlas or creates a new one. - */ - public MarkersData getMarkersData(ItemStack stack, World world) { - if (stack.getItem() instanceof AtlasItem) { - return getMarkersData(AtlasItem.getAtlasID(stack), world); - } else { - return null; - } - } - /** * Loads data for the given atlas ID or creates a new one. */ diff --git a/common/src/main/java/hunternif/mc/impl/atlas/marker/NetherPortalWatcher.java b/common/src/main/java/hunternif/mc/impl/atlas/marker/NetherPortalWatcher.java index 509feb4b0..62542df74 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/marker/NetherPortalWatcher.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/marker/NetherPortalWatcher.java @@ -2,12 +2,10 @@ import hunternif.mc.impl.atlas.AntiqueAtlasMod; import hunternif.mc.api.AtlasAPI; -import hunternif.mc.impl.atlas.item.AtlasItem; import hunternif.mc.impl.atlas.mixinhooks.EntityHooksAA; import hunternif.mc.impl.atlas.registry.MarkerType; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; import net.minecraft.text.Text; import net.minecraft.world.World; import net.minecraft.world.dimension.DimensionType; @@ -93,16 +91,7 @@ private void addPortalMarkerIfNone(PlayerEntity player) { // We need the very specific dimension each time. World world = player.getEntityWorld(); - if (!AntiqueAtlasMod.CONFIG.itemNeeded) { - addPortalMarkerIfNone(player, world, player.getUuid().hashCode()); - return; - } - - for (ItemStack stack : player.getInventory().main) { - if (stack == null || !(stack.getItem() instanceof AtlasItem)) continue; - - addPortalMarkerIfNone(player, world, AtlasItem.getAtlasID(stack)); - } + addPortalMarkerIfNone(player, world, AtlasAPI.getPlayerAtlasId(player)); } private void addPortalMarkerIfNone(PlayerEntity player, World world, int atlasID) { diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/HeldItemRendererMixin.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/HeldItemRendererMixin.java deleted file mode 100644 index c2f10ee9b..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/HeldItemRendererMixin.java +++ /dev/null @@ -1,132 +0,0 @@ -package hunternif.mc.impl.atlas.mixin; - -import hunternif.mc.impl.atlas.item.AntiqueAtlasItems; -import hunternif.mc.impl.atlas.client.OverlayRenderer; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.AbstractClientPlayerEntity; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.item.HeldItemRenderer; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Arm; -import net.minecraft.util.Hand; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3f; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; - -@Environment(EnvType.CLIENT) -@Mixin(HeldItemRenderer.class) -public abstract class HeldItemRendererMixin { - private OverlayRenderer atlasOverlayRenderer = new OverlayRenderer(); - - @Shadow - private ItemStack offHand; - - @Shadow - protected abstract void renderArm(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, Arm arm); - - @Shadow - protected abstract void renderArmHoldingItem(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, float equipProgress, float swingProgress, Arm arm); - - @Shadow - @Final - private MinecraftClient client; - - @Shadow - protected abstract float getMapAngle(float tickDelta); - - @Shadow - private ItemStack mainHand; - - @Inject(method = "renderFirstPersonItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;isEmpty()Z", ordinal = 0), locals = LocalCapture.CAPTURE_FAILHARD, cancellable = true) - private void renderAtlas(AbstractClientPlayerEntity player, float tickDelta, float pitch, Hand hand, float swingProgress, ItemStack item, float equipProgress, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci, boolean bl, Arm arm) { - if (item.getItem() == AntiqueAtlasItems.ATLAS.getOrNull()) { - if (bl && this.offHand.isEmpty()) { - renderAtlasInBothHands(matrices, vertexConsumers, light, pitch, equipProgress, swingProgress); - } else { - renderAtlasInOneHand(matrices, vertexConsumers, light, equipProgress, arm, swingProgress, item); - } - - matrices.pop(); - - ci.cancel(); - } - } - - private void renderAtlasInBothHands(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, float pitch, float equipProgress, float swingProgress) { - float f = MathHelper.sqrt(swingProgress); - float g = -0.2F * MathHelper.sin(swingProgress * 3.1415927F); - float h = -0.4F * MathHelper.sin(f * 3.1415927F); - matrices.translate(0.0D, -g / 2.0F, h); - float i = getMapAngle(pitch); - matrices.translate(0.0D, 0.04F + equipProgress * -1.2F + i * -0.5F, -0.7200000286102295D); - matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(i * -85.0F)); - - if (!this.client.player.isInvisible()) { - matrices.push(); - matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(90.0F)); - this.renderArm(matrices, vertexConsumers, light, Arm.RIGHT); - this.renderArm(matrices, vertexConsumers, light, Arm.LEFT); - matrices.pop(); - } - - float j = MathHelper.sin(f * 3.1415927F); - matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(j * 20.0F)); - matrices.scale(0.5F, 0.5F, 1.0F); - - this.renderFirstPersonAtlas(matrices, vertexConsumers, light, this.mainHand); - } - - private void renderAtlasInOneHand(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, float equipProgress, Arm arm, float swingProgress, ItemStack item) { - float f = arm == Arm.RIGHT ? 1.0F : -1.0F; - matrices.push(); - matrices.translate(f * 0.125F, -0.125D, 0.0D); - if (!this.client.player.isInvisible()) { - matrices.push(); - matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(f * 10.0F)); - this.renderArmHoldingItem(matrices, vertexConsumers, light, equipProgress, swingProgress, arm); - matrices.pop(); - } - - - matrices.translate(f * 0.51F, -0.08F + equipProgress * -1.2F, -0.75D); - float g = MathHelper.sqrt(swingProgress); - float h = MathHelper.sin(g * 3.1415927F); - float i = -0.5F * h; - float j = 0.4F * MathHelper.sin(g * 6.2831855F); - float k = -0.3F * MathHelper.sin(swingProgress * 3.1415927F); - matrices.translate(f * i, j - 0.3F * h, k); - matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(h * -45.0F)); - matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(f * h * -30.0F)); - - matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(180.0F)); - matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(180.0F)); - matrices.scale(0.38F, 0.38F, 0.38F); - matrices.translate(-0.75D, -0.5D, 0.0D); - matrices.scale(0.0078125F, 0.0078125F, 0.0078125F); - - matrices.scale(0.4f, 0.4F, 0.4F); - - atlasOverlayRenderer.drawOverlay(matrices, vertexConsumers, light, item); - matrices.pop(); - } - - private void renderFirstPersonAtlas(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, ItemStack item) { - matrices.multiply(Vec3f.POSITIVE_Y.getDegreesQuaternion(180.0F)); - matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(180.0F)); - - matrices.scale(0.38F, 0.38F, 0.38F); - matrices.translate(-1.85D, -0.5D, 0.0D); - matrices.scale(0.0078125F, 0.0078125F, 0.0078125F); - - atlasOverlayRenderer.drawOverlay(matrices, vertexConsumers, light, item); - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCartographyTableScreenHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCartographyTableScreenHandler.java deleted file mode 100644 index adb93b1bc..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCartographyTableScreenHandler.java +++ /dev/null @@ -1,66 +0,0 @@ -package hunternif.mc.impl.atlas.mixin; - -import hunternif.mc.api.AtlasAPI; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.CraftingResultInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.screen.CartographyTableScreenHandler; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.screen.ScreenHandlerType; -import net.minecraft.screen.slot.Slot; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - - -@Mixin(CartographyTableScreenHandler.class) -public abstract class MixinCartographyTableScreenHandler extends ScreenHandler { - - @Final - @Shadow - private CraftingResultInventory resultInventory; - - protected MixinCartographyTableScreenHandler(@Nullable ScreenHandlerType type, int syncId) { - super(type, syncId); - } - - // inject into lambda inside CartographyTableScreenHandler::updateResult - @Inject(method = {"lambda$setupResultSlot$0", "method_17382", "m_39166_"}, at = @At("HEAD"), cancellable = true) - void antiqueatlas_call(ItemStack map, ItemStack atlas, ItemStack result, World world, BlockPos pos, CallbackInfo info) { - if (atlas.getItem() == AtlasAPI.getAtlasItem() && map.getItem() == Items.FILLED_MAP) { - this.resultInventory.setStack(CartographyTableScreenHandler.RESULT_SLOT_INDEX, atlas.copy()); - - this.sendContentUpdates(); - - info.cancel(); - } - } - - @Inject(method = "transferSlot", at = @At("HEAD"), cancellable = true) - void antiqueatlas_transferSlot(PlayerEntity player, int index, CallbackInfoReturnable info) { - if (index >= 0 && index <= 2) return; - - Slot slot = this.slots.get(index); - - if (slot.hasStack()) { - ItemStack stack = slot.getStack(); - - if (stack.getItem() != AtlasAPI.getAtlasItem()) return; - - boolean result = this.insertItem(stack, 0, 2, false); - - if (!result) { - info.setReturnValue(ItemStack.EMPTY); - } - } - } - -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinClientPlayNetworkHandler.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinClientPlayNetworkHandler.java index 2d18569af..45bdf63de 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinClientPlayNetworkHandler.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinClientPlayNetworkHandler.java @@ -6,6 +6,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -15,6 +16,7 @@ @Environment(EnvType.CLIENT) @Mixin(ClientPlayNetworkHandler.class) public class MixinClientPlayNetworkHandler { + @Final @Shadow private MinecraftClient client; diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCraftingResultSlot.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCraftingResultSlot.java deleted file mode 100644 index 9b1b10760..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/MixinCraftingResultSlot.java +++ /dev/null @@ -1,38 +0,0 @@ -package hunternif.mc.impl.atlas.mixin; - -import hunternif.mc.impl.atlas.event.RecipeCraftedCallback; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.CraftingInventory; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.recipe.RecipeUnlocker; -import net.minecraft.screen.slot.CraftingResultSlot; -import net.minecraft.screen.slot.Slot; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - - -@Mixin(CraftingResultSlot.class) -public class MixinCraftingResultSlot extends Slot { - @Final - @Shadow - private CraftingInventory input; - @Final - @Shadow - private PlayerEntity player; - - public MixinCraftingResultSlot(Inventory inventory_1, int int_1, int int_2, int int_3) { - super(inventory_1, int_1, int_2, int_3); - } - - @Inject(at = @At("HEAD"), method = "onCrafted(Lnet/minecraft/item/ItemStack;)V") - protected void onCrafted(ItemStack stack, final CallbackInfo info) { - if (inventory instanceof RecipeUnlocker) { - RecipeCraftedCallback.EVENT.invoker().onCrafted(this.player, this.player.world, ((RecipeUnlocker) (inventory)).getLastRecipe(), stack, input); - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/dev/MixinCartographyTableHandlerSlot.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/dev/MixinCartographyTableHandlerSlot.java deleted file mode 100644 index 15f50f86a..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/dev/MixinCartographyTableHandlerSlot.java +++ /dev/null @@ -1,42 +0,0 @@ -package hunternif.mc.impl.atlas.mixin.dev; - -import hunternif.mc.api.AtlasAPI; -import hunternif.mc.impl.atlas.mixinhooks.CartographyTableHooks; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.screen.CartographyTableScreenHandler; -import net.minecraft.screen.ScreenHandlerContext; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(targets = "net.minecraft.screen.CartographyTableScreenHandler$4") -class MixinCartographyTableScreenHandlerSlot { - @Inject(method = "canInsert", at = @At("RETURN"), cancellable = true) - void antiqueatlas_canInsert(ItemStack stack, CallbackInfoReturnable info) { - info.setReturnValue(stack.getItem() == AtlasAPI.getAtlasItem() || info.getReturnValueZ()); - } -} - -@Mixin(targets = "net.minecraft.screen.CartographyTableScreenHandler$5") -class MixinCartographyTableScreenHandlerResultSlot { - - CartographyTableScreenHandler antiqueatlas_handler; - - @Inject(method = "", at = @At("TAIL")) - void antiqueatlas_init(CartographyTableScreenHandler handler, Inventory inv, int a, int b, int c, ScreenHandlerContext context, CallbackInfo info) { - antiqueatlas_handler = handler; - } - - @Inject(method = "onTakeItem", at = @At("HEAD")) - void antiqueatlas_onTakeItem(PlayerEntity player, ItemStack atlas, CallbackInfo info) { - if (atlas.getItem() == AtlasAPI.getAtlasItem()) { - ItemStack map = antiqueatlas_handler.slots.get(0).getStack(); - - CartographyTableHooks.onTakeItem(player, map, atlas); - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixin/prod/MixinCartographyTableHandlerSlot.java b/common/src/main/java/hunternif/mc/impl/atlas/mixin/prod/MixinCartographyTableHandlerSlot.java deleted file mode 100644 index 2125b9146..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixin/prod/MixinCartographyTableHandlerSlot.java +++ /dev/null @@ -1,43 +0,0 @@ -package hunternif.mc.impl.atlas.mixin.prod; - -import hunternif.mc.api.AtlasAPI; -import hunternif.mc.impl.atlas.mixinhooks.CartographyTableHooks; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; -import net.minecraft.screen.CartographyTableScreenHandler; -import net.minecraft.screen.ScreenHandlerContext; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(targets = "net.minecraft.screen.CartographyTableScreenHandler$4") -class MixinCartographyTableScreenHandlerSlot { - - @Inject(method = "canInsert", at = @At("RETURN"), cancellable = true) - void antiqueatlas_canInsert(ItemStack stack, CallbackInfoReturnable info) { - info.setReturnValue(stack.getItem() == AtlasAPI.getAtlasItem() || info.getReturnValueZ()); - } -} - -@Mixin(targets = "net.minecraft.screen.CartographyTableScreenHandler$5") -class MixinCartographyTableScreenHandlerResultSlot { - - CartographyTableScreenHandler antiqueatlas_handler; - - @Inject(method = "", at = @At("TAIL")) - void antiqueatlas_init(CartographyTableScreenHandler handler, Inventory inv, int a, int b, int c, ScreenHandlerContext context, CallbackInfo info) { - antiqueatlas_handler = handler; - } - - @Inject(method = "onTakeItem", at = @At("HEAD")) - void antiqueatlas_onTakeItem(PlayerEntity player, ItemStack atlas, CallbackInfo info) { - if (atlas.getItem() == AtlasAPI.getAtlasItem()) { - ItemStack map = antiqueatlas_handler.slots.get(0).getStack(); - - CartographyTableHooks.onTakeItem(player, map, atlas); - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/mixinhooks/CartographyTableHooks.java b/common/src/main/java/hunternif/mc/impl/atlas/mixinhooks/CartographyTableHooks.java deleted file mode 100644 index 0471d64a4..000000000 --- a/common/src/main/java/hunternif/mc/impl/atlas/mixinhooks/CartographyTableHooks.java +++ /dev/null @@ -1,51 +0,0 @@ -package hunternif.mc.impl.atlas.mixinhooks; - -import hunternif.mc.api.AtlasAPI; -import hunternif.mc.impl.atlas.AntiqueAtlasMod; -import hunternif.mc.impl.atlas.item.AtlasItem; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.FilledMapItem; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.item.map.MapIcon; -import net.minecraft.item.map.MapState; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -public class CartographyTableHooks { - public static void onTakeItem(PlayerEntity player, ItemStack map, ItemStack atlas) { - if (player.getEntityWorld().isClient()) { - return; - } - - if (map.getItem() == Items.FILLED_MAP) { - MapState mapState = FilledMapItem.getMapState(FilledMapItem.getMapId(map), player.getEntityWorld()); - if (mapState != null) { - mapState.getIcons().forEach(icon -> { - int i = 1 << mapState.scale; - - int x = (int) ((int) (icon.getX() - 0.5f) / 2f) * i + mapState.centerX; - int z = (int) ((int) (icon.getZ() - 0.5f) / 2f) * i + mapState.centerZ; - - Identifier type = null; - Text label = null; - - if (icon.getType() == MapIcon.Type.RED_X) { - type = AntiqueAtlasMod.id("red_x_small"); - label = Text.translatable("gui.antiqueatlas.marker.treasure"); - } else if (icon.getType() == MapIcon.Type.MONUMENT) { - type = AntiqueAtlasMod.id("monument"); - label = Text.translatable("gui.antiqueatlas.marker.monument"); - } else if (icon.getType() == MapIcon.Type.MANSION) { - type = AntiqueAtlasMod.id("mansion"); - label = Text.translatable("gui.antiqueatlas.marker.mansion"); - } - - if (type != null) { - AtlasAPI.getMarkerAPI().putMarker(player.getEntityWorld(), true, AtlasItem.getAtlasID(atlas), type, label, x, z); - } - }); - } - } - } -} diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/DeleteMarkerC2SPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/DeleteMarkerC2SPacket.java index bebf7ff7f..d71e97caf 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/DeleteMarkerC2SPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/DeleteMarkerC2SPacket.java @@ -33,7 +33,7 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context int markerID = buf.readVarInt(); context.queue(() -> { - if (AntiqueAtlasMod.CONFIG.itemNeeded && !AtlasAPI.getPlayerAtlases(context.getPlayer()).contains(atlasID)) { + if (AtlasAPI.getPlayerAtlasId(context.getPlayer()) != atlasID) { Log.warn("Player %s attempted to delete marker from someone else's Atlas #%d", context.getPlayer().getName(), atlasID); return; diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutBrowsingPositionC2SPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutBrowsingPositionC2SPacket.java index ea4a8afef..f59d6115d 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutBrowsingPositionC2SPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutBrowsingPositionC2SPacket.java @@ -40,7 +40,7 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context double zoom = buf.readDouble(); context.queue(() -> { - if (AntiqueAtlasMod.CONFIG.itemNeeded && !AtlasAPI.getPlayerAtlases(context.getPlayer()).contains(atlasID)) { + if (AtlasAPI.getPlayerAtlasId(context.getPlayer()) != atlasID) { Log.warn("Player %s attempted to put position marker into someone else's Atlas #%d", context.getPlayer().getCommandSource().getName(), atlasID); return; diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutMarkerC2SPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutMarkerC2SPacket.java index 58c0d12fa..39fc4d63d 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutMarkerC2SPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutMarkerC2SPacket.java @@ -40,7 +40,7 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context Text label = buf.readText(); context.queue(() -> { - if (!AtlasAPI.getPlayerAtlases(context.getPlayer()).contains(atlasID)) { + if (AtlasAPI.getPlayerAtlasId(context.getPlayer()) != atlasID) { AntiqueAtlasMod.LOG.warn( "Player {} attempted to put marker into someone else's Atlas #{}}", context.getPlayer().getName(), atlasID); diff --git a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutTileC2SPacket.java b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutTileC2SPacket.java index 54bb63da0..1e2cd3fa4 100644 --- a/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutTileC2SPacket.java +++ b/common/src/main/java/hunternif/mc/impl/atlas/network/packet/c2s/play/PutTileC2SPacket.java @@ -36,7 +36,7 @@ public static void apply(PacketByteBuf buf, NetworkManager.PacketContext context Identifier tile = buf.readIdentifier(); context.queue(() -> { - if (AntiqueAtlasMod.CONFIG.itemNeeded && !AtlasAPI.getPlayerAtlases(context.getPlayer()).contains(atlasID)) { + if (AtlasAPI.getPlayerAtlasId(context.getPlayer()) != atlasID) { Log.warn("Player %s attempted to modify someone else's Atlas #%d", context.getPlayer().getName(), atlasID); return; diff --git a/common/src/main/resources/antiqueatlas-common.mixins.json b/common/src/main/resources/antiqueatlas-common.mixins.json index 24334dc4a..706c18f69 100644 --- a/common/src/main/resources/antiqueatlas-common.mixins.json +++ b/common/src/main/resources/antiqueatlas-common.mixins.json @@ -4,23 +4,16 @@ "compatibilityLevel": "JAVA_17", "plugin": "hunternif.mc.impl.atlas.mixin.VolatileMixinPlugin", "mixins": [ - "MixinCraftingResultSlot", "MixinEntity", "MixinPlayerEntity", "MixinPlayerEntityDeath", "MixinPlayerManager", - "structure.StructureStartMixin", - "MixinCartographyTableScreenHandler", - "dev.MixinCartographyTableScreenHandlerSlot", - "prod.MixinCartographyTableScreenHandlerSlot", - "dev.MixinCartographyTableScreenHandlerResultSlot", - "prod.MixinCartographyTableScreenHandlerResultSlot" + "structure.StructureStartMixin" ], "client": [ "MixinClientPlayNetworkHandler", "MixinInGameHud", - "MixinMinecraftClient", - "HeldItemRendererMixin" + "MixinMinecraftClient" ], "injectors": { "defaultRequire": 1 diff --git a/common/src/main/resources/assets/antiqueatlas/lang/en_us.json b/common/src/main/resources/assets/antiqueatlas/lang/en_us.json index c51f57524..8db8f205e 100644 --- a/common/src/main/resources/assets/antiqueatlas/lang/en_us.json +++ b/common/src/main/resources/assets/antiqueatlas/lang/en_us.json @@ -49,7 +49,6 @@ "text.autoconfig.antiqueatlas.option.autoDeathMarker": "Death marker", "text.autoconfig.antiqueatlas.option.autoVillageMarkers": "Village marker", "text.autoconfig.antiqueatlas.option.autoNetherPortalMarkers": "Nether portal marker", - "text.autoconfig.antiqueatlas.option.itemNeeded": "Atlas required for usage", "text.autoconfig.antiqueatlas.option.doScaleMarkers": "Scale markers", "text.autoconfig.antiqueatlas.option.defaultScale": "Default zoom level", diff --git a/common/src/main/resources/assets/antiqueatlas/lang/es_es.json b/common/src/main/resources/assets/antiqueatlas/lang/es_es.json index 23e5ac70b..1fd82e1a0 100644 --- a/common/src/main/resources/assets/antiqueatlas/lang/es_es.json +++ b/common/src/main/resources/assets/antiqueatlas/lang/es_es.json @@ -49,7 +49,6 @@ "text.autoconfig.antiqueatlas.option.autoDeathMarker": "Marcador de muerte", "text.autoconfig.antiqueatlas.option.autoVillageMarkers": "Marcador de aldea", "text.autoconfig.antiqueatlas.option.autoNetherPortalMarkers": "Marcador de portal del Nether", - "text.autoconfig.antiqueatlas.option.itemNeeded": "Requerir el Atlas para su uso", "text.autoconfig.antiqueatlas.option.doScaleMarkers": "Escala de marcadores", "text.autoconfig.antiqueatlas.option.defaultScale": "Nivel de zum predeterminado", diff --git a/common/src/main/resources/assets/antiqueatlas/lang/ru_ru.json b/common/src/main/resources/assets/antiqueatlas/lang/ru_ru.json index dfdbc8cdf..06f2314fa 100644 --- a/common/src/main/resources/assets/antiqueatlas/lang/ru_ru.json +++ b/common/src/main/resources/assets/antiqueatlas/lang/ru_ru.json @@ -49,7 +49,6 @@ "text.autoconfig.antiqueatlas.option.autoDeathMarker": "Метка смерти", "text.autoconfig.antiqueatlas.option.autoVillageMarkers": "Метка деревни", "text.autoconfig.antiqueatlas.option.autoNetherPortalMarkers": "Метка портала в Нижний Мир", - "text.autoconfig.antiqueatlas.option.itemNeeded": "Для использования необходим атлас", "text.autoconfig.antiqueatlas.option.doScaleMarkers": "Маркеры масштаба", "text.autoconfig.antiqueatlas.option.defaultScale": "Уровень приближения по умолчанию", diff --git a/common/src/main/resources/assets/antiqueatlas/lang/uk_ua.json b/common/src/main/resources/assets/antiqueatlas/lang/uk_ua.json index 82cbb5a9c..16cb23f79 100644 --- a/common/src/main/resources/assets/antiqueatlas/lang/uk_ua.json +++ b/common/src/main/resources/assets/antiqueatlas/lang/uk_ua.json @@ -49,7 +49,6 @@ "text.autoconfig.antiqueatlas.option.autoDeathMarker": "Мітка смерті", "text.autoconfig.antiqueatlas.option.autoVillageMarkers": "Мітка села", "text.autoconfig.antiqueatlas.option.autoNetherPortalMarkers": "Мітка порталу в Незер", - "text.autoconfig.antiqueatlas.option.itemNeeded": "Для використання необхідний атлас", "text.autoconfig.antiqueatlas.option.doScaleMarkers": "Масштабувати мітки", "text.autoconfig.antiqueatlas.option.defaultScale": "Типовий рівень масштабування", diff --git a/gradle.properties b/gradle.properties index 49e384de2..47b2e0e42 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ forge_version = 1.19.2-43.2.0 enabled_platforms = fabric,forge # Mod Properties -mod_version = 8.0.0 +mod_version = 8.0.0-itemless maven_group = hunternif.mc.atlas archives_base_name = antiqueatlas