Added QuickCraft

This commit is contained in:
Old Chum 2020-01-17 23:23:00 -08:00
parent 815665536a
commit 2fa46f3ca4
2 changed files with 42 additions and 0 deletions

View File

@ -148,6 +148,7 @@ public final class ModuleManager {
add(new ChatSuffixModule());
add(new VisualRangeModule());
add(new HotBarRefillModule());
add(new QuickCraftModule());
//p2w experience
if (Seppuku.INSTANCE.getCapeManager().hasCape())

View File

@ -0,0 +1,41 @@
package me.rigamortis.seppuku.impl.module.misc;
import me.rigamortis.seppuku.api.event.EventStageable;
import me.rigamortis.seppuku.api.event.network.EventReceivePacket;
import me.rigamortis.seppuku.api.module.Module;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiCrafting;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.init.Items;
import net.minecraft.inventory.ClickType;
import net.minecraft.network.play.server.SPacketSetSlot;
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
/**
* Shift clicks the crafting result into the inventory.
*
* @author Old Chum
* @since 10/18/20
*/
public final class QuickCraftModule extends Module {
public QuickCraftModule () {
super("QuickCraft", new String[]{"FastCraft", "qcraft"}, "Automatically collects the result when crafting.", "NONE", -1, Module.ModuleType.MISC);
}
@Listener
public void onReceivePacket (EventReceivePacket event) {
if (event.getStage() == EventStageable.EventStage.PRE) {
if (event.getPacket() instanceof SPacketSetSlot) {
// Check if this packet updates the recipe result and if the result is not empty
if (((SPacketSetSlot) event.getPacket()).getSlot() == 0 && ((SPacketSetSlot) event.getPacket()).getStack().getItem() != Items.AIR) {
Minecraft mc = Minecraft.getMinecraft();
if (mc.currentScreen instanceof GuiInventory || mc.currentScreen instanceof GuiCrafting) {
mc.playerController.windowClick(mc.player.openContainer.windowId, 0, 0, ClickType.QUICK_MOVE, mc.player);
mc.playerController.updateController();
}
}
}
}
}
}