Сборки серверов

СливПлатные

Сейчас онлайн

  • DOR
  • LegoLite
  • femalenegative
  • arsenka
  • WoWKiller22
  • Aksom1
  • yndfusc
  • TheBigGarry
  • mixai
  • fallendeco
  • TheFriken
  • Zenix123123
  • 1m_ne1tr0
  • LiSnow
  • Zeyr
  • quad
  • kolyamips
  • undefined322
  • DarvusVilaks
  • hatless
  • MrDrag0nXYT
  • stepan1411
  • 1050TI_top
  • Tesla195
  • uhungne123
  • Xgamings11X
  • Tarekizor
  • Tntry666
  • verov
  • Gionix
  • SinT
  • phany
  • cawa
  • KilliveK
  • OriMine CEMb
  • thismix3r
  • koiffi
  • Rekha
  • Dejvidos
  • Felleus Development
  • IchihanaYue
  • mudachie
  • imnstarzzz
  • Ivhintyyyyyyyy
  • Tqreas
  • sergachoco1
  • Jonifax2006
  • fergon228
  • MineClaw
  • mexasik_yt
  • Starlii
  • MrArsplay
  • giujkfds
  • Dreamsare
  • I_CommandBlock
  • FoxMineMen
  • PIRATESKILL
  • Sp0ce
  • ANDEREEEEEEEEEEEEEY
  • Andrew123
  • Mladzman
  • jasndijasniyoxicnmijn
  • GooseLoveSuckLemons
  • huahua
  • ApBy3uK
  • dakeoffic
  • sashasashayiu22
  • azharifarid
  • butowka
  • popadgopa
  • kik4347
  • Light90
  • alexsis
  • thxu
  • YarKrasavin
  • MrWeebeez
  • ZloyBoy
  • SNICH
  • Tola2004
  • qwerottt
  • securkaxgod
  • 975090682
  • MrMikhaili
  • gjhl1q
  • turbulencja
  • Skyns1

Помощь Помогите собрать плагин

  • Автор темыFlickG870
  • Дата начала
FlickG870
Помогите собрать плагин на фейковый онлайн и ботов на сервере. Пришлите готовый .jar и скажите что вы сделали и как у вас это получилось? Я новичок, ничего не понимаю в этом.

Внизу файлы моего проекта:
pom.xml
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>FakeOnlinePlayer</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.21.1-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
BotManager.java:
package com.example;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import java.io.File;
import java.util.List;
import org.bukkit.configuration.file.FileConfiguration;

import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;

public class BotManager {
    public static void spawnBots() {
        ConfigManager config = new ConfigManager();
        List<String> commands = config.getBotCommands();
        java.io.File botsFile = config.getBotsFile();

        try (BufferedReader br = new BufferedReader(new FileReader(botsFile))) {
            String line;
            while ((line = br.readLine()) != null) {
                String nickname = line.trim();
                FakePlayerInjector.injectFakePlayer(nickname);

                for (String cmd : commands) {
                    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd.replace("{player}", nickname));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ConfigManager.java:
package com.example;

import java.io.File;
import java.util.List;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.FileConfiguration;

public class ConfigManager {
    private final FileConfiguration config = FakeOnlinePlayer.getInstance().getConfig();

    public boolean isFakeOnlineEnabled() {
        return config.getBoolean("fake-online.enabled");
    }

    public int getFakeOnlineCount() {
        return config.getInt("fake-online.count");
    }

    public boolean isBotsEnabled() {
        return config.getBoolean("bots.enabled");
    }

    public java.util.List<String> getBotCommands() {
        return config.getStringList("bots.commands");
    }

    public java.io.File getBotsFile() {
        return new java.io.File(FakeOnlinePlayer.getInstance().getDataFolder(), "bots.txt");
    }

FakeOnlinePlayer.java:
package com.example;

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class FakeOnlinePlayer extends JavaPlugin {
    private static FakeOnlinePlayer instance;

    @Override
    public void onEnable() {
        instance = this;
        getLogger().info("FakeOnlinePlayer загружен!");

        ConfigManager configManager = new ConfigManager();
        if (configManager.isBotsEnabled()) {
            BotManager.spawnBots();
        }
    }

    public static FakeOnlinePlayer getInstance() {
        return instance;
    }
}


FakePlayerEnjector.java:
package com.example.utils;

import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
import net.minecraft.network.protocol.game.ClientboundPlayerInfoRemovePacket;
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.entity.Player;
import java.util.UUID;

public class FakePlayerInjector {
    public static void injectFakePlayer(String nickname) {
        UUID uuid = UUID.randomUUID();

        for (Player p : Bukkit.getOnlinePlayers()) {
            CraftPlayer craftPlayer = (CraftPlayer) p;

            ClientboundPlayerInfoUpdatePacket addPacket = new ClientboundPlayerInfoUpdatePacket(
                ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER,
                new ClientboundPlayerInfoUpdatePacket.PlayerUpdate(
                    uuid,
                    nickname,
                    false,
                    100,
                    (byte) 0,
                    craftPlayer.getProfile().getProperties(),
                    null
                )
            );

            craftPlayer.getHandle().connection.send(addPacket);
        }
    }
}


bots.txt:
Bot1
Bot2
Bot3
CoolBot
TestBot


config.yml:
# FakeOnlinePlayer config

fake-online:
  enabled: true
  count: 50

bots:
  enabled: true
  commands:
    - "glist add {player}"
    - "say [BOT] {player} зашёл на сервер"


messages.yml:
prefix: "&8[&eFakeOnline&8]"

fake-online-set: "&aФейковый онлайн установлен на &f{count}"
bot-connected: "&aБот &f{player} &aподключён"
 
GPT-4o
Я не могу создать готовый .jar файл, но я могу помочь вам с кодом и объяснить, как его собрать. Давайте разберем ваш проект и укажем, как его собрать.

### Шаги для сборки плагина

1. Настройка pom.xml: Убедитесь, что ваш pom.xml корректен. У вас уже есть зависимости для Spigot API.

2. Создание структуры проекта: Убедитесь, что у вас есть следующая структура папок:
Код:
   src
   └── main
       ├── java
       │   └── com
       │       └── example
       │           ├── BotManager.java
       │           ├── ConfigManager.java
       │           ├── FakeOnlinePlayer.java
       │           └── utils
       │               └── FakePlayerInjector.java
       └── resources
           └── config.yml

3. Создание файла config.yml: Создайте файл config.yml в папке resources и добавьте в него ваш YAML-код. Например:
Код:
yaml
   fake-online:
     enabled: true
     count: 50
   bots:
     enabled: true
     commands:
       - "glist add {player}"
       - "say [BOT] {player} зашёл на сервер"
   prefix: "&8[&eFakeOnline&8]"
   fake-online-set: "&aФейковый онлайн установлен на &f{count}"
   bot-connected: "&aБот &f{player} &aподключён"

4. Сборка проекта: Откройте терминал в корне вашего проекта и выполните команду:
Код:
   mvn clean package
Это создаст файл .jar в папке target.

5. Установка плагина: Переместите созданный .jar файл в папку plugins вашего сервера Spigot и перезапустите сервер.

### Примечания
  • Убедитесь, что у вас установлен Maven и правильно настроен JDK.
  • Если у вас возникнут ошибки, проверьте логи сервера и исправьте их на основе сообщений об ошибках.

Если у вас есть дополнительные вопросы или нужна помощь с конкретными частями кода, дайте знать!
 
IcePhantomBaron
Максимально отвратительное и осудительное действие этот ваш фейковый онлайн.. Играть там где скам (фейковый онлайн) начинается ещё не зайдя на сервер это кншн полный отстой..
Но если исходить с pom.xml в котором написано что "плагин" будет расчитан под 1.21.1, могу посоветовать не тратить время на создание плагина через ИИ, с которым будешь долбаться много времени из-за ошибок в коде. Используй этот плагин -> fakeplayer - Minecraft Plugin (1.20-1.21.4)
Полностью подходит под то что тебе надо + имеет намного обширный функционал, нежели тот, что ты пытался сделать с помощью ИИ (боты отображаются и в табе и в онлайне и показываются в чате как вошедшие игроки при их создании)
 
ВерхНиз