diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-03-02 15:16:27 -0500 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-04-26 16:23:20 -0400 |
commit | 4e2924407645b04c30d4a2823a1d9d0983c2c790 (patch) | |
tree | ee6d4ba29f50d3cdd76216fee0193dad07752627 /src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java | |
parent | cc00542e78fd87e0b554ab2a74d1cb193feabbb2 (diff) | |
download | Skyblocker-4e2924407645b04c30d4a2823a1d9d0983c2c790.tar.gz Skyblocker-4e2924407645b04c30d4a2823a1d9d0983c2c790.tar.bz2 Skyblocker-4e2924407645b04c30d4a2823a1d9d0983c2c790.zip |
24w09a
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java index 878b7a35..7a6cdcd0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java @@ -14,14 +14,16 @@ import net.minecraft.client.render.LightmapTextureManager; import net.minecraft.client.render.MapRenderer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.component.DataComponentTypes; +import net.minecraft.component.type.MapIdComponent; import net.minecraft.item.FilledMapItem; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.map.MapState; public class DungeonMap { - private static final int DEFAULT_MAP_ID = 1024; - private static Integer cachedMapId = null; + private static final MapIdComponent DEFAULT_MAP_ID_COMPONENT = new MapIdComponent(1024); + private static MapIdComponent cachedMapIdComponent = null; public static void init() { HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> render(context)); @@ -35,11 +37,11 @@ public class DungeonMap { ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> reset()); } - private static void render(MatrixStack matrices) { + public static void render(MatrixStack matrices) { MinecraftClient client = MinecraftClient.getInstance(); if (client.player == null || client.world == null) return; - int mapId = getMapId(client.player.getInventory().main.get(8)); + MapIdComponent mapId = getMapIdComponent(client.player.getInventory().main.get(8)); MapState state = FilledMapItem.getMapState(mapId, client.world); if (state == null) return; @@ -58,13 +60,12 @@ public class DungeonMap { matrices.pop(); } - public static int getMapId(ItemStack stack) { - if (stack.isOf(Items.FILLED_MAP)) { - @SuppressWarnings("DataFlowIssue") - int mapId = FilledMapItem.getMapId(stack); - cachedMapId = mapId; - return mapId; - } else return cachedMapId != null ? cachedMapId : DEFAULT_MAP_ID; + public static MapIdComponent getMapIdComponent(ItemStack stack) { + if (stack.isOf(Items.FILLED_MAP) && stack.contains(DataComponentTypes.MAP_ID)) { + MapIdComponent mapIdComponent = stack.get(DataComponentTypes.MAP_ID); + cachedMapIdComponent = mapIdComponent; + return mapIdComponent; + } else return cachedMapIdComponent != null ? cachedMapIdComponent : DEFAULT_MAP_ID_COMPONENT; } private static void render(DrawContext context) { @@ -74,6 +75,6 @@ public class DungeonMap { } private static void reset() { - cachedMapId = null; + cachedMapIdComponent = null; } } |