aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorJulienraptor01 <julienraptor01@gmail.com>2023-03-17 23:29:45 +0100
committerGitHub <noreply@github.com>2023-03-17 23:29:45 +0100
commit32503b6d23ef83b4d388a78daf5b0165fe64ffb8 (patch)
tree2ee94b85d5aaa6bc2342b692201e4eadbf5ad4f8 /src/main/java/me/xmrvizzy/skyblocker
parent55ce581f51ccf26892c0d948a998cfa5bfabc968 (diff)
parent542e60cb90c4c0cdc932f3cfb3529ea33a2f2970 (diff)
downloadSkyblocker-32503b6d23ef83b4d388a78daf5b0165fe64ffb8.tar.gz
Skyblocker-32503b6d23ef83b4d388a78daf5b0165fe64ffb8.tar.bz2
Skyblocker-32503b6d23ef83b4d388a78daf5b0165fe64ffb8.zip
Merge pull request #3 from AzureAaron/1.19.3
Fixes to QuickNav, Recipe Book & Others
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java27
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java44
6 files changed, 79 insertions, 62 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index 8bfa9c0a..19f13c32 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -1,18 +1,18 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.utils.Utils;
-import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
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.network.ClientPlayerEntity;
import net.minecraft.text.Text;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
public class Reparty extends ChatPatternListener {
private static final MinecraftClient client = MinecraftClient.getInstance();
private static final SkyblockerMod skyblocker = SkyblockerMod.getInstance();
@@ -30,8 +30,7 @@ public class Reparty extends ChatPatternListener {
dispatcher.register(ClientCommandManager.literal("rp").executes(context -> {
if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0;
this.repartying = true;
- //client.player.sendChatMessage("/p list", Text.of("/p list"));
- client.player.sendMessage(Text.of("/p list"));
+ client.player.networkHandler.sendCommand("p list");
return 0;
}));
});
@@ -69,9 +68,9 @@ public class Reparty extends ChatPatternListener {
this.repartying = false;
return;
}
- sendCommand(playerEntity, "/p disband", 1);
+ sendCommand(playerEntity, "p disband", 1);
for (int i = 0; i < this.players.length; ++i) {
- String command = "/p invite " + this.players[i];
+ String command = "p invite " + this.players[i];
sendCommand(playerEntity, command, i + 2);
}
skyblocker.scheduler.schedule(() -> this.repartying = false, this.players.length + 2);
@@ -79,6 +78,6 @@ public class Reparty extends ChatPatternListener {
private void sendCommand(ClientPlayerEntity player, String command, int delay) {
// skyblocker.scheduler.schedule(() -> player.sendChatMessage(command, Text.of(command)), delay * BASE_DELAY);
- skyblocker.scheduler.schedule(() -> player.sendMessage(Text.of(command)), delay * BASE_DELAY);
+ skyblocker.scheduler.schedule(() -> player.networkHandler.sendCommand(command), delay * BASE_DELAY);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
index b437ce10..81bee4ba 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
@@ -1,5 +1,12 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
@@ -8,9 +15,6 @@ import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
-import java.util.*;
-import java.util.regex.Matcher;
-
public class Trivia extends ChatPatternListener {
private static final Map<String, String[]> answers;
private List<String> solutions = Collections.emptyList();
@@ -65,7 +69,7 @@ public class Trivia extends ChatPatternListener {
answers.put("What is the status of Storm?", new String[]{"The Wither Lords"});
answers.put("What is the status of Necron?", new String[]{"The Wither Lords"});
answers.put("What is the status of Maxor, Storm, Goldor and Necron?", new String[]{"The Wither Lords"});
- answers.put("How many total Fairy Souls are there?", new String[]{"238 Fairy Souls"});
+ answers.put("How many total Fairy Souls are there?", new String[]{"239 Fairy Souls"});
answers.put("How many Fairy Souls are there in Spider's Den?", new String[]{"19 Fairy Souls"});
answers.put("How many Fairy Souls are there in The End?", new String[]{"12 Fairy Souls"});
answers.put("How many Fairy Souls are there in The Farming Islands?", new String[]{"20 Fairy Souls"});
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
index 1a3ebe2c..ce567b67 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -1,6 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.itemlist;
import com.mojang.blaze3d.systems.RenderSystem;
+
import me.xmrvizzy.skyblocker.mixin.RecipeBookWidgetAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -13,7 +14,6 @@ import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.AbstractRecipeScreenHandler;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Formatting;
@Environment(value= EnvType.CLIENT)
@@ -76,14 +76,16 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
}
@Override
- public boolean mouseClicked(double mouseX, double mouseY, int button) {
- if (this.isOpen() && !this.client.player.isSpectator()) {
- if (this.searchField.mouseClicked(mouseX, mouseY, button)) {
- this.results.closeRecipeView();
- return true;
- }
- if (this.results.mouseClicked(mouseX, mouseY, button)) return true;
- }
- return false;
- }
-}
+ public boolean mouseClicked(double mouseX, double mouseY, int button) {
+ if (!this.isOpen() || this.client.player.isSpectator()) {
+ return false;
+ }
+ if (this.searchField != null && this.searchField.mouseClicked(mouseX, mouseY, button)) {
+ this.results.closeRecipeView();
+ return true;
+ }
+ if (this.results.mouseClicked(mouseX, mouseY, button))
+ return true;
+ return false;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
index 6760c919..6d0d89e1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
@@ -1,6 +1,9 @@
package me.xmrvizzy.skyblocker.skyblock.itemlist;
+import java.util.List;
+
import com.mojang.blaze3d.systems.RenderSystem;
+
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
@@ -11,8 +14,6 @@ import net.minecraft.item.Items;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
-import java.util.List;
-
public class ResultButtonWidget extends ClickableWidget {
private static final Identifier BACKGROUND_TEXTURE = new Identifier("textures/gui/recipe_book.png");
@@ -46,7 +47,6 @@ public class ResultButtonWidget extends ClickableWidget {
client.getItemRenderer().renderGuiItemOverlay(client.textRenderer, itemStack, this.getX() + 4, this.getY() + 4);
}
- @Override
public void renderTooltip(MatrixStack matrices, int mouseX, int mouseY) {
MinecraftClient client = MinecraftClient.getInstance();
List<Text> tooltip = client.currentScreen.getTooltipFromItem(this.itemStack);
@@ -54,8 +54,9 @@ public class ResultButtonWidget extends ClickableWidget {
client.currentScreen.renderTooltip(matrices, tooltip, mouseX, mouseY);
}
- @Override
- public void appendNarrations(NarrationMessageBuilder builder) {
-
- }
+ @Override
+ protected void appendClickableNarrations(NarrationMessageBuilder builder) {
+ // TODO Auto-generated method stub
+
+ }
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
index bcc57a00..62f8c34d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
@@ -1,32 +1,33 @@
package me.xmrvizzy.skyblocker.skyblock.quicknav;
+import java.util.ArrayList;
+import java.util.List;
+
import com.mojang.brigadier.exceptions.CommandSyntaxException;
+
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.StringNbtReader;
-import java.util.ArrayList;
-import java.util.List;
-
public class QuickNav {
private static final String skyblockHubIconNbt = "{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}}";
private static final String dungeonHubIconNbt = "{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}}";
public static List<QuickNavButton> init(String screenTitle) {
List<QuickNavButton> buttons = new ArrayList<>();
try {
- buttons.add(new QuickNavButton(0, screenTitle.contains("Your Skills"), "/skills", new ItemStack(Items.DIAMOND_SWORD)));
- buttons.add(new QuickNavButton(1, screenTitle.contains("Collection"), "/collection", new ItemStack(Items.PAINTING)));
+ buttons.add(new QuickNavButton(0, screenTitle.contains("Your Skills"), "skills", new ItemStack(Items.DIAMOND_SWORD)));
+ buttons.add(new QuickNavButton(1, screenTitle.contains("Collection"), "collection", new ItemStack(Items.PAINTING)));
- buttons.add(new QuickNavButton(3, screenTitle.contains("Pets"), "/pets", new ItemStack(Items.BONE)));
- buttons.add(new QuickNavButton(4, screenTitle.contains("Wardrobe"), "/wardrobe", ItemStack.fromNbt(StringNbtReader.parse("{id:\"minecraft:leather_chestplate\", Count:1, tag:{display:{color:8991416}}}"))));
- buttons.add(new QuickNavButton(5, screenTitle.contains("Storage"), "/storage", new ItemStack(Items.ENDER_CHEST)));
+ buttons.add(new QuickNavButton(3, screenTitle.contains("Pets"), "pets", new ItemStack(Items.BONE)));
+ buttons.add(new QuickNavButton(4, screenTitle.contains("Wardrobe"), "wardrobe", ItemStack.fromNbt(StringNbtReader.parse("{id:\"minecraft:leather_chestplate\", Count:1, tag:{display:{color:8991416}}}"))));
+ buttons.add(new QuickNavButton(5, screenTitle.contains("Storage"), "storage", new ItemStack(Items.ENDER_CHEST)));
- buttons.add(new QuickNavButton(6, false, "/warp hub", ItemStack.fromNbt(StringNbtReader.parse(skyblockHubIconNbt))));
- buttons.add(new QuickNavButton(7, false, "/warp dungeon_hub", ItemStack.fromNbt(StringNbtReader.parse(dungeonHubIconNbt))));
+ buttons.add(new QuickNavButton(6, false, "warp hub", ItemStack.fromNbt(StringNbtReader.parse(skyblockHubIconNbt))));
+ buttons.add(new QuickNavButton(7, false, "warp dungeon_hub", ItemStack.fromNbt(StringNbtReader.parse(dungeonHubIconNbt))));
- buttons.add(new QuickNavButton(9, screenTitle.contains("Enchant Item"), "/etable", new ItemStack(Items.ENCHANTING_TABLE)));
- buttons.add(new QuickNavButton(10, screenTitle.contains("Anvil"), "/anvil", new ItemStack(Items.ANVIL)));
- buttons.add(new QuickNavButton(11, screenTitle.contains("Craft Item"), "/craft", new ItemStack(Items.CRAFTING_TABLE)));
+ buttons.add(new QuickNavButton(9, screenTitle.contains("Enchant Item"), "etable", new ItemStack(Items.ENCHANTING_TABLE)));
+ buttons.add(new QuickNavButton(10, screenTitle.contains("Anvil"), "anvil", new ItemStack(Items.ANVIL)));
+ buttons.add(new QuickNavButton(11, screenTitle.contains("Craft Item"), "craft", new ItemStack(Items.CRAFTING_TABLE)));
} catch (CommandSyntaxException e) {
e.printStackTrace();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
index d977a400..e1ac3c5f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -1,6 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.quicknav;
import com.mojang.blaze3d.systems.RenderSystem;
+
import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -11,7 +12,6 @@ import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
-import net.minecraft.text.LiteralTextContent;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
@@ -20,11 +20,6 @@ public class QuickNavButton extends ClickableWidget {
private static final MinecraftClient CLIENT = MinecraftClient.getInstance();
private static final Identifier BUTTON_TEXTURE = new Identifier("textures/gui/container/creative_inventory/tabs.png");
- @Override
- public void appendNarrations(NarrationMessageBuilder builder) {
-
- }
-
private int index;
private boolean toggled;
private int u;
@@ -33,7 +28,7 @@ public class QuickNavButton extends ClickableWidget {
private final ItemStack icon;
public QuickNavButton(int index, boolean toggled, String command, ItemStack icon) {
- super(0, 0, 28, 32, Text.empty());
+ super(0, 0, 26, 32, Text.empty());
this.index = index;
this.toggled = toggled;
this.command = command;
@@ -50,10 +45,10 @@ public class QuickNavButton extends ClickableWidget {
int h = ((HandledScreenAccessor)handledScreen).getBackgroundHeight();
if (h > 166) --h; // why is this even a thing
// this.x = x + this.index % 6 * 28 + 4;
- this.setX(x + this.index % 6 * 28 + 4);
+ this.setX(x + this.index % 6 * 26 + 4);
// this.y = this.index < 6 ? y - 28 : y + h - 4;
- this.setY(this.index < 6 ? y - 28 : y + h - 4);
- this.u = 28;
+ this.setY(this.index < 6 ? y - 26 : y + h - 4);
+ this.u = 26;
this.v = (index < 6 ? 0 : 64) + (toggled ? 32 : 0);
}
}
@@ -62,8 +57,7 @@ public class QuickNavButton extends ClickableWidget {
public void onClick(double mouseX, double mouseY) {
if (!this.toggled) {
this.toggled = true;
- // CLIENT.player.sendChatMessage(command, Text.of(command));
- CLIENT.player.sendMessage(Text.of(command));
+ CLIENT.player.networkHandler.sendCommand(command.replace("/", ""));
// TODO : add null check with log error
}
}
@@ -75,6 +69,9 @@ public class QuickNavButton extends ClickableWidget {
RenderSystem.disableDepthTest();
// render button background
if (!this.toggled) {
+ //Move buttons 1 pixel up if they aren't selected
+ matrices.push();
+ matrices.translate(0f, -1f, 0f);
if (this.index >= 6)
// this.drawTexture(matrices, this.x, this.y + 4, this.u, this.v + 4, this.width, this.height - 4);
this.drawTexture(matrices, this.getX(), this.getY() + 4, this.u, this.v + 4, this.width, this.height - 4);
@@ -82,23 +79,36 @@ public class QuickNavButton extends ClickableWidget {
// this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height - 4);
this.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height - 4);
// } else this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height);
- } else this.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
+ matrices.pop();
+ } else {
+ matrices.push();
+ //Move the top buttons 2 pixels up if they're selected
+ if (this.index < 6) matrices.translate(0f, -2f, 0f);
+ this.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
+ matrices.pop();
+ }
// render button icon
if (!this.toggled) {
if (this.index >= 6)
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 6, this.getY() + 6);
+ CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 5);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 9);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 6, this.getY() + 9);
+ CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 8);
} else {
if (this.index >= 6)
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 9);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 6, this.getY() + 9);
+ CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 8);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 6, this.getY() + 6);
+ CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 5);
}
RenderSystem.enableDepthTest();
}
+
+ @Override
+ protected void appendClickableNarrations(NarrationMessageBuilder builder) {
+ // TODO Auto-generated method stub
+
+ }
}