Вопрос Очеень много ошибок помогите их зафиксить

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Сен 2024
Сообщения
9
Реакции
0
Скажите что не так в коде)) я буду учиться фиксить, просто я долбаеб немножко сам по себе😅

package im.expensive.functions.impl.movement;

import net.minecraft.client.Minecraft;
import net.minecraft.network.IPacket;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.lwjgl.glfw.GLFW;

import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

@Mod("packetfreezer")
public class PacketFreezerMod {
private final Queue<IPacket<?>> frozenPackets = new ConcurrentLinkedQueue<>();
private boolean isSendingEnabled = false;
private int autoSendTicks = 20; // 5-100
private final Minecraft mc = Minecraft.getInstance();

public PacketFreezerMod() {
// Регистрация событий через Forge
}

// Перехват пакетов удара (например, CAnimateHandPacket)
@SubscribeEvent
public void onPacketSend(net.minecraftforge.fml.network.NetworkEvent.Send event) {
if (event.getPacket() instanceof net.minecraft.network.play.client.CAnimateHandPacket) {
if (!isSendingEnabled) {
frozenPackets.add(event.getPacket());
event.setCanceled(true); // Блокировка отправки
}
}
}

// Автоотправка по таймеру
@SubscribeEvent
public void onTick(TickEvent.ClientTickEvent event) {
if (mc.player == null || event.phase != TickEvent.Phase.END) return;
if (autoSendTicks > 0 && mc.player.tickCount % autoSendTicks == 0) {
flushPackets();
}
}

// Отрисовка координат
@SubscribeEvent
public void onRender(RenderGameOverlayEvent.Post event) {
if (event.getType() == RenderGameOverlayEvent.ElementType.TEXT) {
String pos = String.format("XYZ: %.1f, %.1f, %.1f",
mc.player.getX(), mc.player.getY(), mc.player.getZ());
mc.font.draw(event.getMatrixStack(), pos, 10, 50, 0xFFFFFF);
}
}

// Переключение клавишей (F6)
@SubscribeEvent
public void onKeyPress(InputEvent.KeyInputEvent event) {
if (event.getKey() == GLFW.GLFW_KEY_F6 && event.getAction() == GLFW.GLFW_PRESS) {
isSendingEnabled = !isSendingEnabled;
if (isSendingEnabled) flushPackets();
}
}

private void flushPackets() {
frozenPackets.forEach(packet -> mc.getConnection().send(packet));
frozenPackets.clear();
}
}
 
Не ну это уже ряльно пиздец, экспа на мкп твой чат джпити код для форджа или фабрика
 
Скажите что не так в коде)) я буду учиться фиксить, просто я долбаеб немножко сам по себе😅

package im.expensive.functions.impl.movement;

import net.minecraft.client.Minecraft;
import net.minecraft.network.IPacket;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.lwjgl.glfw.GLFW;

import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

@Mod("packetfreezer")
public class PacketFreezerMod {
private final Queue<IPacket<?>> frozenPackets = new ConcurrentLinkedQueue<>();
private boolean isSendingEnabled = false;
private int autoSendTicks = 20; // 5-100
private final Minecraft mc = Minecraft.getInstance();

public PacketFreezerMod() {
// Регистрация событий через Forge
}

// Перехват пакетов удара (например, CAnimateHandPacket)
@SubscribeEvent
public void onPacketSend(net.minecraftforge.fml.network.NetworkEvent.Send event) {
if (event.getPacket() instanceof net.minecraft.network.play.client.CAnimateHandPacket) {
if (!isSendingEnabled) {
frozenPackets.add(event.getPacket());
event.setCanceled(true); // Блокировка отправки
}
}
}

// Автоотправка по таймеру
@SubscribeEvent
public void onTick(TickEvent.ClientTickEvent event) {
if (mc.player == null || event.phase != TickEvent.Phase.END) return;
if (autoSendTicks > 0 && mc.player.tickCount % autoSendTicks == 0) {
flushPackets();
}
}

// Отрисовка координат
@SubscribeEvent
public void onRender(RenderGameOverlayEvent.Post event) {
if (event.getType() == RenderGameOverlayEvent.ElementType.TEXT) {
String pos = String.format("XYZ: %.1f, %.1f, %.1f",
mc.player.getX(), mc.player.getY(), mc.player.getZ());
mc.font.draw(event.getMatrixStack(), pos, 10, 50, 0xFFFFFF);
}
}

// Переключение клавишей (F6)
@SubscribeEvent
public void onKeyPress(InputEvent.KeyInputEvent event) {
if (event.getKey() == GLFW.GLFW_KEY_F6 && event.getAction() == GLFW.GLFW_PRESS) {
isSendingEnabled = !isSendingEnabled;
if (isSendingEnabled) flushPackets();
}
}

private void flushPackets() {
frozenPackets.forEach(packet -> mc.getConnection().send(packet));
frozenPackets.clear();
}
}
а давно экспа на фордже стала?
 
Назад
Сверху Снизу