初始版
This commit is contained in:
		
						commit
						be4cd7ac7f
					
				
							
								
								
									
										36
									
								
								pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								pom.xml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||
|          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
| 
 | ||||
|     <groupId>com.yaohun.guaji.AuGuaJi</groupId> | ||||
|     <artifactId>DemonLevelReward</artifactId> | ||||
|     <version>1.0-SNAPSHOT</version> | ||||
| 
 | ||||
|     <properties> | ||||
|         <maven.compiler.source>8</maven.compiler.source> | ||||
|         <maven.compiler.target>8</maven.compiler.target> | ||||
|         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||
|     </properties> | ||||
| 
 | ||||
|     <repositories> | ||||
|         <repository> | ||||
|             <id>public-rpg</id> | ||||
|             <url>https://repo.aurora-pixels.com/repository/public-rpg/</url> | ||||
|         </repository> | ||||
|     </repositories> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>me.Demon.DemonPlugin</groupId> | ||||
|             <artifactId>DemonAPI</artifactId> | ||||
|             <version>2.2.9</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.spigotmc</groupId> | ||||
|             <artifactId>spigot-api</artifactId> | ||||
|             <version>1.12.2</version> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| </project> | ||||
							
								
								
									
										57
									
								
								src/main/java/com/yaohun/levelreward/LevelReward.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								src/main/java/com/yaohun/levelreward/LevelReward.java
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | |||
| package com.yaohun.levelreward; | ||||
| 
 | ||||
| import com.yaohun.levelreward.manage.PlayerManager; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.plugin.java.JavaPlugin; | ||||
| 
 | ||||
| public class LevelReward extends JavaPlugin { | ||||
| 
 | ||||
|     private static LevelReward instance; | ||||
|     private static PlayerManager playerManager; | ||||
| 
 | ||||
| 
 | ||||
|     @Override | ||||
|     public void onEnable() { | ||||
|         instance = this; | ||||
|         playerManager = new PlayerManager(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void onDisable() { | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { | ||||
|         if("open".equalsIgnoreCase(args[0])){ | ||||
|             return true; | ||||
|         } | ||||
|         if(!sender.isOp()) { | ||||
|             return true; | ||||
|         } | ||||
|         if (args.length == 0) { | ||||
|             sender.sendMessage(""); | ||||
|             sender.sendMessage("§e------- ======= §6等级成长礼包 §e======= -------"); | ||||
|             sender.sendMessage("§2/"+label+" add §e[方案] §2<玩家> §f- §2增加礼包"); | ||||
|             sender.sendMessage("§2/"+label+" reset §e[方案] §2<玩家> §f- §2重置礼包"); | ||||
|             sender.sendMessage("§2/"+label+" show §e[方案] §f- §2查看礼包内容"); | ||||
|             sender.sendMessage("§2/"+label+" edit §e[方案] §f- §2设置礼包内容"); | ||||
|             sender.sendMessage("§2/"+label+" list §f- §2查看礼包方案"); | ||||
|             sender.sendMessage("§2/"+label+" reload §f- §2重载配置文件"); | ||||
|             sender.sendMessage("§e------- ======= §6等级成长礼包 §e======= -------"); | ||||
|             sender.sendMessage(""); | ||||
|             return true; | ||||
|         } | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public static LevelReward inst() { | ||||
|         return instance; | ||||
|     } | ||||
| 
 | ||||
|     public static PlayerManager getPlayerManager() { | ||||
|         return playerManager; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										87
									
								
								src/main/java/com/yaohun/levelreward/data/PlayerData.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/main/java/com/yaohun/levelreward/data/PlayerData.java
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,87 @@ | |||
| package com.yaohun.levelreward.data; | ||||
| 
 | ||||
| import org.bukkit.configuration.file.FileConfiguration; | ||||
| import org.bukkit.configuration.file.YamlConfiguration; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * @author Administrator | ||||
|  */ | ||||
| public class PlayerData { | ||||
| 
 | ||||
|     /** | ||||
|      * 玩家数据管理类 | ||||
|      * 用于保存和管理玩家的游戏数据,特别是玩家的奖励信息 | ||||
|      */ | ||||
|     private final File file; | ||||
|     private final FileConfiguration configuration; | ||||
| 
 | ||||
|     /** | ||||
|      * 存储玩家奖励的列表 | ||||
|      */ | ||||
|     private final List<String> rewardList; | ||||
| 
 | ||||
|     /** | ||||
|      * 构造玩家数据对象 | ||||
|      * | ||||
|      * @param playerName 玩家名称,用于标识和加载对应的玩家数据文件 | ||||
|      */ | ||||
|     public PlayerData(String playerName){ | ||||
|         // 初始化文件路径 | ||||
|         this.file = new File("plugins/AuData/LevelReward", playerName + ".yml"); | ||||
|         // 检查并创建玩家数据文件的父目录 | ||||
|         if(!file.getParentFile().exists()) { | ||||
|             file.getParentFile().mkdirs(); | ||||
|             this.configuration = YamlConfiguration.loadConfiguration(file); | ||||
|         } else { | ||||
|             this.configuration = YamlConfiguration.loadConfiguration(file); | ||||
|         } | ||||
|         // 从配置中加载玩家的奖励列表 | ||||
|         this.rewardList = this.configuration.getStringList("RewardList"); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 保存玩家数据到文件 | ||||
|      * 将玩家的奖励列表保存到配置文件中,并写入磁盘 | ||||
|      */ | ||||
|     public void savePlayerData(){ | ||||
|         this.configuration.set("RewardList", rewardList); | ||||
|         try { | ||||
|             this.configuration.save(file); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 检查玩家是否已有指定的奖励 | ||||
|      * | ||||
|      * @param rewardKey 奖励的唯一键值 | ||||
|      * @return 如果玩家已有指定的奖励,则返回true;否则返回false | ||||
|      */ | ||||
|     public boolean isHasReward(String rewardKey){ | ||||
|         return rewardList.contains(rewardKey); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 给玩家添加新的奖励 | ||||
|      * | ||||
|      * @param rewardKey 新增奖励的唯一键值 | ||||
|      */ | ||||
|     public void addReward(String rewardKey){ | ||||
|         rewardList.add(rewardKey); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 获取玩家的奖励列表 | ||||
|      * | ||||
|      * @return 返回包含玩家所有奖励键值的列表 | ||||
|      */ | ||||
|     public List<String> getRewardList() { | ||||
|         return rewardList; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										7
									
								
								src/main/java/com/yaohun/levelreward/gui/RewardGui.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/main/java/com/yaohun/levelreward/gui/RewardGui.java
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| package com.yaohun.levelreward.gui; | ||||
| 
 | ||||
| import org.bukkit.event.Listener; | ||||
| 
 | ||||
| public class RewardGui implements Listener { | ||||
| 
 | ||||
| } | ||||
|  | @ -0,0 +1,32 @@ | |||
| package com.yaohun.levelreward.manage; | ||||
| 
 | ||||
| import com.yaohun.levelreward.data.PlayerData; | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.entity.Player; | ||||
| 
 | ||||
| import java.util.HashMap; | ||||
| 
 | ||||
| public class PlayerManager { | ||||
| 
 | ||||
|     private final HashMap<String, PlayerData> playerDataMap = new HashMap<>(); | ||||
| 
 | ||||
|     public PlayerManager() { | ||||
|         for (Player player : Bukkit.getOnlinePlayers()) { | ||||
|             String playerName = player.getName(); | ||||
|             playerDataMap.put(playerName,new PlayerData(playerName)); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void saveAllPlayerData() { | ||||
|         for (PlayerData playerData : playerDataMap.values()) { | ||||
|             playerData.savePlayerData(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public PlayerData getPlayerData(String playerName) { | ||||
|         if (!playerDataMap.containsKey(playerName)) { | ||||
|             playerDataMap.put(playerName,new PlayerData(playerName)); | ||||
|         } | ||||
|         return playerDataMap.get(playerName); | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,40 @@ | |||
| package me.Demon.DemonLevelReward.Event; | ||||
| 
 | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.Event; | ||||
| import org.bukkit.event.HandlerList; | ||||
| 
 | ||||
| public class LevelRewardReceiveEvent extends Event { | ||||
| 
 | ||||
|     private static HandlerList handlers = new HandlerList(); | ||||
|     private Player player; | ||||
|     private String rewardKey; | ||||
|     private int levels; | ||||
| 
 | ||||
|     @Override | ||||
|     public HandlerList getHandlers() { | ||||
|         return handlers; | ||||
|     } | ||||
|     public static HandlerList getHandlerList() { | ||||
|         return handlers; | ||||
|     } | ||||
|     public LevelRewardReceiveEvent(Player player, String rewardKey, int levels) { | ||||
|         this.player = player; | ||||
|         this.rewardKey = rewardKey; | ||||
|         this.levels = levels; | ||||
|     } | ||||
| 
 | ||||
|     public Player getPlayer() { | ||||
|         return player; | ||||
|     } | ||||
| 
 | ||||
|     public String getRewardKey() { | ||||
|         return rewardKey; | ||||
|     } | ||||
| 
 | ||||
|     public int getLevels() { | ||||
|         return levels; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										5
									
								
								src/main/resources/plugin.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/main/resources/plugin.yml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| name: DemonLevelReward | ||||
| main: com.yaohun.levelreward.LevelReward | ||||
| version: 2.0.6 | ||||
| commands: | ||||
|   levelreward: | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user