A claim plugin based on FTB Chunks
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}