mirror of
https://github.com/ColdeZhang/Dominion.git
synced 2024-10-19 03:26:40 +08:00
实现了基础功能的测试
This commit is contained in:
parent
517426304a
commit
f6c9cb53ee
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>cn.lunadeer</groupId>
|
<groupId>cn.lunadeer</groupId>
|
||||||
<artifactId>Dominion</artifactId>
|
<artifactId>Dominion</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.0-beta</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Dominion</name>
|
<name>Dominion</name>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cn.lunadeer.dominion;
|
package cn.lunadeer.dominion;
|
||||||
|
|
||||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||||
|
import cn.lunadeer.dominion.utils.XLogger;
|
||||||
import com.flowpowered.math.vector.Vector2d;
|
import com.flowpowered.math.vector.Vector2d;
|
||||||
import de.bluecolored.bluemap.api.BlueMapAPI;
|
import de.bluecolored.bluemap.api.BlueMapAPI;
|
||||||
import de.bluecolored.bluemap.api.BlueMapMap;
|
import de.bluecolored.bluemap.api.BlueMapMap;
|
||||||
@ -19,14 +20,16 @@ public class BlueMapConnect {
|
|||||||
if (!Dominion.config.getBlueMap()) {
|
if (!Dominion.config.getBlueMap()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
BlueMapAPI.getInstance().ifPresent(api -> {
|
BlueMapAPI.getInstance().ifPresent(api -> {
|
||||||
for (Map.Entry<String, List<DominionDTO>> world_dominions : Cache.instance.getWorldDominions().entrySet()) {
|
for (Map.Entry<String, List<Integer>> world_dominions : Cache.instance.getWorldDominions().entrySet()) {
|
||||||
api.getWorld(world_dominions.getKey()).ifPresent(world -> {
|
api.getWorld(world_dominions.getKey()).ifPresent(world -> {
|
||||||
MarkerSet markerSet = MarkerSet.builder()
|
MarkerSet markerSet = MarkerSet.builder()
|
||||||
.label("Dominion")
|
.label("Dominion")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
for (DominionDTO dominion : world_dominions.getValue()) {
|
for (Integer id : world_dominions.getValue()) {
|
||||||
|
DominionDTO dominion = Cache.instance.getDominion(id);
|
||||||
Collection<Vector2d> vectors = new ArrayList<>();
|
Collection<Vector2d> vectors = new ArrayList<>();
|
||||||
vectors.add(new Vector2d(dominion.getX1(), dominion.getZ1()));
|
vectors.add(new Vector2d(dominion.getX1(), dominion.getZ1()));
|
||||||
vectors.add(new Vector2d(dominion.getX2(), dominion.getZ1()));
|
vectors.add(new Vector2d(dominion.getX2(), dominion.getZ1()));
|
||||||
@ -60,5 +63,9 @@ public class BlueMapConnect {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} catch (NoClassDefFoundError e) {
|
||||||
|
XLogger.warn("无法连接 BlueMap 插件,如果你不打算使用卫星地图渲染建议前往配置文件关闭此功能以避免下方的报错。");
|
||||||
|
XLogger.err(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,13 +22,15 @@ public class Cache {
|
|||||||
* 从数据库加载所有领地
|
* 从数据库加载所有领地
|
||||||
*/
|
*/
|
||||||
public void loadDominions() {
|
public void loadDominions() {
|
||||||
|
id_dominions = new HashMap<>();
|
||||||
world_dominions = new HashMap<>();
|
world_dominions = new HashMap<>();
|
||||||
List<DominionDTO> dominions = DominionDTO.selectAll();
|
List<DominionDTO> dominions = DominionDTO.selectAll();
|
||||||
for (DominionDTO d : dominions) {
|
for (DominionDTO d : dominions) {
|
||||||
|
id_dominions.put(d.getId(), d);
|
||||||
if (!world_dominions.containsKey(d.getWorld())) {
|
if (!world_dominions.containsKey(d.getWorld())) {
|
||||||
world_dominions.put(d.getWorld(), new ArrayList<>());
|
world_dominions.put(d.getWorld(), new ArrayList<>());
|
||||||
}
|
}
|
||||||
world_dominions.get(d.getWorld()).add(d);
|
world_dominions.get(d.getWorld()).add(d.getId());
|
||||||
}
|
}
|
||||||
BlueMapConnect.render();
|
BlueMapConnect.render();
|
||||||
}
|
}
|
||||||
@ -37,7 +39,6 @@ public class Cache {
|
|||||||
* 从数据库加载所有玩家特权
|
* 从数据库加载所有玩家特权
|
||||||
*/
|
*/
|
||||||
public void loadPlayerPrivileges() {
|
public void loadPlayerPrivileges() {
|
||||||
player_current_dominion = new HashMap<>();
|
|
||||||
List<PlayerPrivilegeDTO> all_privileges = PlayerPrivilegeDTO.selectAll();
|
List<PlayerPrivilegeDTO> all_privileges = PlayerPrivilegeDTO.selectAll();
|
||||||
if (all_privileges == null) {
|
if (all_privileges == null) {
|
||||||
XLogger.err("加载玩家特权失败");
|
XLogger.err("加载玩家特权失败");
|
||||||
@ -63,13 +64,12 @@ public class Cache {
|
|||||||
* @return 玩家当前所在领地
|
* @return 玩家当前所在领地
|
||||||
*/
|
*/
|
||||||
public DominionDTO getPlayerCurrentDominion(Player player) {
|
public DominionDTO getPlayerCurrentDominion(Player player) {
|
||||||
DominionDTO dominion = player_current_dominion.get(player.getUniqueId());
|
Integer dominion_id = player_current_dominion.get(player.getUniqueId());
|
||||||
|
DominionDTO dominion = id_dominions.get(dominion_id);
|
||||||
if (dominion != null) {
|
if (dominion != null) {
|
||||||
if (!isInDominion(dominion, player)) {
|
if (!isInDominion(dominion, player)) {
|
||||||
// glow
|
// glow
|
||||||
if (player.isGlowing()) {
|
|
||||||
player.setGlowing(false);
|
player.setGlowing(false);
|
||||||
}
|
|
||||||
Notification.info(player, "您已离开领地:" + dominion.getName());
|
Notification.info(player, "您已离开领地:" + dominion.getName());
|
||||||
Notification.info(player, dominion.getLeaveMessage());
|
Notification.info(player, dominion.getLeaveMessage());
|
||||||
player_current_dominion.put(player.getUniqueId(), null);
|
player_current_dominion.put(player.getUniqueId(), null);
|
||||||
@ -78,10 +78,11 @@ public class Cache {
|
|||||||
}
|
}
|
||||||
if (dominion == null) {
|
if (dominion == null) {
|
||||||
String world = player.getWorld().getName();
|
String world = player.getWorld().getName();
|
||||||
List<DominionDTO> dominions = world_dominions.get(world);
|
List<Integer> dominions_id = world_dominions.get(world);
|
||||||
if (dominions == null) return null;
|
if (dominions_id == null) return null;
|
||||||
List<DominionDTO> in_dominions = new ArrayList<>();
|
List<DominionDTO> in_dominions = new ArrayList<>();
|
||||||
for (DominionDTO d : dominions) {
|
for (Integer id : dominions_id) {
|
||||||
|
DominionDTO d = id_dominions.get(id);
|
||||||
if (isInDominion(d, player)) {
|
if (isInDominion(d, player)) {
|
||||||
in_dominions.add(d);
|
in_dominions.add(d);
|
||||||
}
|
}
|
||||||
@ -89,22 +90,18 @@ public class Cache {
|
|||||||
if (in_dominions.size() == 0) return null;
|
if (in_dominions.size() == 0) return null;
|
||||||
in_dominions.sort(Comparator.comparingInt(DominionDTO::getId));
|
in_dominions.sort(Comparator.comparingInt(DominionDTO::getId));
|
||||||
dominion = in_dominions.get(in_dominions.size() - 1);
|
dominion = in_dominions.get(in_dominions.size() - 1);
|
||||||
player_current_dominion.put(player.getUniqueId(), dominion);
|
player_current_dominion.put(player.getUniqueId(), dominion.getId());
|
||||||
// glow
|
// glow
|
||||||
PlayerPrivilegeDTO privilege = getPlayerPrivilege(player, dominion);
|
PlayerPrivilegeDTO privilege = getPlayerPrivilege(player, dominion);
|
||||||
if (privilege != null) {
|
if (privilege != null) {
|
||||||
if (privilege.getGlow()) {
|
if (privilege.getGlow()) {
|
||||||
if (player.isGlowing()) {
|
|
||||||
player.setGlowing(true);
|
player.setGlowing(true);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (dominion.getGlow()) {
|
if (dominion.getGlow()) {
|
||||||
if (player.isGlowing()) {
|
|
||||||
player.setGlowing(true);
|
player.setGlowing(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
Notification.info(player, "您正在进入领地:" + dominion.getName());
|
Notification.info(player, "您正在进入领地:" + dominion.getName());
|
||||||
Notification.info(player, dominion.getJoinMessage());
|
Notification.info(player, dominion.getJoinMessage());
|
||||||
}
|
}
|
||||||
@ -113,10 +110,11 @@ public class Cache {
|
|||||||
|
|
||||||
public DominionDTO getDominion(Location loc) {
|
public DominionDTO getDominion(Location loc) {
|
||||||
String world = loc.getWorld().getName();
|
String world = loc.getWorld().getName();
|
||||||
List<DominionDTO> dominions = world_dominions.get(world);
|
List<Integer> dominions_id = world_dominions.get(world);
|
||||||
if (dominions == null) return null;
|
if (dominions_id == null) return null;
|
||||||
List<DominionDTO> in_dominions = new ArrayList<>();
|
List<DominionDTO> in_dominions = new ArrayList<>();
|
||||||
for (DominionDTO d : dominions) {
|
for (Integer id : dominions_id) {
|
||||||
|
DominionDTO d = id_dominions.get(id);
|
||||||
if (isInDominion(d, loc.getX(), loc.getY(), loc.getZ())) {
|
if (isInDominion(d, loc.getX(), loc.getY(), loc.getZ())) {
|
||||||
in_dominions.add(d);
|
in_dominions.add(d);
|
||||||
}
|
}
|
||||||
@ -156,12 +154,17 @@ public class Cache {
|
|||||||
z >= dominion.getZ1() && z <= dominion.getZ2();
|
z >= dominion.getZ1() && z <= dominion.getZ2();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, List<DominionDTO>> getWorldDominions() {
|
public Map<String, List<Integer>> getWorldDominions() {
|
||||||
return world_dominions;
|
return world_dominions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DominionDTO getDominion(Integer id) {
|
||||||
|
return id_dominions.get(id);
|
||||||
|
}
|
||||||
|
|
||||||
public static Cache instance;
|
public static Cache instance;
|
||||||
private Map<String, List<DominionDTO>> world_dominions; // 所有领地
|
private Map<Integer, DominionDTO> id_dominions;
|
||||||
|
private Map<String, List<Integer>> world_dominions; // 所有领地
|
||||||
private Map<UUID, Map<Integer, PlayerPrivilegeDTO>> player_uuid_to_privilege; // 玩家所有的特权
|
private Map<UUID, Map<Integer, PlayerPrivilegeDTO>> player_uuid_to_privilege; // 玩家所有的特权
|
||||||
private Map<UUID, DominionDTO> player_current_dominion; // 玩家当前所在领地
|
private Map<UUID, Integer> player_current_dominion; // 玩家当前所在领地
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ public class FlagsController {
|
|||||||
case "hook": return dominion.setHook(value);
|
case "hook": return dominion.setHook(value);
|
||||||
case "ignite": return dominion.setIgnite(value);
|
case "ignite": return dominion.setIgnite(value);
|
||||||
case "lever": return dominion.setLever(value);
|
case "lever": return dominion.setLever(value);
|
||||||
case "mob_killing": return dominion.setMonsterKilling(value);
|
case "monster_killing": return dominion.setMonsterKilling(value);
|
||||||
case "move": return dominion.setMove(value);
|
case "move": return dominion.setMove(value);
|
||||||
case "place": return dominion.setPlace(value);
|
case "place": return dominion.setPlace(value);
|
||||||
case "pressure": return dominion.setPressure(value);
|
case "pressure": return dominion.setPressure(value);
|
||||||
|
@ -161,7 +161,7 @@ public class PrivilegeController {
|
|||||||
case "ignite":
|
case "ignite":
|
||||||
privilege.setIgnite(value);
|
privilege.setIgnite(value);
|
||||||
break;
|
break;
|
||||||
case "mob_killing":
|
case "monster_killing":
|
||||||
privilege.setMonsterKilling(value);
|
privilege.setMonsterKilling(value);
|
||||||
break;
|
break;
|
||||||
case "move":
|
case "move":
|
||||||
|
@ -7,6 +7,9 @@ import org.bukkit.entity.Player;
|
|||||||
|
|
||||||
public class Apis {
|
public class Apis {
|
||||||
public static boolean hasPermission(Player player, DominionDTO dom) {
|
public static boolean hasPermission(Player player, DominionDTO dom) {
|
||||||
|
if (player.isOp()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,13 @@ import cn.lunadeer.dominion.dtos.PlayerPrivilegeDTO;
|
|||||||
import cn.lunadeer.dominion.utils.Notification;
|
import cn.lunadeer.dominion.utils.Notification;
|
||||||
import io.papermc.paper.event.entity.EntityDyeEvent;
|
import io.papermc.paper.event.entity.EntityDyeEvent;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.*;
|
import org.bukkit.entity.*;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.BlockBreakEvent;
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.block.BlockDropItemEvent;
|
||||||
import org.bukkit.event.block.BlockIgniteEvent;
|
import org.bukkit.event.block.BlockIgniteEvent;
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
@ -19,6 +21,7 @@ import org.bukkit.event.entity.ProjectileLaunchEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
|
import org.bukkit.event.vehicle.VehicleDestroyEvent;
|
||||||
import org.spigotmc.event.entity.EntityMountEvent;
|
import org.spigotmc.event.entity.EntityMountEvent;
|
||||||
|
|
||||||
public class PlayerEvents implements Listener {
|
public class PlayerEvents implements Listener {
|
||||||
@ -348,7 +351,7 @@ public class PlayerEvents implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // craft
|
@EventHandler(priority = EventPriority.HIGHEST) // craft
|
||||||
public void onCraft(InventoryOpenEvent event) {
|
public void onCraft(InventoryOpenEvent event) {
|
||||||
if (event.getInventory().getType() != InventoryType.CRAFTING) {
|
if (event.getInventory().getType() != InventoryType.WORKBENCH) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!(event.getPlayer() instanceof Player)) {
|
if (!(event.getPlayer() instanceof Player)) {
|
||||||
@ -474,11 +477,10 @@ public class PlayerEvents implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // dye
|
@EventHandler(priority = EventPriority.HIGHEST) // dye
|
||||||
public void dyeEvent(EntityDyeEvent event) {
|
public void dyeEvent(EntityDyeEvent event) {
|
||||||
Entity entity = event.getEntity();
|
Player player = event.getPlayer();
|
||||||
if (!(entity instanceof Player)) {
|
if (player == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player player = (Player) entity;
|
|
||||||
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
@ -618,7 +620,26 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // harvest
|
@EventHandler(priority = EventPriority.HIGHEST) // harvest
|
||||||
public void onHarvest(PlayerHarvestBlockEvent event) {
|
public void onHarvest(BlockBreakEvent event) {
|
||||||
|
Block block = event.getBlock();
|
||||||
|
if (block.getType() != Material.COCOA &&
|
||||||
|
block.getType() != Material.WHEAT &&
|
||||||
|
block.getType() != Material.CARROTS &&
|
||||||
|
block.getType() != Material.POTATOES &&
|
||||||
|
block.getType() != Material.BEETROOTS &&
|
||||||
|
block.getType() != Material.NETHER_WART &&
|
||||||
|
block.getType() != Material.SWEET_BERRY_BUSH &&
|
||||||
|
block.getType() != Material.MELON &&
|
||||||
|
block.getType() != Material.PUMPKIN &&
|
||||||
|
block.getType() != Material.SUGAR_CANE &&
|
||||||
|
block.getType() != Material.BAMBOO &&
|
||||||
|
block.getType() != Material.CACTUS &&
|
||||||
|
block.getType() != Material.CHORUS_PLANT &&
|
||||||
|
block.getType() != Material.CHORUS_FLOWER &&
|
||||||
|
block.getType() != Material.KELP &&
|
||||||
|
block.getType() != Material.KELP_PLANT) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
@ -720,6 +741,7 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Notification.error(player, "你没有点火的权限");
|
Notification.error(player, "你没有点火的权限");
|
||||||
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // lever
|
@EventHandler(priority = EventPriority.HIGHEST) // lever
|
||||||
@ -785,7 +807,7 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // move
|
@EventHandler(priority = EventPriority.HIGHEST) // move
|
||||||
public void onPlayerMove(PlayerMoveEvent event){
|
public void onPlayerMove(PlayerMoveEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
@ -809,7 +831,7 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // place
|
@EventHandler(priority = EventPriority.HIGHEST) // place
|
||||||
public void onPlace(BlockPlaceEvent event){
|
public void onPlace(BlockPlaceEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
@ -829,6 +851,7 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Notification.error(player, "你没有放置方块的权限");
|
Notification.error(player, "你没有放置方块的权限");
|
||||||
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // pressure
|
@EventHandler(priority = EventPriority.HIGHEST) // pressure
|
||||||
@ -955,6 +978,7 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Notification.error(player, "你没有剪羊毛的权限");
|
Notification.error(player, "你没有剪羊毛的权限");
|
||||||
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // shoot
|
@EventHandler(priority = EventPriority.HIGHEST) // shoot
|
||||||
@ -962,7 +986,9 @@ public class PlayerEvents implements Listener {
|
|||||||
if (!(event.getEntity().getShooter() instanceof Player)) {
|
if (!(event.getEntity().getShooter() instanceof Player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (event.getEntity().getType() != EntityType.ARROW && event.getEntity().getType() != EntityType.SNOWBALL) {
|
if (event.getEntity().getType() != EntityType.ARROW &&
|
||||||
|
event.getEntity().getType() != EntityType.SNOWBALL &&
|
||||||
|
event.getEntity().getType() != EntityType.TRIDENT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Player player = (Player) event.getEntity().getShooter();
|
Player player = (Player) event.getEntity().getShooter();
|
||||||
@ -983,7 +1009,7 @@ public class PlayerEvents implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Notification.error(player, "你没有发射弓箭或雪球的权限");
|
Notification.error(player, "你没有发射弓箭、三叉戟或雪球的权限");
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1018,14 +1044,11 @@ public class PlayerEvents implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // vehicle_destroy
|
@EventHandler(priority = EventPriority.HIGHEST) // vehicle_destroy
|
||||||
public void onVehicleDestroy(EntityDamageByEntityEvent event) {
|
public void onVehicleDestroy(VehicleDestroyEvent event) {
|
||||||
if (!(event.getDamager() instanceof Player)) {
|
if (!(event.getAttacker() instanceof Player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!(event.getEntity() instanceof Vehicle)) {
|
Player player = (Player) event.getAttacker();
|
||||||
return;
|
|
||||||
}
|
|
||||||
Player player = (Player) event.getDamager();
|
|
||||||
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
DominionDTO dom = Cache.instance.getPlayerCurrentDominion(player);
|
||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -140,11 +140,11 @@ public class DominionFlagInfo {
|
|||||||
if (dominion.getCreeperExplode()) {
|
if (dominion.getCreeperExplode()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createGreen("☑", "/dominion set creeper_explode false " + dominion.getName() + " " + page))
|
.append(Button.createGreen("☑", "/dominion set creeper_explode false " + dominion.getName() + " " + page))
|
||||||
.append("苦力怕爆炸"));
|
.append("苦力怕/凋零头颅爆炸"));
|
||||||
} else {
|
} else {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createRed("☐", "/dominion set creeper_explode true " + dominion.getName() + " " + page))
|
.append(Button.createRed("☐", "/dominion set creeper_explode true " + dominion.getName() + " " + page))
|
||||||
.append("苦力怕爆炸"));
|
.append("苦力怕/凋零头颅爆炸"));
|
||||||
}
|
}
|
||||||
if (dominion.getComparer()){
|
if (dominion.getComparer()){
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
@ -347,11 +347,11 @@ public class DominionFlagInfo {
|
|||||||
if (dominion.getShoot()) {
|
if (dominion.getShoot()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createGreen("☑", "/dominion set shoot false " + dominion.getName() + " " + page))
|
.append(Button.createGreen("☑", "/dominion set shoot false " + dominion.getName() + " " + page))
|
||||||
.append("射箭/雪球"));
|
.append("射箭/雪球/三叉戟"));
|
||||||
} else {
|
} else {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createRed("☐", "/dominion set shoot true " + dominion.getName() + " " + page))
|
.append(Button.createRed("☐", "/dominion set shoot true " + dominion.getName() + " " + page))
|
||||||
.append("射箭/雪球"));
|
.append("射箭/雪球/三叉戟"));
|
||||||
}
|
}
|
||||||
if (dominion.getTntExplode()) {
|
if (dominion.getTntExplode()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
|
@ -335,11 +335,11 @@ public class PrivilegeInfo {
|
|||||||
if (privilege.getShoot()) {
|
if (privilege.getShoot()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createGreen("☑", "/dominion set_privilege " + playerName + " shoot false " + dominion.getName() + " " + page))
|
.append(Button.createGreen("☑", "/dominion set_privilege " + playerName + " shoot false " + dominion.getName() + " " + page))
|
||||||
.append("射箭/雪球"));
|
.append("射箭/雪球/三叉戟"));
|
||||||
} else {
|
} else {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createRed("☐", "/dominion set_privilege " + playerName + " shoot true " + dominion.getName() + " " + page))
|
.append(Button.createRed("☐", "/dominion set_privilege " + playerName + " shoot true " + dominion.getName() + " " + page))
|
||||||
.append("射箭/雪球"));
|
.append("射箭/雪球/三叉戟"));
|
||||||
}
|
}
|
||||||
if (privilege.getTrade()) {
|
if (privilege.getTrade()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
|
Loading…
Reference in New Issue
Block a user