Forge Api ;-;
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Короче дефолтный блок спайдер, работает впринципе нормально, ротацию кому надо допишите я думаю (как бы если спайдер включен то голову повернуть возможности не будет, а без нее античит даст пизды)
Java:
@SubscribeEvent
public void onTick(TickEvent.PlayerTickEvent event) {
if (!this.isEnabled() || event.phase != TickEvent.Phase.START || mc.player == null || !mc.player.horizontalCollision || mc.player.isInWater()) return;
if (mc.player.isOnGround()) {
mc.player.jumpFromGround();
} else if (mc.player.fallDistance > 0 && mc.player.fallDistance < 2) {
if (getSlot() == -1) {
ChatUtil.addChatMessage("Для использования этого спайдера у вас должны быть блоки в хотбаре!");
this.toggle();
return;
}
int lastSlot = mc.player.inventory.selected;
mc.player.inventory.selected = getSlot();
mc.player.xRot = 80;
mc.player.yRot = mc.player.getYHeadRot();
mc.player.yBodyRot = mc.player.getYHeadRot();
Vector3d start = mc.player.getEyePosition(1.0F);
Vector3d look = mc.player.getViewVector(1.0F);
Vector3d end = start.add(look.x * 4, look.y * 4, look.z * 4);
BlockRayTraceResult rayTrace = mc.level.clip(new RayTraceContext(
start, end,
RayTraceContext.BlockMode.OUTLINE,
RayTraceContext.FluidMode.NONE,
mc.player));
mc.player.swing(Hand.MAIN_HAND);
mc.gameMode.useItemOn(mc.player, mc.level, Hand.MAIN_HAND, rayTrace);
mc.player.inventory.selected = lastSlot;
mc.player.fallDistance = 0;
}
}
private int getSlot() {
for (int i = 0; i < 9; i++) {
ItemStack stack = mc.player.inventory.getItem(i);
if (isValid(stack)) {
return i;
}
}
return -1;
}
private boolean isValid(ItemStack stack) {
return stack.getItem() instanceof BlockItem && !(stack.getItem() == Items.TORCH)
|| stack.getItem() == Items.WATER_BUCKET;
}