测试版

This commit is contained in:
yaohunya 2024-08-10 15:36:50 +08:00
parent 58697dee64
commit 6a3435a852
6 changed files with 190 additions and 0 deletions

36
pom.xml Normal file
View 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>org.example</groupId>
<artifactId>EnderDragonWars</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.20.6-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,27 @@
package com.yaohun.enderdragonWars;
import com.yaohun.enderdragonWars.game.Game;
import com.yaohun.enderdragonWars.manage.GameManage;
import com.yaohun.enderdragonWars.manage.GiftEffectManager;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
public static Main plugin;
public static GameManage gameManage;
public static Game game;
@Override
public void onEnable() {
plugin = this;
GiftEffectManager.registerAll();
gameManage = new GameManage();
game = new Game();
}
@Override
public void onDisable() {
GiftEffectManager.stopQueue();
}
}

View File

@ -0,0 +1,41 @@
package com.yaohun.enderdragonWars.data;
import com.yaohun.enderdragonWars.util.GameUtil;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
public class GiftData {
private String giftName; // 礼物名
private String event; // 效果名
private int minutes; // 加播或减播
private String sounds; // 自定义音效
public GiftData(String giftName, FileConfiguration yml) {
this.giftName = giftName;
String str = "礼物设置." + giftName + ".";
if (yml.getString(str + "声音") != null) {
this.sounds = yml.getString(str + "声音");
}
this.event = yml.getString(str + "效果");
this.minutes = yml.getInt(str + "加播");
if (this.minutes >= 1) {
Bukkit.getConsoleSender().sendMessage("事件: " + this.event + " 条件: " + giftName + " 加播: +" + minutes + "分钟");
} else {
Bukkit.getConsoleSender().sendMessage("事件: " + this.event + " 条件: " + giftName + " 减播: -" + minutes + "分钟");
}
}
public String getGiftName() {
return giftName;
}
public String getEvent() {
return event;
}
public void OutPlaySoundsEvent() {
if(!sounds.equalsIgnoreCase("NULL")) {
GameUtil.SendAllSounds(sounds);
}
}
}

View File

@ -0,0 +1,44 @@
package com.yaohun.enderdragonWars.manage;
import com.yaohun.enderdragonWars.data.GiftData;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.util.HashMap;
import java.util.LinkedHashMap;
public class GameManage {
private HashMap<String, GiftData> giftDataMap = new HashMap<>();
public GameManage(){
loadGiftData();
}
public void loadGiftData(){
File file = new File("./plugins/游戏设置","礼物设置.yml");
FileConfiguration yml = YamlConfiguration.loadConfiguration(file);
Bukkit.getConsoleSender().sendMessage("[日志 - 末影龙挑战] 事件注册:");
ConfigurationSection section = yml.getConfigurationSection("礼物设置");
if(section == null){
System.out.println("[错误 - 游戏] 礼物设置错误,请检查文件.");
return;
}
for (String giftName : section.getKeys(false)){
giftDataMap.put(giftName,new GiftData(giftName,yml));
}
}
public HashMap<String, GiftData> getGiftDataMap() {
return giftDataMap;
}
public GiftData getGiftData(String giftName){
if(getGiftDataMap().get(giftName) == null){
return null;
}
return getGiftDataMap().get(giftName);
}
}

View File

@ -0,0 +1,37 @@
package com.yaohun.enderdragonWars.util;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Pig;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
public class GameUtil {
public static String HideName(String audience){
if(audience.length() <= 2){
return "**";
}
// 获取第一个和第二个字符
char firstChar = audience.charAt(0);
char lastChar = audience.charAt(audience.length() - 1);
// 构建屏蔽后的字符串
StringBuilder maskedString = new StringBuilder();
for (int i = 1; i < audience.length() - 1; i++) {
maskedString.append('*');
}
return String.valueOf(firstChar) + maskedString + lastChar;
}
public static void SendAllSounds(String sound){
for (Player player : Bukkit.getOnlinePlayers()) {
if (!sound.contains("_")) {
player.playSound(player.getLocation(), sound, 0.5F, 1);
}
}
}
}

View File

@ -0,0 +1,5 @@
name: EnderDragonWars
main:
version: 1.0
commands:
game: