aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorJulienraptor01 <julienraptor01@gmail.com>2024-03-12 22:53:29 +0100
committerJulienraptor01 <julienraptor01@gmail.com>2024-03-12 23:24:00 +0100
commit70f61a394f6cce2d3900597bba4af6408deb18e2 (patch)
tree7dabb890a47a16269ba7d4e67552aadf52ded465 /src/main/java
parent26cf371c823d36bb289577914b3f52ffd4b924d5 (diff)
downloadSkyblocker-70f61a394f6cce2d3900597bba4af6408deb18e2.tar.gz
Skyblocker-70f61a394f6cce2d3900597bba4af6408deb18e2.tar.bz2
Skyblocker-70f61a394f6cce2d3900597bba4af6408deb18e2.zip
static map id + inlining
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java41
1 files changed, 15 insertions, 26 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 293d301f..a1bfad2e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -5,41 +5,30 @@ import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.render.MapRenderer;
+import net.minecraft.client.render.LightmapTextureManager;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.FilledMapItem;
-import net.minecraft.item.ItemStack;
import net.minecraft.item.map.MapState;
-import net.minecraft.nbt.NbtCompound;
-import org.apache.commons.lang3.StringUtils;
public class DungeonMap {
- public static void render(MatrixStack matrices) {
+ private static final int mapId = 1024;
+ private static void render(MatrixStack matrices) {
MinecraftClient client = MinecraftClient.getInstance();
if (client.player == null || client.world == null) return;
- ItemStack item = client.player.getInventory().main.get(8);
- NbtCompound tag = item.getNbt();
- if (tag != null && tag.contains("map")) {
- String tag2 = tag.asString();
- tag2 = StringUtils.substringBetween(tag2, "map:", "}");
- int mapid = Integer.parseInt(tag2);
- VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers();
- MapRenderer map = client.gameRenderer.getMapRenderer();
- MapState state = FilledMapItem.getMapState(mapid, client.world);
- float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling;
- int x = SkyblockerConfigManager.get().locations.dungeons.mapX;
- int y = SkyblockerConfigManager.get().locations.dungeons.mapY;
+ MapState state = FilledMapItem.getMapState(mapId, client.world);
+ if (state == null) return;
- if (state == null) return;
- matrices.push();
- matrices.translate(x, y, 0);
- matrices.scale(scaling, scaling, 0f);
- map.draw(matrices, vertices, mapid, state, false, 15728880);
- vertices.draw();
- matrices.pop();
- }
+ float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling;
+ VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers();
+
+ matrices.push();
+ matrices.translate(SkyblockerConfigManager.get().locations.dungeons.mapX, SkyblockerConfigManager.get().locations.dungeons.mapY, 0);
+ matrices.scale(scaling, scaling, 0f);
+ client.gameRenderer.getMapRenderer().draw(matrices, vertices, mapId, state, false, LightmapTextureManager.MAX_LIGHT_COORDINATE);
+ vertices.draw();
+ matrices.pop();
}
public static void init() { //Todo: consider renaming the command to a more general name since it'll also have dungeon score and maybe other stuff in the future
@@ -48,4 +37,4 @@ public class DungeonMap {
.then(ClientCommandManager.literal("dungeonmap")
.executes(Scheduler.queueOpenScreenCommand(DungeonMapConfigScreen::new))))));
}
-} \ No newline at end of file
+}