初始版
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