Начинающий
- Статус
- Оффлайн
- Регистрация
- 6 Янв 2024
- Сообщения
- 65
- Реакции
- 1
Как можно сделать такую функцию которая сама с допустим меча переключается на булаву?
Я щас своего друна насиловал и он мне высрал чат лгбт код
По типу MaceSlotSwap должен работать так -
Я щас своего друна насиловал и он мне высрал чат лгбт код
По типу MaceSlotSwap должен работать так -
Пожалуйста, авторизуйтесь для просмотра ссылки.
jv:
package akakiy.recode.features.modules.combat;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.packet.c2s.play.UpdateSelectedSlotC2SPacket;
import akakiy.recode.features.modules.Module;
import akakiy.recode.setting.Setting;
public class MaceSlotSwap extends Module {
public MaceSlotSwap() {
super("MaceSlotSwap", Category.COMBAT);
}
private final Setting<Integer> switchDelay = new Setting<>("SwitchDelay", 0, 0, 5);
private final Setting<Mode> mode = new Setting<>("Mode", Mode.Normal);
private int originalSlot = -1;
private int maceSlot = -1;
private boolean slotSwapped = false;
private int attackTickCounter = 0;
private boolean attackStarted = false;
@Override
public void onUpdate() {
if (mc.player == null || mc.world == null) return;
if (maceSlot == -1) {
maceSlot = findMaceSlot();
}
if (maceSlot == -1) return;
boolean isAttacking = mc.options.attackKey.isPressed();
ItemStack currentItem = mc.player.getMainHandStack();
boolean hasMaceInHand = !currentItem.isEmpty() && currentItem.getItem() == Items.MACE;
if (isAttacking && !attackStarted) {
attackStarted = true;
attackTickCounter = 0;
}
if (attackStarted) {
attackTickCounter++;
if (!slotSwapped && attackTickCounter >= switchDelay.getValue() && !hasMaceInHand) {
originalSlot = mc.player.getInventory().selectedSlot;
switchToSlot(maceSlot);
slotSwapped = true;
} else if (slotSwapped && attackTickCounter >= switchDelay.getValue() + 1) {
switchToSlot(originalSlot);
slotSwapped = false;
attackStarted = false;
attackTickCounter = 0;
}
}
}
private void switchToSlot(int slot) {
if (mode.getValue() == Mode.Packet) {
mc.getNetworkHandler().sendPacket(new UpdateSelectedSlotC2SPacket(slot));
} else {
mc.player.getInventory().selectedSlot = slot;
}
}
private int findMaceSlot() {
for (int i = 0; i < 9; i++) {
ItemStack stack = mc.player.getInventory().getStack(i);
if (!stack.isEmpty() && stack.getItem() == Items.MACE) {
return i;
}
}
return -1;
}
private enum Mode {
Packet, Normal
}
}