User: Напиши плагин для майнкрафт 1.16.5. Он будет называться PlaceCore. Сейчас главный файл мы трогать не будем. Создадим папку Vault. А в самой папке класс VaultDB. Она будет создавать в папке PlaceCore датабазу vault.db. И создадим второй файл - VaultMoney. Там мы создадим такую механику, что над ником игрока, будет такая строчка зеленым цветом: "Cash: (Деньги игрока)". Данную строчку над ником видят все игроки, и в том числе сам игрок. Как раз сами деньги получаются из датабазы. Пока их никак нельзя получить.
Assistant: Чтобы создать плагин для Minecraft 1.16.5, который будет включать базу данных и отображать количество денег над ником игрока, нам нужно будет реализовать несколько классов в Java. Мы создадим папку `Vault` и два файла: `VaultDB.java` и `VaultMoney.java`. 

Вот пример реализации ваших требований:

### 1. Структура проекта

```
PlaceCore
└── src
    └── main
        └── java
            └── com
                └── yourpackage
                    ├── PlaceCore.java
                    └── Vault
                        ├── VaultDB.java
                        └── VaultMoney.java
```

### 2. VaultDB.java

Этот класс будет отвечать за создание и управление базой данных, хранящей деньги игроков.

```java
package com.yourpackage.Vault;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class VaultDB {
    private static Connection connection;
    private static final String DATABASE_URL = "jdbc:sqlite:PlaceCore/vault.db";

    public static void setupDatabase() {
        try {
            connection = DriverManager.getConnection(DATABASE_URL);
            Statement statement = connection.createStatement();
            String sql = "CREATE TABLE IF NOT EXISTS players ("
                    + "username TEXT PRIMARY KEY,"
                    + "money INTEGER DEFAULT 0"
                    + ");";
            statement.execute(sql);
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() {
        return connection;
    }
}
```

### 3. VaultMoney.java

Этот класс будет отвечать за отображение денег над ником игрока.

```java
package com.yourpackage.Vault;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.*;

public class VaultMoney implements Listener {
    private final JavaPlugin plugin;

    public VaultMoney(JavaPlugin plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        displayPlayerMoney(player);
    }

    public void displayPlayerMoney(Player player) {
        int money = getPlayerMoney(player.getName()); // Получаем деньги из базы данных
        ScoreboardManager manager = Bukkit.getScoreboardManager();
        Scoreboard scoreboard = manager.getNewScoreboard();
        Objective objective = scoreboard.registerNewObjective("money", "dummy", "Cash: " + money);
        objective.setDisplaySlot(DisplaySlot.BELOW_NAME);
        Score score = objective.getScore(player.getName());
        score.setScore(0);

        player.setScoreboard(scoreboard);
    }

    private int getPlayerMoney(String username) {
        // Здесь вы можете добавить логику получения денег из базы данных
        return 0; // Пока возвращаем 0
    }
}
```

### 4. PlaceCore.java

Это главный класс вашего плагина, который инициализирует остальные классы.

```java
package com.yourpackage;

import com.yourpackage.Vault.VaultDB;
import com.yourpackage.Vault.VaultMoney;
import org.bukkit.plugin.java.JavaPlugin;

public class PlaceCore extends JavaPlugin {
    @Override
    public void onEnable() {
        VaultDB.setupDatabase();
        getServer().getPluginManager().registerEvents(new VaultMoney(this), this);
    }

    @Override
    public void onDisable() {
        // Закрытие базы данных, если необходимо
    }
}
```

### 5. pom.xml (если используете Maven)

Не забудьте добавить зависимости для SQLite, если вы используете Maven:

```xml
<dependencies>
    <dependency>
        <groupId>org.xerial.sqlite-jdbc</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.36.0.3</version>
    </dependency>
    <!-- Другие зависимости -->
</dependencies>
```

### 6. Компиляция и загрузка плагина

После того как вы завершили написание кода, скомпилируйте его и загрузите в папку `plugins` вашего сервера Minecraft. Плагин должен начать работу, создавая базу данных и отображая деньги над никами игроков. 

Не забудьте наполнить функцию `getPlayerMoney` логикой получения денег из базы данных.
User: Во-первых это должно писать НАД ником, во вторых зеленым цветом. В третьих сейчас пишет "0 Cash: 0". А должно писать просто "Cash: 0"
Assistant: