diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-07-25 15:11:10 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-07-30 12:21:37 +0800 |
commit | bca948cc7a9630ebe380590f0f036e1d5ef2ee99 (patch) | |
tree | 22ddaa996ded9523ea3d945e90187d1e2c36e125 /src/main/java/me/xmrvizzy/skyblocker | |
parent | 9004f3fd4401cb6fe97232634b35c9f168b51ca9 (diff) | |
download | Skyblocker-bca948cc7a9630ebe380590f0f036e1d5ef2ee99.tar.gz Skyblocker-bca948cc7a9630ebe380590f0f036e1d5ef2ee99.tar.bz2 Skyblocker-bca948cc7a9630ebe380590f0f036e1d5ef2ee99.zip |
Refactor mixins
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
19 files changed, 93 insertions, 126 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) { |