aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java44
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java20
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudAccessor.java)11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/AccessorWorldRenderer.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java18
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java32
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java4
-rw-r--r--src/main/resources/skyblocker.mixins.json10
20 files changed, 98 insertions, 131 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
index 0c27704d..7d187caa 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
@@ -1,7 +1,7 @@
package me.xmrvizzy.skyblocker.gui;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor;
+import me.xmrvizzy.skyblocker.mixin.accessor.HandledScreenAccessor;
import me.xmrvizzy.skyblocker.skyblock.dungeon.CroesusHelper;
import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.ColorTerminal;
import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.OrderTerminal;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
index e48e725e..ea35ebbe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
@@ -4,7 +4,6 @@ import com.mojang.authlib.GameProfile;
import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
import me.xmrvizzy.skyblocker.skyblock.rift.HealingMelonIndicator;
import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
@@ -25,8 +24,8 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
if (Utils.isOnSkyblock()) HotbarSlotLock.handleDropSelectedItem(this.getInventory().selectedSlot, cir);
}
- @Inject(method = "updateHealth", at = @At("HEAD"))
- public void skyblocker$updateHealth(float health, CallbackInfo info) {
- HealingMelonIndicator.updateHealth(MinecraftClient.getInstance());
+ @Inject(method = "updateHealth", at = @At("RETURN"))
+ public void skyblocker$updateHealth(CallbackInfo info) {
+ HealingMelonIndicator.updateHealth();
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
index a8a490b8..e12f645a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
@@ -1,18 +1,6 @@
package me.xmrvizzy.skyblocker.mixin;
-import java.awt.Color;
-import java.util.regex.Pattern;
-
-import org.jetbrains.annotations.Nullable;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Final;
-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 com.mojang.blaze3d.systems.RenderSystem;
-
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.ItemUtils;
import me.xmrvizzy.skyblocker.utils.Utils;
@@ -23,18 +11,28 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.math.ColorHelper;
+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 java.awt.*;
+import java.util.regex.Pattern;
@Mixin(DrawContext.class)
public abstract class DrawContextMixin {
- @Shadow @Final private MatrixStack matrices;
-
- @Shadow
- public void fill(RenderLayer layer, int x1, int x2, int y1, int y2, int color) {
- }
-
+ @Shadow
+ @Final
+ private MatrixStack matrices;
+
+ @Shadow
+ public abstract void fill(RenderLayer layer, int x1, int x2, int y1, int y2, int color);
+
@Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
public void skyblocker$renderItemBar(TextRenderer textRenderer, ItemStack stack, int x, int y, @Nullable String countOverride, CallbackInfo ci) {
-
if (Utils.isOnSkyblock() && SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel) {
if (!stack.isEmpty()) {
NbtCompound tag = stack.getNbt();
@@ -42,7 +40,7 @@ public abstract class DrawContextMixin {
if (tag.getCompound("ExtraAttributes").contains("drill_fuel")) {
float current = 3000.0F;
float max = 3000.0F;
-
+
for (String line : ItemUtils.getTooltipStrings(stack)) {
if (line.contains("Fuel: ")) {
String clear = Pattern.compile("[^0-9 /]").matcher(line).replaceAll("").trim();
@@ -52,17 +50,17 @@ public abstract class DrawContextMixin {
break;
}
}
-
+
matrices.push();
matrices.translate(0f, 0f, 200f);
RenderSystem.disableDepthTest();
-
+
float hue = Math.max(0.0F, 1.0F - (max - current) / max);
int width = Math.round(current / max * 13.0F);
Color color = Color.getHSBColor(hue / 3.0F, 1.0F, 1.0F);
this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 15, y + 15, 0xFF000000);
this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 2 + width, y + 14, ColorHelper.Argb.getArgb(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()));
-
+
matrices.pop();
RenderSystem.enableDepthTest();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java
index 761f8a68..d36773b2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java
@@ -1,34 +1,38 @@
package me.xmrvizzy.skyblocker.mixin;
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.FarmlandBlock;
-import net.minecraft.block.ShapeContext;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;
+import net.minecraft.util.shape.VoxelShapes;
import net.minecraft.world.BlockView;
+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.CallbackInfoReturnable;
@Mixin(FarmlandBlock.class)
public abstract class FarmlandBlockMixin extends Block {
+ @Shadow
+ @Final
+ protected static VoxelShape SHAPE;
+
protected FarmlandBlockMixin(Settings settings) {
super(settings);
}
- @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true)
- public void skyblocker$onGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable<VoxelShape> cir) {
- if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.hitbox.oldFarmlandHitbox)
- cir.setReturnValue(Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 16.0, 16.0));
+ @ModifyReturnValue(method = "getOutlineShape", at = @At("RETURN"))
+ private VoxelShape skyblocker$replaceOutlineShape(VoxelShape original) {
+ return SkyblockerConfig.get().general.hitbox.oldFarmlandHitbox && Utils.isOnSkyblock() ? VoxelShapes.fullCube() : original;
}
@SuppressWarnings("deprecation")
@Override
public VoxelShape getCullingShape(BlockState state, BlockView world, BlockPos pos) {
- return Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 15.0, 16.0);
+ return SHAPE;
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
index 13272323..8a57f752 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
@@ -34,14 +34,14 @@ import java.util.Map;
@Mixin(HandledScreen.class)
public abstract class HandledScreenMixin extends Screen {
- protected HandledScreenMixin(Text title) {
- super(title);
- }
-
@Shadow
@Nullable
protected Slot focusedSlot;
+ protected HandledScreenMixin(Text title) {
+ super(title);
+ }
+
@Inject(at = @At("HEAD"), method = "keyPressed")
public void skyblocker$keyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) {
if (this.client != null && this.focusedSlot != null && keyCode != 256 && !this.client.options.inventoryKey.matchesKey(keyCode, scanCode) && WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
index 3e2db3e0..e1a14e4c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
@@ -27,7 +27,6 @@ public abstract class InGameHudMixin {
@Unique
private static final Identifier SLOT_LOCK = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png");
@Unique
-
private final StatusBarTracker statusBarTracker = SkyblockerMod.getInstance().statusBarTracker;
@Unique
private final FancyStatusBars statusBars = new FancyStatusBars();
@@ -38,8 +37,7 @@ public abstract class InGameHudMixin {
private int scaledWidth;
@Shadow
- public void setOverlayMessage(Text message, boolean tinted) {
- }
+ public abstract void setOverlayMessage(Text message, boolean tinted);
@Inject(method = "setOverlayMessage(Lnet/minecraft/text/Text;Z)V", at = @At("HEAD"), cancellable = true)
private void skyblocker$onSetOverlayMessage(Text message, boolean tinted, CallbackInfo ci) {
@@ -76,8 +74,6 @@ public abstract class InGameHudMixin {
if (Utils.isInDungeons() && SkyblockerConfig.get().locations.dungeons.enableMap)
DungeonMap.render(context.getMatrices());
-
- //RenderSystem.setShaderTexture(0, ICONS);
}
@Inject(method = "renderMountHealth", at = @At("HEAD"), cancellable = true)
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
index 64a1a4fe..729124fd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
@@ -1,5 +1,6 @@
package me.xmrvizzy.skyblocker.mixin;
+import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget;
import me.xmrvizzy.skyblocker.utils.Utils;
@@ -7,21 +8,11 @@ import net.minecraft.client.gui.screen.ingame.InventoryScreen;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(InventoryScreen.class)
public abstract class InventoryScreenMixin {
- @Redirect(
- method = "<init>",
- at = @At(
- value = "NEW",
- target = "net/minecraft/client/gui/screen/recipebook/RecipeBookWidget"
- )
- )
- RecipeBookWidget skyblocker$constructor() {
- if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.itemList.enableItemList)
- return new ItemListWidget();
- else
- return new RecipeBookWidget();
+ @ModifyExpressionValue(method = "<init>", at = @At(value = "NEW", target = "net/minecraft/client/gui/screen/recipebook/RecipeBookWidget"))
+ private RecipeBookWidget skyblocker$replaceRecipeBook(RecipeBookWidget original) {
+ return SkyblockerConfig.get().general.itemList.enableItemList && Utils.isOnSkyblock() ? new ItemListWidget() : original;
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
index 505de202..96a53878 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
@@ -24,8 +24,7 @@ public abstract class LeverBlockMixin extends WallMountedBlock {
public void skyblocker$onGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable<VoxelShape> cir) {
if (Utils.isOnSkyblock()) {
VoxelShape shape = OldLever.getShape(state.get(FACE), state.get(FACING));
- if (shape != null)
- cir.setReturnValue(shape);
+ if (shape != null) cir.setReturnValue(shape);
}
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
index ef65190f..0d900167 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
@@ -1,11 +1,5 @@
package me.xmrvizzy.skyblocker.mixin;
-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 me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen;
@@ -19,38 +13,36 @@ import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.text.Text;
+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;
@Environment(EnvType.CLIENT)
@Mixin(PlayerListHud.class)
public class PlayerListHudMixin {
-
@Shadow
private Text footer;
@Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/client/gui/DrawContext;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreboardObjective;)V", cancellable = true)
- public void skyblocker$renderTabHud(DrawContext context, int scaledW, Scoreboard sb, ScoreboardObjective sbo,
- CallbackInfo info) {
-
- if (!Utils.isOnSkyblock()
- || !SkyblockerConfig.get().general.tabHud.tabHudEnabled
- || TabHud.defaultTgl.isPressed()) {
+ public void skyblocker$renderTabHud(DrawContext context, int w, Scoreboard sb, ScoreboardObjective sbo, CallbackInfo info) {
+ if (!Utils.isOnSkyblock() || !SkyblockerConfig.get().general.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed()) {
return;
}
- MinecraftClient client = MinecraftClient.getInstance();
- ClientPlayNetworkHandler nwH = client.getNetworkHandler();
+ ClientPlayNetworkHandler nwH = MinecraftClient.getInstance().getNetworkHandler();
if (nwH == null) {
return;
}
- int w = scaledW;
int h = MinecraftClient.getInstance().getWindow().getScaledHeight();
try {
Screen screen = Screen.getCorrect(w, h, footer);
screen.render(context);
info.cancel();
} catch (Exception e) {
- TabHud.LOGGER.error("Drawing default hud. Reason: Screen exception {}", e);
+ TabHud.LOGGER.error("[Skyblocker] Encountered unknown exception while drawing default hud", e);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java
index ea497b75..ad35dae6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package me.xmrvizzy.skyblocker.mixin.accessor;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudAccessor.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java
index db329775..7e335d73 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudAccessor.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java
@@ -1,18 +1,17 @@
-package me.xmrvizzy.skyblocker.mixin;
-
-import java.util.Comparator;
+package me.xmrvizzy.skyblocker.mixin.accessor;
+import net.minecraft.client.gui.hud.PlayerListHud;
+import net.minecraft.client.network.PlayerListEntry;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
-import net.minecraft.client.gui.hud.PlayerListHud;
-import net.minecraft.client.network.PlayerListEntry;
+import java.util.Comparator;
@Mixin(PlayerListHud.class)
public interface PlayerListHudAccessor {
@Accessor("ENTRY_ORDERING")
- public static Comparator<PlayerListEntry> getOrdering() {
+ static Comparator<PlayerListEntry> getOrdering() {
throw new AssertionError();
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java
index 808b2950..0f20d4e4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package me.xmrvizzy.skyblocker.mixin.accessor;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/AccessorWorldRenderer.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java
index e9067851..831a3385 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/AccessorWorldRenderer.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package me.xmrvizzy.skyblocker.mixin.accessor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@@ -7,7 +7,7 @@ import net.minecraft.client.render.Frustum;
import net.minecraft.client.render.WorldRenderer;
@Mixin(WorldRenderer.class)
-public interface AccessorWorldRenderer {
+public interface WorldRendererAccessor {
@Accessor
Frustum getFrustum();
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
index 37320c92..13789fe1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
@@ -7,11 +7,11 @@ import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
public class OldLever {
- protected static final VoxelShape FLOOR_SHAPE;
- protected static final VoxelShape NORTH_SHAPE;
- protected static final VoxelShape SOUTH_SHAPE;
- protected static final VoxelShape EAST_SHAPE;
- protected static final VoxelShape WEST_SHAPE;
+ protected static final VoxelShape FLOOR_SHAPE = Block.createCuboidShape(4.0D, 0.0D, 4.0D, 12.0D, 10.0D, 12.0D);
+ protected static final VoxelShape NORTH_SHAPE = Block.createCuboidShape(5.0D, 3.0D, 10.0D, 11.0D, 13.0D, 16.0D);
+ protected static final VoxelShape SOUTH_SHAPE = Block.createCuboidShape(5.0D, 3.0D, 0.0D, 11.0D, 13.0D, 6.0D);
+ protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 3.0D, 5.0D, 6.0D, 13.0D, 11.0D);
+ protected static final VoxelShape WEST_SHAPE = Block.createCuboidShape(10.0D, 3.0D, 5.0D, 16.0D, 13.0D, 11.0D);
public static VoxelShape getShape(WallMountLocation wallMountLocation, Direction direction) {
if (!SkyblockerConfig.get().general.hitbox.oldLeverHitbox)
@@ -37,12 +37,4 @@ public class OldLever {
}
return null;
}
-
- static {
- FLOOR_SHAPE = Block.createCuboidShape(4, 0, 4, 12, 10, 12);
- NORTH_SHAPE = Block.createCuboidShape(5.0D, 3.0D, 10.0D, 11.0D, 13.0D, 16.0D);
- SOUTH_SHAPE = Block.createCuboidShape(5.0D, 3.0D, 0.0D, 11.0D, 13.0D, 6.0D);
- WEST_SHAPE = Block.createCuboidShape(10.0D, 3.0D, 5.0D, 16.0D, 13.0D, 11.0D);
- EAST_SHAPE = Block.createCuboidShape(0.0D, 3.0D, 5.0D, 6.0D, 13.0D, 11.0D);
- }
}
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 3a1f91d3..04dc6820 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -1,7 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.itemlist;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.mixin.RecipeBookWidgetAccessor;
+import me.xmrvizzy.skyblocker.mixin.accessor.RecipeBookWidgetAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
@@ -15,7 +15,7 @@ import net.minecraft.screen.AbstractRecipeScreenHandler;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
-@Environment(value= EnvType.CLIENT)
+@Environment(value = EnvType.CLIENT)
public class ItemListWidget extends RecipeBookWidget implements Drawable, Selectable {
private int parentWidth;
private int parentHeight;
@@ -23,10 +23,12 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
private TextFieldWidget searchField;
private SearchResultsWidget results;
- public ItemListWidget() { super(); }
+ public ItemListWidget() {
+ super();
+ }
public void updateSearchResult() {
- this.results.updateSearchResult(((RecipeBookWidgetAccessor)this).getSearchText());
+ this.results.updateSearchResult(((RecipeBookWidgetAccessor) this).getSearchText());
}
@Override
@@ -35,7 +37,7 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
this.parentWidth = parentWidth;
this.parentHeight = parentHeight;
this.leftOffset = narrow ? 0 : 86;
- this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
+ this.searchField = ((RecipeBookWidgetAccessor) this).getSearchField();
int x = (this.parentWidth - 147) / 2 - this.leftOffset;
int y = (this.parentHeight - 166) / 2;
if (ItemRegistry.filesImported) {
@@ -48,14 +50,14 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
if (this.isOpen()) {
MatrixStack matrices = context.getMatrices();
- matrices.push();
+ matrices.push();
matrices.translate(0.0D, 0.0D, 100.0D);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
- this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
+ this.searchField = ((RecipeBookWidgetAccessor) this).getSearchField();
int i = (this.parentWidth - 147) / 2 - this.leftOffset;
int j = (this.parentHeight - 166) / 2;
context.drawTexture(TEXTURE, i, j, 1, 1, 147, 166);
- this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
+ this.searchField = ((RecipeBookWidgetAccessor) this).getSearchField();
if (!ItemRegistry.filesImported && !this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
Text hintText = (Text.literal("Loading...")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
@@ -66,7 +68,7 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
} else {
this.searchField.render(context, mouseX, mouseY, delta);
}
- if (ItemRegistry.filesImported){
+ if (ItemRegistry.filesImported) {
if (results == null) {
int x = (this.parentWidth - 147) / 2 - this.leftOffset;
int y = (this.parentHeight - 166) / 2;
@@ -88,15 +90,15 @@ 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() && ItemRegistry.filesImported && results != null) {
- if (this.searchField != null && this.searchField.mouseClicked(mouseX, mouseY, button)) {
+ if (this.isOpen() && this.client.player != null && !this.client.player.isSpectator() && ItemRegistry.filesImported && this.searchField != null && results != null) {
+ if (this.searchField.mouseClicked(mouseX, mouseY, button)) {
this.results.closeRecipeView();
this.searchField.setFocused(true);
return true;
- } else
- this.searchField.setFocused(false);
+ } else {
+ this.searchField.setFocused(false);
return this.results.mouseClicked(mouseX, mouseY, button);
- } else
- return false;
+ }
+ } else return false;
}
} \ No newline at end of file
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 c02463a3..d9e97976 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -3,7 +3,7 @@ package me.xmrvizzy.skyblocker.skyblock.quicknav;
import com.mojang.blaze3d.systems.RenderSystem;
import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor;
+import me.xmrvizzy.skyblocker.mixin.accessor.HandledScreenAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
@@ -19,7 +19,6 @@ import net.minecraft.util.Identifier;
@Environment(value=EnvType.CLIENT)
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");
private final int index;
@@ -42,12 +41,9 @@ public class QuickNavButton extends ClickableWidget {
if (screen instanceof HandledScreen<?> handledScreen) {
int x = ((HandledScreenAccessor)handledScreen).getX();
int y = ((HandledScreenAccessor)handledScreen).getY();
- int w = ((HandledScreenAccessor)handledScreen).getBackgroundWidth();
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 * 26 + 4);
- // this.y = this.index < 6 ? y - 28 : y + h - 4;
this.setY(this.index < 6 ? y - 26 : y + h - 4);
this.u = 26;
this.v = (index < 6 ? 0 : 64) + (toggled ? 32 : 0);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
index fed34796..aa730c31 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
@@ -12,12 +12,12 @@ import net.minecraft.util.Formatting;
public class HealingMelonIndicator {
private static final Title title = new Title("skyblocker.rift.healNow", Formatting.DARK_RED);
- public static void updateHealth(MinecraftClient client) {
+ public static void updateHealth() {
if (!SkyblockerConfig.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) {
TitleContainer.removeTitle(title);
return;
}
- ClientPlayerEntity player = client.player;
+ ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null && player.getHealth() <= SkyblockerConfig.get().slayer.vampireSlayer.healingMelonHealthThreshold * 2F) {
RenderHelper.displayInTitleContainerAndPlaySound(title);
} else {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
index ee4319dc..d0ce6b72 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
@@ -4,11 +4,10 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import me.xmrvizzy.skyblocker.mixin.PlayerListHudAccessor;
+import me.xmrvizzy.skyblocker.mixin.accessor.PlayerListHudAccessor;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java
index 565bd7a8..fd8ffdbd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java
@@ -1,6 +1,6 @@
package me.xmrvizzy.skyblocker.utils;
-import me.xmrvizzy.skyblocker.mixin.AccessorWorldRenderer;
+import me.xmrvizzy.skyblocker.mixin.accessor.WorldRendererAccessor;
import me.xmrvizzy.skyblocker.mixin.accessor.FrustumInvoker;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.Frustum;
@@ -9,7 +9,7 @@ import net.minecraft.util.math.Box;
public class FrustumUtils {
public static Frustum getFrustum() {
- return ((AccessorWorldRenderer) MinecraftClient.getInstance().worldRenderer).getFrustum();
+ return ((WorldRendererAccessor) MinecraftClient.getInstance().worldRenderer).getFrustum();
}
public static boolean isBoxVisible(Box box) {
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index 656f9d32..360a966a 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -3,25 +3,25 @@
"package": "me.xmrvizzy.skyblocker.mixin",
"compatibilityLevel": "JAVA_17",
"client": [
- "AccessorWorldRenderer",
"ClientPlayerEntityMixin",
"ClientPlayNetworkHandlerMixin",
"DrawContextMixin",
"FarmlandBlockMixin",
"GenericContainerScreenHandlerMixin",
- "HandledScreenAccessor",
"HandledScreenMixin",
"InGameHudMixin",
"InventoryScreenMixin",
"LeverBlockMixin",
"MinecraftClientMixin",
- "PlayerListHudAccessor",
"PlayerListHudMixin",
"PlayerSkinProviderMixin",
- "RecipeBookWidgetAccessor",
"ScoreboardMixin",
"accessor.BeaconBlockEntityRendererInvoker",
- "accessor.FrustumInvoker"
+ "accessor.FrustumInvoker",
+ "accessor.HandledScreenAccessor",
+ "accessor.PlayerListHudAccessor",
+ "accessor.RecipeBookWidgetAccessor",
+ "accessor.WorldRendererAccessor"
],
"injectors": {
"defaultRequire": 1