测试版1.0.3
This commit is contained in:
parent
f62e66ad05
commit
5c88e81278
|
@ -4,6 +4,8 @@ import com.yaohun.enderdragonwars.effect.types.*;
|
|||
import com.yaohun.enderdragonwars.game.Game;
|
||||
import com.yaohun.enderdragonwars.listener.GameListener;
|
||||
import com.yaohun.enderdragonwars.listener.PlayerListener;
|
||||
import com.yaohun.enderdragonwars.liveevent.LikeListener;
|
||||
import com.yaohun.enderdragonwars.liveevent.LiveEvent;
|
||||
import com.yaohun.enderdragonwars.manager.GameManager;
|
||||
import com.yaohun.enderdragonwars.manager.GiftEffectManager;
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -27,6 +29,8 @@ public class Main extends JavaPlugin {
|
|||
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new GameListener(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new LiveEvent(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new LikeListener(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -81,6 +81,7 @@ public class Game {
|
|||
if(startd){return;}
|
||||
this.player = player;
|
||||
this.startd = true;
|
||||
this.world = player.getWorld();
|
||||
this.liveTime = 1000 * 60 * 60 * 3; // 默认下播时间 60秒x60分钟x2小时
|
||||
// 添加boss血条
|
||||
updataPlayerData(player);
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
package com.yaohun.enderdragonwars.liveevent;
|
||||
|
||||
import com.yaohun.enderdragonwars.manager.GiftEffectManager;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class GiftEventHandler {
|
||||
|
||||
public static void handlerEffect(Player zhubo, String hideName, String eventName) {
|
||||
if (eventName.equalsIgnoreCase("清空背包")) {
|
||||
GiftEffectManager.addGiftEffect(hideName, eventName);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package com.yaohun.enderdragonwars.liveevent;
|
||||
|
||||
import com.io.yutian.mclive.event.LiveLikeEvents;
|
||||
import com.yaohun.enderdragonwars.Main;
|
||||
import com.yaohun.enderdragonwars.manager.GameManager;
|
||||
import com.yaohun.enderdragonwars.manager.GiftEffectManager;
|
||||
import com.yaohun.enderdragonwars.util.RandomUtil;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class LikeListener implements Listener {
|
||||
@EventHandler//点赞
|
||||
public void onDianZan(LiveLikeEvents e) {
|
||||
Player zhubo = e.getPlayer();
|
||||
String userName = ""+ RandomUtil.getRandomInt(999,10000);
|
||||
if(e.getUser().nickName() != null) {
|
||||
userName = e.getUser().nickName();
|
||||
}
|
||||
long add_amount = e.getCount();
|
||||
GameManager gameManager = Main.gameManager;
|
||||
gameManager.addDianzan_amount((int) add_amount);
|
||||
if (gameManager.getDianzan_amount() >= gameManager.getDianzan_need()) {
|
||||
String eventName_Show = gameManager.getDianzan_event();
|
||||
String title = "§c"+eventName_Show;
|
||||
String subtitle = "§9双击屏幕x"+gameManager.getDianzan_need();
|
||||
zhubo.sendTitle(title, subtitle,10, 30, 10);
|
||||
GiftEffectManager.addGiftEffect(userName,eventName_Show);
|
||||
gameManager.setDianzan_amount(0);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.yaohun.enderdragonwars.liveevent;
|
||||
|
||||
import com.io.yutian.mclive.event.LiveGiftEvents;
|
||||
import com.yaohun.enderdragonwars.Main;
|
||||
import com.yaohun.enderdragonwars.data.GiftData;
|
||||
import com.yaohun.enderdragonwars.manager.GameManager;
|
||||
import com.yaohun.enderdragonwars.manager.GiftEffectManager;
|
||||
import com.yaohun.enderdragonwars.util.GameUtil;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class LiveEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onLive(LiveGiftEvents e){
|
||||
Player zhubo = e.getPlayer();
|
||||
String userName = e.getUser().nickName();
|
||||
boolean butt = false;
|
||||
if(userName != null){
|
||||
userName = e.getUser().nickName();
|
||||
butt = true;
|
||||
}
|
||||
String giftName = e.getName();
|
||||
int giftAmount = (int) e.getAmount();
|
||||
if(giftAmount < 0){
|
||||
giftAmount = 1;
|
||||
}
|
||||
GameManager gameManager = Main.gameManager;
|
||||
if(gameManager.getGiftData(giftName) == null){
|
||||
return;
|
||||
}
|
||||
GiftData giftData = gameManager.getGiftData(giftName);
|
||||
String hideUserName = GameUtil.hideName(userName);
|
||||
String eventName = giftData.getEvent();
|
||||
if(GameUtil.specialGiftEffectTriggers(zhubo,eventName,hideUserName,giftAmount)){
|
||||
return;
|
||||
}
|
||||
String title = "§c" + eventName;
|
||||
if(giftAmount >= 2) {
|
||||
title = "§c" + eventName + " x" + giftAmount;
|
||||
}
|
||||
String subtitle = "§9" + giftName;
|
||||
if(butt) {
|
||||
subtitle = "§9" + hideUserName;
|
||||
}
|
||||
zhubo.sendTitle(title, subtitle,0, 30, 10);
|
||||
if (giftAmount <= 1) {
|
||||
giftData.playSoundEvent();
|
||||
GiftEffectManager.addGiftEffect(hideUserName, eventName);
|
||||
} else {
|
||||
long dadey = 5L;
|
||||
for (int i = 0; i < giftAmount; i++) {
|
||||
Bukkit.getScheduler().runTaskLater(Main.plugin, () -> {
|
||||
giftData.playSoundEvent();
|
||||
GiftEffectManager.addGiftEffect(hideUserName, eventName);
|
||||
}, (long) i * dadey);
|
||||
}
|
||||
}
|
||||
for (Player player : Bukkit.getOnlinePlayers()){
|
||||
player.sendMessage("§a礼物: §e"+ hideUserName+" §d送来了 §e"+giftName+"x"+giftAmount);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,6 +12,9 @@ import java.util.Map;
|
|||
|
||||
public class GameManager {
|
||||
|
||||
private int dianzan = 0;
|
||||
private int dianzanNeed;
|
||||
private String eventName;
|
||||
private Map<String, GiftData> giftDataMap = new HashMap<>();
|
||||
|
||||
public GameManager() {
|
||||
|
@ -22,6 +25,15 @@ public class GameManager {
|
|||
File file = new File("./plugins/游戏设置", "礼物设置.yml");
|
||||
FileConfiguration yml = YamlConfiguration.loadConfiguration(file);
|
||||
Bukkit.getConsoleSender().sendMessage("[日志 - 末影龙挑战] 事件注册:");
|
||||
this.dianzanNeed = 100;
|
||||
if(yml.getInt("点赞整蛊.点赞次数") >= 1){
|
||||
this.dianzanNeed = yml.getInt("点赞整蛊.点赞次数");
|
||||
}
|
||||
this.eventName = "怪物来袭";
|
||||
if(yml.getString("点赞整蛊.效果") != null){
|
||||
this.eventName = yml.getString("点赞整蛊.效果");
|
||||
}
|
||||
Bukkit.getConsoleSender().sendMessage("事件: "+this.getDianzan_event()+" 条件: 点赞x"+this.getDianzan_need());
|
||||
ConfigurationSection section = yml.getConfigurationSection("礼物设置");
|
||||
if (section == null) {
|
||||
System.out.println("[错误 - 游戏] 礼物设置错误,请检查文件.");
|
||||
|
@ -42,4 +54,21 @@ public class GameManager {
|
|||
}
|
||||
return getGiftDataMap().get(giftName);
|
||||
}
|
||||
|
||||
public int getDianzan_need() {
|
||||
return this.dianzanNeed;
|
||||
}
|
||||
|
||||
public String getDianzan_event() {
|
||||
return this.eventName;
|
||||
}
|
||||
public int getDianzan_amount() {
|
||||
return dianzan;
|
||||
}
|
||||
public void addDianzan_amount(int add_amount){
|
||||
setDianzan_amount(getDianzan_amount()+add_amount);
|
||||
}
|
||||
public void setDianzan_amount(int dianzan_amount) {
|
||||
this.dianzan = dianzan_amount;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,4 +25,22 @@ public class GameUtil {
|
|||
}
|
||||
}
|
||||
}
|
||||
public static boolean specialGiftEffectTriggers(Player player,String eventName,String show_userName,int amount) {
|
||||
if (eventName.contains("盲盒")) {
|
||||
if (eventName.contains("#")) {
|
||||
String s1 = "love";
|
||||
String s2 = "000304";
|
||||
String box = s1 + "-" + s2 + "-" + eventName.split("#")[1];
|
||||
if (eventName.contains("X")) {
|
||||
amount = Integer.parseInt(eventName.split("X")[1]);
|
||||
}
|
||||
// RBoxAPI.addUserData(player, show_userName, box, amount);
|
||||
} else {
|
||||
System.out.println("[错误 - 盲盒] 随机盲盒在礼物设置中配置错误.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
package com.yaohun.enderdragonwars.util;
|
||||
|
||||
import com.yaohun.enderdragonwars.Main;
|
||||
import com.yaohun.enderdragonwars.data.GiftData;
|
||||
import com.yaohun.enderdragonwars.liveevent.GiftEventHandler;
|
||||
import com.yaohun.enderdragonwars.manager.GameManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class GiftUtil {
|
||||
|
||||
// 执行礼物效果
|
||||
public static void executeGiftEffect(Player zhubo, String userName, String giftName, int giftAmount) {
|
||||
GameManager gameManage = Main.gameManager;
|
||||
if (gameManage.getGiftData(giftName) == null) {
|
||||
zhubo.sendMessage("§c[系统]§a礼物 " + giftName + " 的未设置任何礼物效果.");
|
||||
return;
|
||||
}
|
||||
GiftData giftData = gameManage.getGiftData(giftName);
|
||||
String hideName = GameUtil.hideName(userName);
|
||||
String eventName = giftData.getEvent();
|
||||
if (giftAmount <= 1) {
|
||||
giftData.playSoundEvent();
|
||||
GiftEventHandler.handlerEffect(zhubo, userName, eventName);
|
||||
} else {
|
||||
long dadey = 5L;
|
||||
for (int i = 0; i < giftAmount; i++) {
|
||||
Bukkit.getScheduler().runTaskLater(Main.plugin, () -> {
|
||||
giftData.playSoundEvent();
|
||||
GiftEventHandler.handlerEffect(zhubo, userName, eventName);
|
||||
}, (long) i * dadey);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user