делал мод для авто отправки сообщения из конфига с колдавном чат гпт выдал фигню с ошибками
package com.example.autochatmod;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;
public class AutoChatMod implements ModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("autochatmod");
private static final String CONFIG_FILE = "config/autochatmod.properties";
private String message = "Все на мой аукцион! /ah";
private long intervalTicks = 5 * 60 * 20; // 5 минут в тиках (1 минута = 1200 тиков)
private long lastSentTick = 0;
@override
public void onInitialize() {
loadConfig();
registerTickListener();
LOGGER.info("AutoChatMod initialized!");
}
private void loadConfig() {
File configFile = new File(MinecraftClient.getInstance().runDirectory, CONFIG_FILE);
Properties props = new Properties();
try {
if (!configFile.exists()) {
configFile.getParentFile().mkdirs();
configFile.createNewFile();
props.setProperty("message", message);
props.setProperty("interval_minutes", "5");
try (FileWriter writer = new FileWriter(configFile)) {
props.store(writer, "AutoChatMod Config");
}
}
try (FileReader reader = new FileReader(configFile)) {
props.load(reader);
message = props.getProperty("message", message);
intervalTicks = Long.parseLong(props.getProperty("interval_minutes", "5")) * 60 * 20;
}
} catch (Exception e) {
LOGGER.error("Failed to load config", e);
}
}
private void registerTickListener() {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.player != null && client.world != null) {
long currentTick = client.world.getTime();
if (currentTick - lastSentTick >= intervalTicks) {
client.player.sendMessage(Text.of(message), false);
lastSentTick = currentTick;
}
}
});
}
}
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
у меня нету такой хуйни fabric 1.20.1
package com.example.autochatmod;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;
public class AutoChatMod implements ModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("autochatmod");
private static final String CONFIG_FILE = "config/autochatmod.properties";
private String message = "Все на мой аукцион! /ah";
private long intervalTicks = 5 * 60 * 20; // 5 минут в тиках (1 минута = 1200 тиков)
private long lastSentTick = 0;
@override
public void onInitialize() {
loadConfig();
registerTickListener();
LOGGER.info("AutoChatMod initialized!");
}
private void loadConfig() {
File configFile = new File(MinecraftClient.getInstance().runDirectory, CONFIG_FILE);
Properties props = new Properties();
try {
if (!configFile.exists()) {
configFile.getParentFile().mkdirs();
configFile.createNewFile();
props.setProperty("message", message);
props.setProperty("interval_minutes", "5");
try (FileWriter writer = new FileWriter(configFile)) {
props.store(writer, "AutoChatMod Config");
}
}
try (FileReader reader = new FileReader(configFile)) {
props.load(reader);
message = props.getProperty("message", message);
intervalTicks = Long.parseLong(props.getProperty("interval_minutes", "5")) * 60 * 20;
}
} catch (Exception e) {
LOGGER.error("Failed to load config", e);
}
}
private void registerTickListener() {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
if (client.player != null && client.world != null) {
long currentTick = client.world.getTime();
if (currentTick - lastSentTick >= intervalTicks) {
client.player.sendMessage(Text.of(message), false);
lastSentTick = currentTick;
}
}
});
}
}
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.client.MinecraftClient;
у меня нету такой хуйни fabric 1.20.1