-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Сделал чтобы перка кидалась с инва, а не только с хот бара, когда кидаю с хот бара все норм, но когда перка в инве, то меня просто кикает с сервера
Java:
@FeatureInfo(
name = "MiddleClickPearl",
type = Category.Util
)
public class MiddleClickPearl extends Feature {
public MiddleClickPearl() {
}
@Override
public void onEvent(Event event) {
if (event instanceof EventMouseTick mouseTick) {
if (mouseTick.getButton() == 2) {
this.handleMiddleClick();
}
}
}
private void handleMiddleClick() {
ItemStack enderPearlStack = findEnderPearlInInventory();
if (enderPearlStack != null && !IMinecraft.mc.player.getCooldownTracker().hasCooldown(Items.ENDER_PEARL)) {
int pearlSlot = findSlotOfItemStack(enderPearlStack);
if (pearlSlot != -1) {
sendHeldItemChangePacket(pearlSlot);
useItem(Hand.MAIN_HAND);
sendHeldItemChangePacket(IMinecraft.mc.player.inventory.currentItem);
}
}
}
private ItemStack findEnderPearlInInventory() {
for (int i = 0; i < IMinecraft.mc.player.inventory.mainInventory.size(); i++) {
ItemStack stackInSlot = IMinecraft.mc.player.inventory.getStackInSlot(i);
if (!stackInSlot.isEmpty() && stackInSlot.getItem() == Items.ENDER_PEARL) {
return stackInSlot;
}
}
return null;
}
private int findSlotOfItemStack(ItemStack stack) {
for (int i = 0; i < IMinecraft.mc.player.inventory.mainInventory.size(); i++) {
ItemStack stackInSlot = IMinecraft.mc.player.inventory.getStackInSlot(i);
if (!stackInSlot.isEmpty() && ItemStack.areItemStacksEqual(stack, stackInSlot)) {
return i;
}
}
return -1;
}
private void sendHeldItemChangePacket(int itemSlot) {
IMinecraft.mc.player.connection.sendPacket(new CHeldItemChangePacket(itemSlot));
}
private void useItem(Hand hand) {
IMinecraft.mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(hand));
}
}