Skip to content

Commit

Permalink
commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Bruce0203 committed Oct 4, 2021
1 parent 0c00230 commit 9f1da34
Show file tree
Hide file tree
Showing 34 changed files with 169 additions and 171 deletions.
Binary file modified jar/FreedyMinigameMaker2.jar
Binary file not shown.
39 changes: 18 additions & 21 deletions src/main/java/kr/jongwonlee/fmg/FMGListener.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package kr.jongwonlee.fmg;

import com.eatthepath.uuid.FastUUID;
import kr.jongwonlee.fmg.conf.GameDataStore;
import kr.jongwonlee.fmg.game.GameData;
import kr.jongwonlee.fmg.game.GameStore;
import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.EventBundle;
import kr.jongwonlee.fmg.proc.ProcTarget;
import kr.jongwonlee.fmg.proc.ProcUnit;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
Expand Down Expand Up @@ -41,7 +38,7 @@ public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("joinMessage", event.getJoinMessage());
game.run(EventBundle.JOIN, player);
String joinMessage = playerData.getData("joinMessage");
Expand All @@ -54,7 +51,7 @@ public void onQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("leftMessage", event.getQuitMessage());
game.run(EventBundle.LEFT, player);
String joinMessage = playerData.getData("leftMessage");
Expand All @@ -67,7 +64,7 @@ public void onMove(PlayerMoveEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setLocation("moveFrom", event.getFrom().clone());
playerData.setLocation("moveTo", event.getTo().clone());
String result = game.run(EventBundle.MOVE, player);
Expand All @@ -79,7 +76,7 @@ public void onInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("interactAction", event.getAction().name());
EquipmentSlot hand = event.getHand();
playerData.setData("interactHand", hand == null ? "null" : hand.name());
Expand All @@ -97,7 +94,7 @@ public void onChat(AsyncPlayerChatEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("chat", event.getMessage());
String result = GameStore.getGame(player).run(EventBundle.CHAT, player);
if (result.equals("false")) event.setCancelled(true);
Expand All @@ -109,7 +106,7 @@ public void onTeleport(PlayerTeleportEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setLocation("teleportFrom", event.getFrom());
playerData.setLocation("teleportTo", event.getTo());
String result = GameStore.getGame(player).run(EventBundle.TELEPORT, player);
Expand All @@ -121,7 +118,7 @@ public void onCommand(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("command", event.getMessage());
String result = GameStore.getGame(player).run(EventBundle.COMMAND, player);
if (result.equals("false")) event.setCancelled(true);
Expand All @@ -134,7 +131,7 @@ public void onInventoryClick(InventoryClickEvent event) {
Player player = ((Player) humanEntity);
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setInventory("inventoryClicked", event.getClickedInventory());
playerData.setData("inventoryHotBar", String.valueOf(event.getHotbarButton()));
playerData.setItemStack("inventoryCursor", event.getCursor());
Expand All @@ -155,7 +152,7 @@ public void onInventoryDrag(InventoryDragEvent event) {
Player player = ((Player) humanEntity);
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setInventory("inventoryDrag", event.getInventory());
playerData.setList("inventorySlots", event.getInventorySlots().stream().map(String::valueOf).collect(Collectors.toList()));
playerData.setList("inventoryRawSlots", event.getRawSlots().stream().map(String::valueOf).collect(Collectors.toList()));
Expand All @@ -175,7 +172,7 @@ public void onInventoryClose(InventoryCloseEvent event) {
Player player = ((Player) humanEntity);
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setInventory("inventoryClosed", event.getInventory());
GameStore.getGame(player).run(EventBundle.INVENTORY_CLOSE, player);
}
Expand All @@ -187,7 +184,7 @@ public void onDamage(EntityDamageEvent event) {
Player player = ((Player) entity);
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("damage", String.valueOf(event.getDamage()));
playerData.setData("damageCause", event.getCause().name());
playerData.setData("damageFinal", String.valueOf(event.getFinalDamage()));
Expand All @@ -200,7 +197,7 @@ public void onDropItem(PlayerDropItemEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setItemStack("dropItem", event.getItemDrop().getItemStack());
String result = GameStore.getGame(player).run(EventBundle.DROP_ITEM, player);
if (result.equals("false")) event.setCancelled(true);
Expand All @@ -222,7 +219,7 @@ else if (attacker instanceof Projectile) {
if (player != null) {
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setData("damage", String.valueOf(event.getDamage()));
playerData.setData("damageCause", event.getCause().name());
playerData.setData("damageFinal", String.valueOf(event.getFinalDamage()));
Expand All @@ -235,7 +232,7 @@ else if (attacker instanceof Projectile) {
Player victimPlayer = (Player) entity;
if (!victimPlayer.isOnline()) return;
MiniGame game = GameStore.getGame(victimPlayer);
GameData playerData = GameDataStore.getPlayerData(victimPlayer.getUniqueId());
GameData playerData = GameStore.getPlayerData(victimPlayer.getUniqueId());
playerData.setData("damage", String.valueOf(event.getDamage()));
playerData.setData("damageCause", event.getCause().name());
playerData.setData("damageFinal", String.valueOf(event.getFinalDamage()));
Expand All @@ -250,7 +247,7 @@ public void onSwapHand(PlayerSwapHandItemsEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setItemStack("mainHandItem", event.getMainHandItem());
playerData.setItemStack("offHandItem", event.getOffHandItem());
String result = GameStore.getGame(player).run(EventBundle.SWAP_HAND, player);
Expand All @@ -262,7 +259,7 @@ public void onBreakBlock(BlockBreakEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setBlock("blockBreak", event.getBlock().getState());
String result = GameStore.getGame(player).run(EventBundle.BLOCK_BREAK, player);
if (result.equals("false")) event.setCancelled(true);
Expand All @@ -273,7 +270,7 @@ public void onPlaceBlock(BlockPlaceEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setBlock("blockPlace", event.getBlock().getState());
String result = GameStore.getGame(player).run(EventBundle.BLOCK_PLACE, player);
if (result.equals("false")) event.setCancelled(true);
Expand All @@ -284,7 +281,7 @@ public void onRespawn(PlayerRespawnEvent event) {
Player player = event.getPlayer();
if (!player.isOnline()) return;
MiniGame game = GameStore.getGame(player);
GameData playerData = GameDataStore.getPlayerData(player.getUniqueId());
GameData playerData = GameStore.getPlayerData(player.getUniqueId());
playerData.setLocation("respawnLocation", event.getRespawnLocation());
GameStore.getGame(player).run(EventBundle.PLAYER_RESPAWN, player);
Location respawnLocation = playerData.getLocation("respawnLocation");
Expand Down
1 change: 0 additions & 1 deletion src/main/java/kr/jongwonlee/fmg/FMGPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import kr.jongwonlee.fmg.proc.EventBundle;
import kr.jongwonlee.fmg.util.GameAlert;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down
17 changes: 2 additions & 15 deletions src/main/java/kr/jongwonlee/fmg/conf/GameDataStore.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,11 @@

import kr.jongwonlee.fmg.game.GameData;
import kr.jongwonlee.fmg.util.YamlStore;
import org.bukkit.event.Listener;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class GameDataStore extends GameData {
public class GameDataStore extends GameData implements Listener {

private static GameDataStore instance;
private static Map<UUID, GameData> playersData;
private static final YamlStore dataStore = new YamlStore("data.yml");
private static final YamlStore itemStackStore = new YamlStore("items.yml");
private static final YamlStore locationStore = new YamlStore("locations.yml");
Expand All @@ -25,15 +21,6 @@ public GameDataStore() {
itemStackStore.getItemStackMap(""),
inventoryStore.getInventoryMap(""),
listStore.getListMap(""));
playersData = new HashMap<>();
}

public static Map<UUID, GameData> getPlayersData() {
return playersData;
}

public static GameData getPlayerData(UUID uuid) {
return playersData.getOrDefault(uuid, null);
}

public static GameDataStore getInst() {
Expand Down
22 changes: 18 additions & 4 deletions src/main/java/kr/jongwonlee/fmg/game/GameStore.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ public class GameStore implements Listener {
private static Map<Player, MiniGame> playerGameMap;
private static MiniGame hubGame;
private static GameStore gameStore;
private static Map<UUID, GameData> playersData;

public static void init() {
playersData = new HashMap<>();
if (gameMap == null) gameMap = new HashMap<>();
if (playerGameMap == null) playerGameMap = new HashMap<>();
createGame(Settings.getHubGameName());
Expand All @@ -39,19 +41,31 @@ public static void init() {
}
}

public static Map<UUID, GameData> getPlayersData() {
return playersData;
}

public static GameData getPlayerData(UUID uuid) {
return playersData.getOrDefault(uuid, null);
}

@EventHandler(priority = EventPriority.LOWEST)
public void onJoin(PlayerJoinEvent event) {
final Player player = event.getPlayer();
GameStore.getHubGame().join(player.getUniqueId());
final UUID uniqueId = player.getUniqueId();
playersData.put(uniqueId, new GameData());
getHubGame().join(uniqueId);
}

@EventHandler(priority = EventPriority.HIGHEST)
public void onQuit(PlayerQuitEvent event) {
final Player player = event.getPlayer();
MiniGame game = getGame(player);
if (game != null) game.quit(player.getUniqueId());
getHubGame().quit(player.getUniqueId());
final MiniGame game = getGame(player);
final UUID uniqueId = player.getUniqueId();
if (game != null) game.quit(uniqueId);
getHubGame().quit(uniqueId);
playerGameMap.remove(player);
playersData.remove(uniqueId);
}

public static MiniGame getGame(Player player) {
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/kr/jongwonlee/fmg/game/MiniGame.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package kr.jongwonlee.fmg.game;

import kr.jongwonlee.fmg.conf.GameDataStore;
import kr.jongwonlee.fmg.proc.EventBundle;
import kr.jongwonlee.fmg.proc.FileParser;
import kr.jongwonlee.fmg.proc.ProcBundle;
Expand All @@ -9,7 +8,10 @@
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;

import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;

public class MiniGame {

Expand Down
2 changes: 0 additions & 2 deletions src/main/java/kr/jongwonlee/fmg/proc/FileParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
import kr.jongwonlee.fmg.proc.data.control.Nothing;
import kr.jongwonlee.fmg.proc.data.control.Then;
import kr.jongwonlee.fmg.util.GameAlert;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;

import javax.annotation.Nonnull;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import kr.jongwonlee.fmg.proc.ProcType;
import kr.jongwonlee.fmg.proc.Process;
import org.bukkit.Bukkit;

public abstract class ConditionOperator implements Process {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package kr.jongwonlee.fmg.proc.data.control;

import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.*;
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;

@Processable(alias = "\"")
public class DoubleQuotation implements Process {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;

@Processable(alias = "NOTHING") //must be capital letter to prevent notice
public class Nothing implements Process {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;

import java.util.function.BiConsumer;

@Processable(alias = {"%"})
public class Remainder implements MathOperator {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@
import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;
import org.bukkit.Bukkit;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

@Processable(alias = {"("})
public class SmallFrontBrace implements FrontBrace {
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/kr/jongwonlee/fmg/proc/data/control/Target.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.eatthepath.uuid.FastUUID;
import kr.jongwonlee.fmg.conf.GameDataStore;
import kr.jongwonlee.fmg.game.GameData;
import kr.jongwonlee.fmg.game.GameStore;
import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;
Expand Down Expand Up @@ -55,7 +56,7 @@ public String run(MiniGame miniGame, ProcUnit procUnit) {
List<String> list = null;
if (process.getType() == ProcType.EXECUTE_GAME) list = miniGame.getGameData().getList(name);
else if (process.getType() == ProcType.EXECUTE_ONLINE) list = GameDataStore.getInst().getList(name);
else if (originPlayer != null) list = GameDataStore.getPlayerData(originPlayer.getUniqueId()).getList(name);
else if (originPlayer != null) list = GameStore.getPlayerData(originPlayer.getUniqueId()).getList(name);
Process proc2 = processList.get(2);
String value2 = proc2.run(miniGame, procUnit);
Process lastProc = frontBrace.getLastProc();
Expand All @@ -76,7 +77,7 @@ else if (proc2.getType() == ProcType.EXECUTE_ONLINE) {
}
}
else if (originPlayer != null) {
GameData playerData = GameDataStore.getPlayerData(originPlayer.getUniqueId());
GameData playerData = GameStore.getPlayerData(originPlayer.getUniqueId());
if (list != null) {
for (String e : new ArrayList<>(list)) {
playerData.setData(value2, e);
Expand All @@ -91,7 +92,7 @@ else if (originPlayer != null) {
List<String> list = null;
if (process.getType() == ProcType.EXECUTE_GAME) list = miniGame.getGameData().getList(name);
else if (process.getType() == ProcType.EXECUTE_ONLINE) list = GameDataStore.getInst().getList(name);
else if (originPlayer != null) list = GameDataStore.getPlayerData(originPlayer.getUniqueId()).getList(name);
else if (originPlayer != null) list = GameStore.getPlayerData(originPlayer.getUniqueId()).getList(name);
Process lastProc = frontBrace.getLastProc();
if (list != null) new ArrayList<>(list).forEach(element -> {
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package kr.jongwonlee.fmg.proc.data.etc;

import kr.jongwonlee.fmg.conf.GameDataStore;
import kr.jongwonlee.fmg.game.GameStore;
import kr.jongwonlee.fmg.game.MiniGame;
import kr.jongwonlee.fmg.proc.Process;
import kr.jongwonlee.fmg.proc.*;
Expand All @@ -24,7 +25,7 @@ public String run(MiniGame miniGame, ProcUnit procUnit) {
Bukkit.getScheduler().cancelTask(taskId);
miniGame.getGameData().removeTaskId(taskId);
GameDataStore.getInst().removeTaskId(taskId);
GameDataStore.getPlayerData(procUnit.target.player.getUniqueId()).removeTaskId(taskId);
GameStore.getPlayerData(procUnit.target.player.getUniqueId()).removeTaskId(taskId);
} catch (Exception ignored) { }
return "";
}
Expand Down
Loading

0 comments on commit 9f1da34

Please sign in to comment.