aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java40
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java28
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java56
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java4
9 files changed, 70 insertions, 101 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index 8c7d2f71..c4eeb090 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -1,6 +1,5 @@
package me.xmrvizzy.skyblocker.config;
-import com.mojang.brigadier.Command;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import me.shedaniel.autoconfig.AutoConfig;
import me.shedaniel.autoconfig.ConfigData;
@@ -518,7 +517,7 @@ public class SkyblockerConfig implements ConfigData {
*/
public static void init() {
AutoConfig.register(SkyblockerConfig.class, GsonConfigSerializer::new);
- ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(literal("skyblocker").then(optionsLiteral("config")).then(optionsLiteral("options")))));
+ ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options")))));
}
/**
@@ -528,11 +527,8 @@ public class SkyblockerConfig implements ConfigData {
* @return the command builder
*/
private static LiteralArgumentBuilder<FabricClientCommandSource> optionsLiteral(String name) {
- return literal(name).executes(context -> {
- // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed
- SkyblockerMod.getInstance().scheduler.queueOpenScreen(AutoConfig.getConfigScreen(SkyblockerConfig.class, null));
- return Command.SINGLE_SUCCESS;
- });
+ // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed
+ return literal(name).executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(AutoConfig.getConfigScreen(SkyblockerConfig.class, null)));
}
public static SkyblockerConfig get() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
index 2a97d0ee..29a6e687 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -1,9 +1,6 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
-import org.apache.commons.lang3.StringUtils;
-
-import com.mojang.brigadier.Command;
-
+import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
@@ -16,11 +13,11 @@ import net.minecraft.item.FilledMapItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.map.MapState;
import net.minecraft.nbt.NbtCompound;
-import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
+import org.apache.commons.lang3.StringUtils;
public class DungeonMap {
- private static final Identifier MAP_BACKGROUND = new Identifier("textures/map/map_background.png");
+ private static final Identifier MAP_BACKGROUND = new Identifier("textures/map/map_background.png");
public static void render(MatrixStack matrices) {
MinecraftClient client = MinecraftClient.getInstance();
@@ -36,36 +33,29 @@ public class DungeonMap {
MapRenderer map = client.gameRenderer.getMapRenderer();
MapState state = FilledMapItem.getMapState(mapid, client.world);
float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
- int x = SkyblockerConfig.get().locations.dungeons.mapX;
- int y = SkyblockerConfig.get().locations.dungeons.mapY;
+ int x = SkyblockerConfig.get().locations.dungeons.mapX;
+ int y = SkyblockerConfig.get().locations.dungeons.mapY;
if (state == null) return;
matrices.push();
matrices.translate(x, y, 0);
matrices.scale(scaling, scaling, 0f);
- map.draw( matrices, vertices, mapid, state, false, 15728880);
+ map.draw(matrices, vertices, mapid, state, false, 15728880);
vertices.draw();
matrices.pop();
}
}
-
+
public static void renderHUDMap(DrawContext context, int x, int y) {
- float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
- int size = (int) (128 * scaling);
- context.drawTexture(MAP_BACKGROUND, x, y, 0, 0, size, size, size, size);
+ float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
+ int size = (int) (128 * scaling);
+ context.drawTexture(MAP_BACKGROUND, x, y, 0, 0, size, size, size, size);
}
-
+
public static void init() {
- ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
- dispatcher.register(ClientCommandManager.literal("skyblocker")
- .then(ClientCommandManager.literal("hud")
- .then(ClientCommandManager.literal("dungeonmap")
- .executes(context -> {
- MinecraftClient client = context.getSource().getClient();
- client.send(() -> client.setScreen(new DungeonMapConfigScreen(Text.literal("Dungeon Map Config"))));
-
- return Command.SINGLE_SUCCESS;
- }))));
- });
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker")
+ .then(ClientCommandManager.literal("hud")
+ .then(ClientCommandManager.literal("dungeonmap")
+ .executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(DungeonMapConfigScreen::new))))));
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
index ffd7a8b6..ef782c3b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -10,43 +10,43 @@ import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
public class DungeonMapConfigScreen extends Screen {
-
+
private int hudX = SkyblockerConfig.get().locations.dungeons.mapX;
private int hudY = SkyblockerConfig.get().locations.dungeons.mapY;
-
- protected DungeonMapConfigScreen(Text title) {
- super(title);
+
+ protected DungeonMapConfigScreen() {
+ super(Text.literal("Dungeon Map Config"));
}
-
+
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
renderBackground(context);
DungeonMap.renderHUDMap(context, hudX, hudY);
- context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
+ context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width >> 1, height >> 1, Color.GRAY.getRGB());
}
-
+
@Override
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
int size = (int) (128 * scaling);
- if(RenderUtils.pointExistsInArea((int) mouseX, (int) mouseY, hudX, hudY, hudX + size, hudY + size) && button == 0) {
- hudX = (int) Math.max(Math.min(mouseX - (size / 2), this.width - size), 0);
- hudY = (int) Math.max(Math.min(mouseY - (size / 2), this.height - size), 0);
+ if (RenderUtils.pointExistsInArea((int) mouseX, (int) mouseY, hudX, hudY, hudX + size, hudY + size) && button == 0) {
+ hudX = (int) Math.max(Math.min(mouseX - (size >> 1), this.width - size), 0);
+ hudY = (int) Math.max(Math.min(mouseY - (size >> 1), this.height - size), 0);
}
return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY);
}
-
+
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
- if(button == 1) {
+ if (button == 1) {
hudX = 2;
hudY = 2;
}
-
+
return super.mouseClicked(mouseX, mouseY, button);
}
-
+
@Override
public void close() {
SkyblockerConfig.get().locations.dungeons.mapX = hudX;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
index 122f6c6c..7316577e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -1,5 +1,6 @@
package me.xmrvizzy.skyblocker.skyblock.dwarven;
+import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.CommsWidget;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
@@ -7,7 +8,6 @@ import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallba
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -26,34 +26,32 @@ public class DwarvenHud {
public static final List<Pattern> COMMISSIONS = Stream.of(
- "(?:Titanium|Mithril|Hard Stone) Miner",
- "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
- "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril",
- "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium",
- "Goblin Raid",
- "(?:Powder Ghast|Star Sentry) Puncher",
- "(?<!Lucky )Raffle",
- "Lucky Raffle",
- "2x Mithril Powder Collector",
- "(?:Ruby|Amber|Sapphire|Jade|Amethyst|Topaz) Gemstone Collector",
- "(?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter",
- "Chest Looter"
+ "(?:Titanium|Mithril|Hard Stone) Miner",
+ "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer",
+ "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril",
+ "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium",
+ "Goblin Raid",
+ "(?:Powder Ghast|Star Sentry) Puncher",
+ "(?<!Lucky )Raffle",
+ "Lucky Raffle",
+ "2x Mithril Powder Collector",
+ "(?:Ruby|Amber|Sapphire|Jade|Amethyst|Topaz) Gemstone Collector",
+ "(?:Amber|Sapphire|Jade|Amethyst|Topaz) Crystal Hunter",
+ "Chest Looter"
).map(s -> Pattern.compile("^.*(" + s + "): (\\d+\\.?\\d*%|DONE)"))
.collect(Collectors.toList());
+
public static void init() {
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker")
.then(ClientCommandManager.literal("hud")
.then(ClientCommandManager.literal("dwarven")
- .executes(context -> {
- client.send(() -> client.setScreen(new DwarvenHudConfigScreen(Text.of("Dwarven HUD Config"))));
- return 1;
- })))));
+ .executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(DwarvenHudConfigScreen::new))))));
HudRenderCallback.EVENT.register((context, tickDelta) -> {
if (!SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled
- || client.options.playerListKey.isPressed()
- || client.player == null
- || commissionList.isEmpty()) {
+ || client.options.playerListKey.isPressed()
+ || client.player == null
+ || commissionList.isEmpty()) {
return;
}
render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y, commissionList);
@@ -62,7 +60,7 @@ public class DwarvenHud {
public static void render(DrawContext context, int hudX, int hudY, List<Commission> commissions) {
- switch(SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) {
+ switch (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) {
case SIMPLE -> renderSimple(context, hudX, hudY, commissions);
case FANCY -> renderFancy(context, hudX, hudY, commissions);
case CLASSIC -> renderClassic(context, hudX, hudY, commissions);
@@ -77,12 +75,12 @@ public class DwarvenHud {
int y = 0;
for (Commission commission : commissions) {
context
- .drawTextWithShadow(client.textRenderer,
- Text.literal(commission.commission + ": ")
- .styled(style -> style.withColor(Formatting.AQUA))
- .append(Text.literal(commission.progression)
- .styled(style -> style.withColor(Formatting.GREEN))),
- hudX + 5, hudY + y + 5, 0xFFFFFFFF);
+ .drawTextWithShadow(client.textRenderer,
+ Text.literal(commission.commission + ": ")
+ .styled(style -> style.withColor(Formatting.AQUA))
+ .append(Text.literal(commission.progression)
+ .styled(style -> style.withColor(Formatting.GREEN))),
+ hudX + 5, hudY + y + 5, 0xFFFFFFFF);
y += 20;
}
}
@@ -119,6 +117,6 @@ public class DwarvenHud {
}
// steamroller tactics to get visibility from outside classes (CommsWidget)
- public static record Commission(String commission, String progression){}
-
+ public record Commission(String commission, String progression) {
+ }
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index f91ed921..10e62d88 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -5,7 +5,6 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.RenderUtils;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import java.awt.*;
@@ -15,8 +14,9 @@ public class DwarvenHudConfigScreen extends Screen {
private int hudX = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x;
private int hudY = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y;
- protected DwarvenHudConfigScreen(Text title) {
- super(title);
+
+ protected DwarvenHudConfigScreen() {
+ super(Text.of("Dwarven HUD Config"));
}
@Override
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java
index 03701a3f..bef56cbd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java
@@ -177,11 +177,8 @@ public class Shortcuts {
source.sendFeedback(Text.of("ยง7/" + SkyblockerMod.NAMESPACE + " " + command));
}
return Command.SINGLE_SUCCESS;
- })).then(literal("shortcuts").executes(context -> {
// Queue the screen or else the screen will be immediately closed after executing this command
- SkyblockerMod.getInstance().scheduler.queueOpenScreen(ShortcutsConfigScreen::new);
- return Command.SINGLE_SUCCESS;
- })));
+ })).then(literal("shortcuts").executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(ShortcutsConfigScreen::new))));
}
private static String modifyCommand(String command) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
index 7b19e284..fbe79ade 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
@@ -1,5 +1,6 @@
package me.xmrvizzy.skyblocker.utils;
+import com.mojang.brigadier.Command;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
@@ -58,17 +59,9 @@ public class Scheduler {
*
* @param screenSupplier the supplier of the screen to open
*/
- public void queueOpenScreen(Supplier<Screen> screenSupplier) {
- queueOpenScreen(screenSupplier.get());
- }
-
- /**
- * Schedules a screen to open in the next tick. Used in commands to avoid screen immediately closing after the command is executed.
- *
- * @param screen the supplier of the screen to open
- */
- public void queueOpenScreen(Screen screen) {
- MinecraftClient.getInstance().send(() -> MinecraftClient.getInstance().setScreen(screen));
+ public int queueOpenScreen(Supplier<Screen> screenSupplier) {
+ MinecraftClient.getInstance().send(() -> MinecraftClient.getInstance().setScreen(screenSupplier.get()));
+ return Command.SINGLE_SUCCESS;
}
public void tick() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
index a4e445ee..7b92fff6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java
@@ -1,6 +1,5 @@
package me.xmrvizzy.skyblocker.utils.title;
-import com.mojang.brigadier.Command;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
@@ -9,7 +8,6 @@ import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
-import net.minecraft.text.Text;
import net.minecraft.util.math.MathHelper;
import java.util.LinkedHashSet;
@@ -31,10 +29,7 @@ public class TitleContainer {
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker")
.then(ClientCommandManager.literal("hud")
.then(ClientCommandManager.literal("titleContainer")
- .executes(context -> {
- SkyblockerMod.getInstance().scheduler.queueOpenScreen(new TitleContainerConfigScreen(Text.of("Title Container HUD Config")));
- return Command.SINGLE_SUCCESS;
- })))));
+ .executes(context -> SkyblockerMod.getInstance().scheduler.queueOpenScreen(TitleContainerConfigScreen::new))))));
}
/**
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
index e729ea15..c0c4d63c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
@@ -21,8 +21,8 @@ public class TitleContainerConfigScreen extends Screen {
private float hudX = SkyblockerConfig.get().general.titleContainer.x;
private float hudY = SkyblockerConfig.get().general.titleContainer.y;
- protected TitleContainerConfigScreen(Text title) {
- super(title);
+ protected TitleContainerConfigScreen() {
+ super(Text.of("Title Container HUD Config"));
}
@Override