diff --git a/src/main/java/pm/c7/scout/ScoutMixin.java b/src/main/java/pm/c7/scout/ScoutMixin.java index 9497447..e1f198d 100644 --- a/src/main/java/pm/c7/scout/ScoutMixin.java +++ b/src/main/java/pm/c7/scout/ScoutMixin.java @@ -39,7 +39,7 @@ public class ScoutMixin extends AutoMixin { try { transformers.put(name, (ClassNodeTransformer) Class.forName(type.getClassName()).getDeclaredConstructor().newInstance()); } catch (Exception e) { - LOGGER.error("[Scout] Transformer class for mixin {} not found", name, e); + LOGGER.error("Transformer class for mixin {} not found", name, e); } } return super.shouldAnnotationSkipMixin(name, an); diff --git a/src/main/java/pm/c7/scout/mixin/ScreenHandlerTransformer.java b/src/main/java/pm/c7/scout/mixin/ScreenHandlerTransformer.java index a2c0c97..dd32140 100644 --- a/src/main/java/pm/c7/scout/mixin/ScreenHandlerTransformer.java +++ b/src/main/java/pm/c7/scout/mixin/ScreenHandlerTransformer.java @@ -27,6 +27,9 @@ public class ScreenHandlerTransformer implements ClassNodeTransformer { var LSlot = L(Slot); var DefaultedList = slash(resolver.mapClassName(namespace, "net.minecraft.class_2371")); + //var LDefaultedList = L(DefaultedList); + + //var slots = resolver.mapFieldName(namespace, name, "field_7761", LDefaultedList); int ordinal = 0; diff --git a/src/main/java/pm/c7/scout/mixin/server/DefaultedListMixin.java b/src/main/java/pm/c7/scout/mixin/server/DefaultedListMixin.java deleted file mode 100644 index 73d920c..0000000 --- a/src/main/java/pm/c7/scout/mixin/server/DefaultedListMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package pm.c7.scout.mixin.server; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.util.collection.DefaultedList; -import pm.c7.scout.ScoutUtil; -import pm.c7.scout.server.ScoutUtilServer; - -@Environment(EnvType.SERVER) -@Mixin(DefaultedList.class) -public class DefaultedListMixin { - @Inject(method = "get", at = @At("HEAD"), cancellable = true) - public void scout$fixIndexingSlots(int index, CallbackInfoReturnable cir) { - var currentPlayer = ScoutUtilServer.getCurrentPlayer(); - if (ScoutUtil.isBagSlot(index)) { - if (currentPlayer != null) { - cir.setReturnValue(ScoutUtil.getBagSlot(index, currentPlayer.playerScreenHandler)); - } else { - cir.setReturnValue(null); - } - } - } -} diff --git a/src/main/java/pm/c7/scout/mixin/server/ScreenHandlerMixin.java b/src/main/java/pm/c7/scout/mixin/server/ScreenHandlerMixin.java deleted file mode 100644 index 07cde2d..0000000 --- a/src/main/java/pm/c7/scout/mixin/server/ScreenHandlerMixin.java +++ /dev/null @@ -1,26 +0,0 @@ -package pm.c7.scout.mixin.server; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.screen.slot.SlotActionType; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; -import pm.c7.scout.server.ScoutUtilServer; - -@Environment(EnvType.SERVER) -@Mixin(value = ScreenHandler.class) -public abstract class ScreenHandlerMixin { - @Redirect(method = "internalOnSlotClick", at = @At(value = "INVOKE", target = "Lnet/minecraft/screen/ScreenHandler;quickMove(Lnet/minecraft/entity/player/PlayerEntity;I)Lnet/minecraft/item/ItemStack;")) - public ItemStack scout$fixQuickMove(ScreenHandler self, PlayerEntity player, int index, int slotIndex, int button, SlotActionType actionType, PlayerEntity playerAgain) { - ScoutUtilServer.setCurrentPlayer(player); - ItemStack ret = self.quickMove(player, index); - ScoutUtilServer.clearCurrentPlayer(); - - return ret; - } -} diff --git a/src/main/java/pm/c7/scout/screen/BagSlot.java b/src/main/java/pm/c7/scout/screen/BagSlot.java index f3fe2d4..7858081 100644 --- a/src/main/java/pm/c7/scout/screen/BagSlot.java +++ b/src/main/java/pm/c7/scout/screen/BagSlot.java @@ -60,7 +60,7 @@ public class BagSlot extends Slot { } @Override - public void setStackNoCallbacks(ItemStack stack) { + public void setStack(ItemStack stack) { if (enabled && this.inventory != null) { this.inventory.setStack(this.index, stack); this.markDirty(); diff --git a/src/main/java/pm/c7/scout/server/ScoutUtilServer.java b/src/main/java/pm/c7/scout/server/ScoutUtilServer.java deleted file mode 100644 index 7312cb4..0000000 --- a/src/main/java/pm/c7/scout/server/ScoutUtilServer.java +++ /dev/null @@ -1,25 +0,0 @@ -package pm.c7.scout.server; - -import org.jetbrains.annotations.Nullable; - -import net.minecraft.entity.player.PlayerEntity; -import pm.c7.scout.ScoutUtil; - -public class ScoutUtilServer { - private static PlayerEntity currentPlayer = null; - - public static void setCurrentPlayer(PlayerEntity player) { - if (currentPlayer != null) { - ScoutUtil.LOGGER.warn("[Scout] New player set during existing quick move, expect players getting wrong items!"); - } - currentPlayer = player; - } - - public static void clearCurrentPlayer() { - currentPlayer = null; - } - - public static @Nullable PlayerEntity getCurrentPlayer() { - return currentPlayer; - } -}