A claim plugin based on FTB Chunks
at master 58 lines 2.1 kB view raw
1package dev.keii.keiichunks.events; 2 3import com.destroystokyo.paper.profile.PlayerProfile; 4import com.destroystokyo.paper.profile.ProfileProperty; 5import com.fasterxml.jackson.databind.ObjectMapper; 6import dev.keii.keiichunks.DatabaseConnector; 7import dev.keii.keiichunks.KeiiChunks; 8import dev.keii.keiichunks.RuntimeError; 9import dev.keii.keiichunks.error.Result; 10import net.kyori.adventure.text.Component; 11import net.kyori.adventure.text.format.NamedTextColor; 12import org.bukkit.Bukkit; 13import org.bukkit.entity.Player; 14import org.bukkit.event.EventHandler; 15import org.bukkit.event.Listener; 16import org.bukkit.event.player.PlayerJoinEvent; 17 18import java.sql.Connection; 19import java.sql.ResultSet; 20import java.sql.SQLException; 21import java.sql.Statement; 22import java.util.Set; 23 24public class PlayerJoin implements Listener { 25 26 @EventHandler 27 public void onPlayerJoin(PlayerJoinEvent event) 28 { 29 Player player = event.getPlayer(); 30 31 String resourcePackURL = "https://github.com/shykeiichi/plugin-resourcepack/raw/main/release.zip"; 32 player.setResourcePack(resourcePackURL); 33 34 try { 35 Connection connection = DatabaseConnector.getConnection(); 36 Statement statement = connection.createStatement(); 37 38 String userQuery = "SELECT id FROM user WHERE uuid = \"" + player.getUniqueId() + "\""; 39 ResultSet userResultSet = statement.executeQuery(userQuery); 40 41 if (!userResultSet.next()) { // User does not exist 42 userResultSet.close(); 43 String createUserQuery = "INSERT INTO user (uuid, nickname, claim_power) VALUES (\"" + player.getUniqueId() + "\", \"" + player.getName() + "\", 15)"; 44 statement.execute(createUserQuery); 45 46 statement.close(); 47 connection.close(); 48 return; 49 } 50 51 userResultSet.close(); 52 statement.close(); 53 connection.close(); 54 } catch (SQLException e) { 55 Bukkit.getServer().broadcast(Component.text("Fatal Database Error: " + e.getMessage()).color(NamedTextColor.RED)); 56 } 57 } 58}