A claim plugin based on FTB Chunks
at master 48 lines 1.8 kB view raw
1package dev.keii.keiichunks.events; 2 3import dev.keii.keiichunks.KeiiChunks; 4import dev.keii.keiichunks.PlayerChunk; 5import dev.keii.keiichunks.error.Success; 6import dev.keii.keiichunks.inventories.InventoryChunkPermission; 7import net.kyori.adventure.text.Component; 8import net.kyori.adventure.text.format.NamedTextColor; 9import org.bukkit.entity.Player; 10import org.bukkit.event.EventHandler; 11import org.bukkit.event.Listener; 12import org.bukkit.event.player.PlayerChatEvent; 13 14import java.util.HashMap; 15import java.util.Map; 16 17public class PlayerChat implements Listener { 18 19 public static Map<String, ChatListener> chunkListener = new HashMap<>(); 20 21 @EventHandler 22 public void onPlayerChat(PlayerChatEvent event) 23 { 24 Player player = event.getPlayer(); 25 26 if(chunkListener.get(player.getUniqueId().toString()) == null) 27 { 28 return; 29 } 30 31 if(chunkListener.get(player.getUniqueId().toString()) instanceof ChunkPermissionAddPlayer) 32 event.setCancelled(true); 33 34 var result = PlayerChunk.addChunkPermissionsForUser(player, event.getMessage(), ((ChunkPermissionAddPlayer)chunkListener.get(player.getUniqueId().toString())).getChunk()); 35 36 if(result instanceof Success) { 37 player.sendMessage(Component.text("Permissions added for player").color(NamedTextColor.GREEN)); 38 player.closeInventory(); 39 InventoryChunkPermission cp = new InventoryChunkPermission(((ChunkPermissionAddPlayer)chunkListener.get(player.getUniqueId().toString())).getChunk()); 40 player.openInventory(cp.getInventory()); 41 } else { 42 player.sendMessage(Component.text("Failed: " + result.getMessage()).color(NamedTextColor.RED)); 43 44 } 45 46 chunkListener.remove(player.getUniqueId().toString()); 47 } 48}