27 lines
1.1 KiB
Java
27 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|