mirror of
https://github.com/ColdeZhang/Dominion.git
synced 2024-10-19 04:46:40 +08:00
重写权限框架
This commit is contained in:
parent
1e79169926
commit
ad69690e09
@ -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.dtos.Flag;
|
||||||
import cn.lunadeer.dominion.dtos.PlayerPrivilegeDTO;
|
import cn.lunadeer.dominion.dtos.PlayerPrivilegeDTO;
|
||||||
import cn.lunadeer.minecraftpluginutils.ParticleRender;
|
import cn.lunadeer.minecraftpluginutils.ParticleRender;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
@ -165,7 +166,7 @@ public class Cache {
|
|||||||
}
|
}
|
||||||
player_current_dominion_id.put(player.getUniqueId(), dominion.getId());
|
player_current_dominion_id.put(player.getUniqueId(), dominion.getId());
|
||||||
// show border
|
// show border
|
||||||
if (dominion.getShowBorder()) {
|
if (dominion.getFlagValue(Flag.SHOW_BORDER)) {
|
||||||
ParticleRender.showBoxFace(Dominion.instance, player,
|
ParticleRender.showBoxFace(Dominion.instance, player,
|
||||||
dominion.getLocation1(),
|
dominion.getLocation1(),
|
||||||
dominion.getLocation2());
|
dominion.getLocation2());
|
||||||
@ -187,7 +188,7 @@ public class Cache {
|
|||||||
if (privilege != null) {
|
if (privilege != null) {
|
||||||
player.setGlowing(privilege.getGlow());
|
player.setGlowing(privilege.getGlow());
|
||||||
} else {
|
} else {
|
||||||
player.setGlowing(dominion.getGlow());
|
player.setGlowing(dominion.getFlagValue(Flag.GLOW));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package cn.lunadeer.dominion.controllers;
|
|||||||
|
|
||||||
import cn.lunadeer.dominion.Dominion;
|
import cn.lunadeer.dominion.Dominion;
|
||||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||||
|
import cn.lunadeer.dominion.dtos.Flag;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import static cn.lunadeer.dominion.controllers.Apis.noAuthToChangeFlags;
|
import static cn.lunadeer.dominion.controllers.Apis.noAuthToChangeFlags;
|
||||||
@ -38,102 +39,11 @@ public class FlagsController {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (noAuthToChangeFlags(operator, dominion)) return null;
|
if (noAuthToChangeFlags(operator, dominion)) return null;
|
||||||
switch (flag) {
|
Flag f = Flag.getFlag(flag);
|
||||||
case "anchor":
|
if (f == null) {
|
||||||
return dominion.setAnchor(value);
|
|
||||||
case "animal_killing":
|
|
||||||
return dominion.setAnimalKilling(value);
|
|
||||||
case "anvil":
|
|
||||||
return dominion.setAnvil(value);
|
|
||||||
case "beacon":
|
|
||||||
return dominion.setBeacon(value);
|
|
||||||
case "bed":
|
|
||||||
return dominion.setBed(value);
|
|
||||||
case "brew":
|
|
||||||
return dominion.setBrew(value);
|
|
||||||
case "break":
|
|
||||||
return dominion.setBreak(value);
|
|
||||||
case "button":
|
|
||||||
return dominion.setButton(value);
|
|
||||||
case "cake":
|
|
||||||
return dominion.setCake(value);
|
|
||||||
case "container":
|
|
||||||
return dominion.setContainer(value);
|
|
||||||
case "craft":
|
|
||||||
return dominion.setCraft(value);
|
|
||||||
case "creeper_explode":
|
|
||||||
return dominion.setCreeperExplode(value);
|
|
||||||
case "comparer":
|
|
||||||
return dominion.setComparer(value);
|
|
||||||
case "door":
|
|
||||||
return dominion.setDoor(value);
|
|
||||||
case "dye":
|
|
||||||
return dominion.setDye(value);
|
|
||||||
case "egg":
|
|
||||||
return dominion.setEgg(value);
|
|
||||||
case "enchant":
|
|
||||||
return dominion.setEnchant(value);
|
|
||||||
case "ender_man":
|
|
||||||
return dominion.setEnderMan(value);
|
|
||||||
case "ender_pearl":
|
|
||||||
return dominion.setEnderPearl(value);
|
|
||||||
case "feed":
|
|
||||||
return dominion.setFeed(value);
|
|
||||||
case "fire_spread":
|
|
||||||
return dominion.setFireSpread(value);
|
|
||||||
case "flow_in_protection":
|
|
||||||
return dominion.setFlowInProtection(value);
|
|
||||||
case "glow":
|
|
||||||
return dominion.setGlow(value);
|
|
||||||
case "harvest":
|
|
||||||
return dominion.setHarvest(value);
|
|
||||||
case "honey":
|
|
||||||
return dominion.setHoney(value);
|
|
||||||
case "hook":
|
|
||||||
return dominion.setHook(value);
|
|
||||||
case "hopper":
|
|
||||||
return dominion.setHopper(value);
|
|
||||||
case "ignite":
|
|
||||||
return dominion.setIgnite(value);
|
|
||||||
case "lever":
|
|
||||||
return dominion.setLever(value);
|
|
||||||
case "mob_drop_item":
|
|
||||||
return dominion.setMobDropItem(value);
|
|
||||||
case "monster_killing":
|
|
||||||
return dominion.setMonsterKilling(value);
|
|
||||||
case "move":
|
|
||||||
return dominion.setMove(value);
|
|
||||||
case "place":
|
|
||||||
return dominion.setPlace(value);
|
|
||||||
case "pressure":
|
|
||||||
return dominion.setPressure(value);
|
|
||||||
case "riding":
|
|
||||||
return dominion.setRiding(value);
|
|
||||||
case "repeater":
|
|
||||||
return dominion.setRepeater(value);
|
|
||||||
case "shear":
|
|
||||||
return dominion.setShear(value);
|
|
||||||
case "shoot":
|
|
||||||
return dominion.setShoot(value);
|
|
||||||
case "show_border":
|
|
||||||
return dominion.setShowBorder(value);
|
|
||||||
case "teleport":
|
|
||||||
return dominion.setTeleport(value);
|
|
||||||
case "tnt_explode":
|
|
||||||
return dominion.setTntExplode(value);
|
|
||||||
case "trade":
|
|
||||||
return dominion.setTrade(value);
|
|
||||||
case "trample":
|
|
||||||
return dominion.setTrample(value);
|
|
||||||
case "vehicle_destroy":
|
|
||||||
return dominion.setVehicleDestroy(value);
|
|
||||||
case "vehicle_spawn":
|
|
||||||
return dominion.setVehicleSpawn(value);
|
|
||||||
case "wither_spawn":
|
|
||||||
return dominion.setWitherSpawn(value);
|
|
||||||
default:
|
|
||||||
Dominion.notification.error(operator, "未知的领地权限 %s", flag);
|
Dominion.notification.error(operator, "未知的领地权限 %s", flag);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return dominion.setFlagValue(f, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,9 @@ import org.bukkit.World;
|
|||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class DominionDTO {
|
public class DominionDTO {
|
||||||
|
|
||||||
private static List<DominionDTO> query(String sql, Object... args) {
|
private static List<DominionDTO> query(String sql, Object... args) {
|
||||||
List<DominionDTO> dominions = new ArrayList<>();
|
List<DominionDTO> dominions = new ArrayList<>();
|
||||||
try (ResultSet rs = Dominion.database.query(sql, args)) {
|
try (ResultSet rs = Dominion.database.query(sql, args)) {
|
||||||
@ -35,55 +31,15 @@ public class DominionDTO {
|
|||||||
Integer z2 = rs.getInt("z2");
|
Integer z2 = rs.getInt("z2");
|
||||||
Integer parentDomId = rs.getInt("parent_dom_id");
|
Integer parentDomId = rs.getInt("parent_dom_id");
|
||||||
String tp_location = rs.getString("tp_location");
|
String tp_location = rs.getString("tp_location");
|
||||||
|
Map<Flag, Boolean> flags = new HashMap<>();
|
||||||
|
for (Flag f : Flag.getDominionFlags()) {
|
||||||
|
flags.put(f, rs.getBoolean(f.getFlagName()));
|
||||||
|
}
|
||||||
|
|
||||||
DominionDTO dominion = new DominionDTO(id, owner, name, world, x1, y1, z1, x2, y2, z2, parentDomId,
|
DominionDTO dominion = new DominionDTO(id, owner, name, world, x1, y1, z1, x2, y2, z2, parentDomId,
|
||||||
rs.getString("join_message"),
|
rs.getString("join_message"),
|
||||||
rs.getString("leave_message"),
|
rs.getString("leave_message"),
|
||||||
rs.getBoolean("anchor"),
|
flags,
|
||||||
rs.getBoolean("animal_killing"),
|
|
||||||
rs.getBoolean("anvil"),
|
|
||||||
rs.getBoolean("beacon"),
|
|
||||||
rs.getBoolean("bed"),
|
|
||||||
rs.getBoolean("brew"),
|
|
||||||
rs.getBoolean("break"),
|
|
||||||
rs.getBoolean("button"),
|
|
||||||
rs.getBoolean("cake"),
|
|
||||||
rs.getBoolean("container"),
|
|
||||||
rs.getBoolean("craft"),
|
|
||||||
rs.getBoolean("creeper_explode"),
|
|
||||||
rs.getBoolean("comparer"),
|
|
||||||
rs.getBoolean("door"),
|
|
||||||
rs.getBoolean("dye"),
|
|
||||||
rs.getBoolean("egg"),
|
|
||||||
rs.getBoolean("enchant"),
|
|
||||||
rs.getBoolean("ender_man"),
|
|
||||||
rs.getBoolean("ender_pearl"),
|
|
||||||
rs.getBoolean("feed"),
|
|
||||||
rs.getBoolean("fire_spread"),
|
|
||||||
rs.getBoolean("flow_in_protection"),
|
|
||||||
rs.getBoolean("glow"),
|
|
||||||
rs.getBoolean("harvest"),
|
|
||||||
rs.getBoolean("honey"),
|
|
||||||
rs.getBoolean("hook"),
|
|
||||||
rs.getBoolean("hopper"),
|
|
||||||
rs.getBoolean("ignite"),
|
|
||||||
rs.getBoolean("lever"),
|
|
||||||
rs.getBoolean("mob_drop_item"),
|
|
||||||
rs.getBoolean("monster_killing"),
|
|
||||||
rs.getBoolean("move"),
|
|
||||||
rs.getBoolean("place"),
|
|
||||||
rs.getBoolean("pressure"),
|
|
||||||
rs.getBoolean("riding"),
|
|
||||||
rs.getBoolean("repeater"),
|
|
||||||
rs.getBoolean("shear"),
|
|
||||||
rs.getBoolean("shoot"),
|
|
||||||
rs.getBoolean("show_border"),
|
|
||||||
rs.getBoolean("teleport"),
|
|
||||||
rs.getBoolean("tnt_explode"),
|
|
||||||
rs.getBoolean("trade"),
|
|
||||||
rs.getBoolean("trample"),
|
|
||||||
rs.getBoolean("vehicle_destroy"),
|
|
||||||
rs.getBoolean("vehicle_spawn"),
|
|
||||||
rs.getBoolean("wither_spawn"),
|
|
||||||
tp_location
|
tp_location
|
||||||
);
|
);
|
||||||
dominions.add(dominion);
|
dominions.add(dominion);
|
||||||
@ -191,54 +147,11 @@ public class DominionDTO {
|
|||||||
"z2 = " + dominion.getZ2() + ", " +
|
"z2 = " + dominion.getZ2() + ", " +
|
||||||
"parent_dom_id = " + dominion.getParentDomId() + ", " +
|
"parent_dom_id = " + dominion.getParentDomId() + ", " +
|
||||||
"join_message = ?," +
|
"join_message = ?," +
|
||||||
"leave_message = ?," +
|
"leave_message = ?,";
|
||||||
"anchor = " + dominion.getAnchor() + ", " +
|
for (Flag f : Flag.getDominionFlags()) {
|
||||||
"animal_killing = " + dominion.getAnimalKilling() + ", " +
|
sql += f.getFlagName() + " = " + dominion.getFlagValue(f) + ",";
|
||||||
"anvil = " + dominion.getAnvil() + ", " +
|
}
|
||||||
"beacon = " + dominion.getBeacon() + ", " +
|
sql += "tp_location = ?" +
|
||||||
"bed = " + dominion.getBed() + ", " +
|
|
||||||
"brew = " + dominion.getBrew() + ", " +
|
|
||||||
"break = " + dominion.getBreak() + ", " +
|
|
||||||
"button = " + dominion.getButton() + ", " +
|
|
||||||
"cake = " + dominion.getCake() + ", " +
|
|
||||||
"container = " + dominion.getContainer() + ", " +
|
|
||||||
"craft = " + dominion.getCraft() + ", " +
|
|
||||||
"creeper_explode = " + dominion.getCreeperExplode() + ", " + // dom only
|
|
||||||
"comparer = " + dominion.getComparer() + ", " +
|
|
||||||
"door = " + dominion.getDoor() + ", " +
|
|
||||||
"dye = " + dominion.getDye() + ", " +
|
|
||||||
"egg = " + dominion.getEgg() + ", " +
|
|
||||||
"enchant = " + dominion.getEnchant() + ", " +
|
|
||||||
"ender_man = " + dominion.getEnderMan() + ", " + // dom only
|
|
||||||
"ender_pearl = " + dominion.getEnderPearl() + ", " +
|
|
||||||
"feed = " + dominion.getFeed() + ", " +
|
|
||||||
"fire_spread = " + dominion.getFireSpread() + ", " + // dom only
|
|
||||||
"flow_in_protection = " + dominion.getFlowInProtection() + ", " + // dom only
|
|
||||||
"glow = " + dominion.getGlow() + ", " +
|
|
||||||
"harvest = " + dominion.getHarvest() + ", " +
|
|
||||||
"honey = " + dominion.getHoney() + ", " +
|
|
||||||
"hook = " + dominion.getHook() + ", " +
|
|
||||||
"hopper = " + dominion.getHopper() + ", " +
|
|
||||||
"ignite = " + dominion.getIgnite() + ", " +
|
|
||||||
"lever = " + dominion.getLever() + ", " +
|
|
||||||
"mob_drop_item = " + dominion.getMobDropItem() + ", " + // dom only
|
|
||||||
"monster_killing = " + dominion.getMonsterKilling() + ", " +
|
|
||||||
"move = " + dominion.getMove() + ", " +
|
|
||||||
"place = " + dominion.getPlace() + ", " +
|
|
||||||
"pressure = " + dominion.getPressure() + ", " +
|
|
||||||
"riding = " + dominion.getRiding() + ", " +
|
|
||||||
"repeater = " + dominion.getRepeater() + ", " +
|
|
||||||
"shear = " + dominion.getShear() + ", " +
|
|
||||||
"shoot = " + dominion.getShoot() + ", " +
|
|
||||||
"show_border = " + dominion.getShowBorder() + ", " + // dom only
|
|
||||||
"teleport = " + dominion.getTeleport() + ", " +
|
|
||||||
"tnt_explode = " + dominion.getTntExplode() + ", " + // dom only
|
|
||||||
"trade = " + dominion.getTrade() + ", " +
|
|
||||||
"trample = " + dominion.getTrample() + ", " + // dom only
|
|
||||||
"vehicle_destroy = " + dominion.getVehicleDestroy() + ", " +
|
|
||||||
"vehicle_spawn = " + dominion.getVehicleSpawn() + ", " +
|
|
||||||
"wither_spawn = " + dominion.getWitherSpawn() + ", " + // dom only
|
|
||||||
"tp_location = ?" +
|
|
||||||
" WHERE id = " + dominion.getId() +
|
" WHERE id = " + dominion.getId() +
|
||||||
" RETURNING *;";
|
" RETURNING *;";
|
||||||
List<DominionDTO> dominions = query(sql,
|
List<DominionDTO> dominions = query(sql,
|
||||||
@ -256,24 +169,7 @@ public class DominionDTO {
|
|||||||
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2,
|
Integer x1, Integer y1, Integer z1, Integer x2, Integer y2, Integer z2,
|
||||||
Integer parentDomId,
|
Integer parentDomId,
|
||||||
String joinMessage, String leaveMessage,
|
String joinMessage, String leaveMessage,
|
||||||
Boolean anchor, Boolean animalKilling, Boolean anvil,
|
Map<Flag, Boolean> flags,
|
||||||
Boolean beacon, Boolean bed, Boolean brew, Boolean breakBlock, Boolean button,
|
|
||||||
Boolean cake, Boolean container, Boolean craft, Boolean creeperExplode, Boolean comparer,
|
|
||||||
Boolean door, Boolean dye,
|
|
||||||
Boolean egg, Boolean enchant, Boolean enderMan, Boolean enderPearl,
|
|
||||||
Boolean feed, Boolean fireSpread, Boolean flowInProtection,
|
|
||||||
Boolean glow,
|
|
||||||
Boolean harvest, Boolean honey, Boolean hook, Boolean hopper,
|
|
||||||
Boolean ignite,
|
|
||||||
Boolean lever,
|
|
||||||
Boolean mobDropItem, Boolean monsterKilling, Boolean move,
|
|
||||||
Boolean place, Boolean pressure,
|
|
||||||
Boolean riding, Boolean repeater,
|
|
||||||
Boolean shear, Boolean shoot, Boolean showBorder,
|
|
||||||
Boolean teleport, Boolean tntExplode, Boolean trade, Boolean trample,
|
|
||||||
Boolean vehicleDestroy,
|
|
||||||
Boolean vehicleSpawn,
|
|
||||||
Boolean witherSpawn,
|
|
||||||
String tp_location) {
|
String tp_location) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
@ -288,52 +184,7 @@ public class DominionDTO {
|
|||||||
this.parentDomId = parentDomId;
|
this.parentDomId = parentDomId;
|
||||||
this.joinMessage = joinMessage;
|
this.joinMessage = joinMessage;
|
||||||
this.leaveMessage = leaveMessage;
|
this.leaveMessage = leaveMessage;
|
||||||
this.anchor = anchor;
|
this.flags.putAll(flags);
|
||||||
this.animalKilling = animalKilling;
|
|
||||||
this.anvil = anvil;
|
|
||||||
this.beacon = beacon;
|
|
||||||
this.bed = bed;
|
|
||||||
this.brew = brew;
|
|
||||||
this.breakBlock = breakBlock;
|
|
||||||
this.button = button;
|
|
||||||
this.cake = cake;
|
|
||||||
this.container = container;
|
|
||||||
this.craft = craft;
|
|
||||||
this.creeperExplode = creeperExplode;
|
|
||||||
this.comparer = comparer;
|
|
||||||
this.door = door;
|
|
||||||
this.dye = dye;
|
|
||||||
this.egg = egg;
|
|
||||||
this.enchant = enchant;
|
|
||||||
this.enderMan = enderMan;
|
|
||||||
this.enderPearl = enderPearl;
|
|
||||||
this.feed = feed;
|
|
||||||
this.fireSpread = fireSpread;
|
|
||||||
this.flowInProtection = flowInProtection;
|
|
||||||
this.glow = glow;
|
|
||||||
this.harvest = harvest;
|
|
||||||
this.honey = honey;
|
|
||||||
this.hook = hook;
|
|
||||||
this.hopper = hopper;
|
|
||||||
this.ignite = ignite;
|
|
||||||
this.lever = lever;
|
|
||||||
this.mobDropItem = mobDropItem;
|
|
||||||
this.monsterKilling = monsterKilling;
|
|
||||||
this.move = move;
|
|
||||||
this.place = place;
|
|
||||||
this.pressure = pressure;
|
|
||||||
this.riding = riding;
|
|
||||||
this.repeater = repeater;
|
|
||||||
this.shear = shear;
|
|
||||||
this.shoot = shoot;
|
|
||||||
this.showBorder = showBorder;
|
|
||||||
this.teleport = teleport;
|
|
||||||
this.tntExplode = tntExplode;
|
|
||||||
this.trade = trade;
|
|
||||||
this.trample = trample;
|
|
||||||
this.vehicleDestroy = vehicleDestroy;
|
|
||||||
this.vehicleSpawn = vehicleSpawn;
|
|
||||||
this.witherSpawn = witherSpawn;
|
|
||||||
if (Objects.equals(tp_location, "default")) {
|
if (Objects.equals(tp_location, "default")) {
|
||||||
this.tp_location = null;
|
this.tp_location = null;
|
||||||
} else {
|
} else {
|
||||||
@ -384,52 +235,7 @@ public class DominionDTO {
|
|||||||
private Integer parentDomId = -1;
|
private Integer parentDomId = -1;
|
||||||
private String joinMessage = "欢迎";
|
private String joinMessage = "欢迎";
|
||||||
private String leaveMessage = "再见";
|
private String leaveMessage = "再见";
|
||||||
private Boolean anchor = false;
|
private final Map<Flag, Boolean> flags = new HashMap<>();
|
||||||
private Boolean animalKilling = false;
|
|
||||||
private Boolean anvil = false;
|
|
||||||
private Boolean beacon = false;
|
|
||||||
private Boolean bed = false;
|
|
||||||
private Boolean brew = false;
|
|
||||||
private Boolean breakBlock = false;
|
|
||||||
private Boolean button = false;
|
|
||||||
private Boolean cake = false;
|
|
||||||
private Boolean container = false;
|
|
||||||
private Boolean craft = false;
|
|
||||||
private Boolean creeperExplode = false;
|
|
||||||
private Boolean comparer = false;
|
|
||||||
private Boolean door = false;
|
|
||||||
private Boolean dye = false;
|
|
||||||
private Boolean egg = false;
|
|
||||||
private Boolean enchant = false;
|
|
||||||
private Boolean enderMan = false;
|
|
||||||
private Boolean enderPearl = false;
|
|
||||||
private Boolean feed = false;
|
|
||||||
private Boolean fireSpread = false;
|
|
||||||
private Boolean flowInProtection = false;
|
|
||||||
private Boolean glow = false;
|
|
||||||
private Boolean honey = false;
|
|
||||||
private Boolean hook = false;
|
|
||||||
private Boolean hopper = false;
|
|
||||||
private Boolean ignite = false;
|
|
||||||
private Boolean lever = false;
|
|
||||||
private Boolean mobDropItem = true;
|
|
||||||
private Boolean monsterKilling = false;
|
|
||||||
private Boolean move = true;
|
|
||||||
private Boolean place = false;
|
|
||||||
private Boolean pressure = false;
|
|
||||||
private Boolean riding = false;
|
|
||||||
private Boolean repeater = false;
|
|
||||||
private Boolean shear = false;
|
|
||||||
private Boolean shoot = false;
|
|
||||||
private Boolean showBorder = true;
|
|
||||||
private Boolean teleport = false;
|
|
||||||
private Boolean tntExplode = false;
|
|
||||||
private Boolean trade = false;
|
|
||||||
private Boolean trample = false;
|
|
||||||
private Boolean vehicleDestroy = false;
|
|
||||||
private Boolean vehicleSpawn = false;
|
|
||||||
private Boolean witherSpawn = false;
|
|
||||||
private Boolean harvest = false;
|
|
||||||
private Location tp_location = null;
|
private Location tp_location = null;
|
||||||
|
|
||||||
// getters and setters
|
// getters and setters
|
||||||
@ -557,417 +363,12 @@ public class DominionDTO {
|
|||||||
return update(this);
|
return update(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getAnchor() {
|
public Boolean getFlagValue(Flag flag) {
|
||||||
return anchor;
|
return flags.get(flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DominionDTO setAnchor(Boolean anchor) {
|
public DominionDTO setFlagValue(Flag flag, Boolean value) {
|
||||||
this.anchor = anchor;
|
flags.put(flag, value);
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getAnimalKilling() {
|
|
||||||
return animalKilling;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setAnimalKilling(Boolean animalKilling) {
|
|
||||||
this.animalKilling = animalKilling;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getAnvil() {
|
|
||||||
return anvil;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setAnvil(Boolean anvil) {
|
|
||||||
this.anvil = anvil;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getBeacon() {
|
|
||||||
return beacon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setBeacon(Boolean beacon) {
|
|
||||||
this.beacon = beacon;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getBed() {
|
|
||||||
return bed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setBed(Boolean bed) {
|
|
||||||
this.bed = bed;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getBrew() {
|
|
||||||
return brew;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setBrew(Boolean brew) {
|
|
||||||
this.brew = brew;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getBreak() {
|
|
||||||
return breakBlock;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setBreak(Boolean breakBlock) {
|
|
||||||
this.breakBlock = breakBlock;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getButton() {
|
|
||||||
return button;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setButton(Boolean button) {
|
|
||||||
this.button = button;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getCake() {
|
|
||||||
return cake;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setCake(Boolean cake) {
|
|
||||||
this.cake = cake;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getContainer() {
|
|
||||||
return container;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setContainer(Boolean container) {
|
|
||||||
this.container = container;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getCraft() {
|
|
||||||
return craft;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setCraft(Boolean craft) {
|
|
||||||
this.craft = craft;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getCreeperExplode() {
|
|
||||||
return creeperExplode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setCreeperExplode(Boolean creeperExplode) {
|
|
||||||
this.creeperExplode = creeperExplode;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getComparer() {
|
|
||||||
return comparer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setComparer(Boolean comparer) {
|
|
||||||
this.comparer = comparer;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getDoor() {
|
|
||||||
return door;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setDoor(Boolean door) {
|
|
||||||
this.door = door;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getDye() {
|
|
||||||
return dye;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setDye(Boolean dye) {
|
|
||||||
this.dye = dye;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getEgg() {
|
|
||||||
return egg;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setEgg(Boolean egg) {
|
|
||||||
this.egg = egg;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getEnchant() {
|
|
||||||
return enchant;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setEnchant(Boolean enchant) {
|
|
||||||
this.enchant = enchant;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getEnderMan() {
|
|
||||||
return enderMan;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setEnderMan(Boolean enderMan) {
|
|
||||||
this.enderMan = enderMan;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getEnderPearl() {
|
|
||||||
return enderPearl;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setEnderPearl(Boolean enderPearl) {
|
|
||||||
this.enderPearl = enderPearl;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getFeed() {
|
|
||||||
return feed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setFeed(Boolean feed) {
|
|
||||||
this.feed = feed;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getFireSpread() {
|
|
||||||
return fireSpread;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setFireSpread(Boolean fireSpread) {
|
|
||||||
this.fireSpread = fireSpread;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getFlowInProtection() {
|
|
||||||
return flowInProtection;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setFlowInProtection(Boolean flowInProtection) {
|
|
||||||
this.flowInProtection = flowInProtection;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getGlow() {
|
|
||||||
return glow;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setGlow(Boolean glow) {
|
|
||||||
this.glow = glow;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getHoney() {
|
|
||||||
return honey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setHoney(Boolean honey) {
|
|
||||||
this.honey = honey;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getHook() {
|
|
||||||
return hook;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setHook(Boolean hook) {
|
|
||||||
this.hook = hook;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getHopper() {
|
|
||||||
return hopper;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setHopper(Boolean hopper) {
|
|
||||||
this.hopper = hopper;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getIgnite() {
|
|
||||||
return ignite;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setIgnite(Boolean ignite) {
|
|
||||||
this.ignite = ignite;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getLever() {
|
|
||||||
return lever;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setLever(Boolean lever) {
|
|
||||||
this.lever = lever;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getMobDropItem() {
|
|
||||||
return mobDropItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setMobDropItem(Boolean mobDropItem) {
|
|
||||||
this.mobDropItem = mobDropItem;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getMonsterKilling() {
|
|
||||||
return monsterKilling;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setMonsterKilling(Boolean monsterKilling) {
|
|
||||||
this.monsterKilling = monsterKilling;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getMove() {
|
|
||||||
return move;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setMove(Boolean move) {
|
|
||||||
this.move = move;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getPlace() {
|
|
||||||
return place;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setPlace(Boolean place) {
|
|
||||||
this.place = place;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getPressure() {
|
|
||||||
return pressure;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setPressure(Boolean pressure) {
|
|
||||||
this.pressure = pressure;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getRiding() {
|
|
||||||
return riding;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setRiding(Boolean riding) {
|
|
||||||
this.riding = riding;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getRepeater() {
|
|
||||||
return repeater;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setRepeater(Boolean repeater) {
|
|
||||||
this.repeater = repeater;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getShear() {
|
|
||||||
return shear;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setShear(Boolean shear) {
|
|
||||||
this.shear = shear;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getShoot() {
|
|
||||||
return shoot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setShoot(Boolean shoot) {
|
|
||||||
this.shoot = shoot;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getShowBorder() {
|
|
||||||
return showBorder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setShowBorder(Boolean showBorder) {
|
|
||||||
this.showBorder = showBorder;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getTeleport() {
|
|
||||||
return teleport;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setTeleport(Boolean teleport) {
|
|
||||||
this.teleport = teleport;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getTntExplode() {
|
|
||||||
return tntExplode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setTntExplode(Boolean tntExplode) {
|
|
||||||
this.tntExplode = tntExplode;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getTrade() {
|
|
||||||
return trade;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setTrade(Boolean trade) {
|
|
||||||
this.trade = trade;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getTrample() {
|
|
||||||
return trample;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setTrample(Boolean trample) {
|
|
||||||
this.trample = trample;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getVehicleDestroy() {
|
|
||||||
return vehicleDestroy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setVehicleDestroy(Boolean vehicleDestroy) {
|
|
||||||
this.vehicleDestroy = vehicleDestroy;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getVehicleSpawn() {
|
|
||||||
return vehicleSpawn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setVehicleSpawn(Boolean vehicleSpawn) {
|
|
||||||
this.vehicleSpawn = vehicleSpawn;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getWitherSpawn() {
|
|
||||||
return witherSpawn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setWitherSpawn(Boolean witherSpawn) {
|
|
||||||
this.witherSpawn = witherSpawn;
|
|
||||||
return update(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getHarvest() {
|
|
||||||
return harvest;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DominionDTO setHarvest(Boolean harvest) {
|
|
||||||
this.harvest = harvest;
|
|
||||||
return update(this);
|
return update(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
130
src/main/java/cn/lunadeer/dominion/dtos/Flag.java
Normal file
130
src/main/java/cn/lunadeer/dominion/dtos/Flag.java
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
package cn.lunadeer.dominion.dtos;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public enum Flag {
|
||||||
|
ANCHOR("anchor", "重生锚", "是否允许设置重生锚", false, false, true),
|
||||||
|
ANIMAL_KILLING("animal_killing", "对动物造成伤害", "是否允许对动物造成伤害", false, false, true),
|
||||||
|
ANVIL("anvil", "使用铁砧", "是否允许使用铁砧", false, false, true),
|
||||||
|
BEACON("beacon", "信标交互", "是否允许与信标交互", false, false, true),
|
||||||
|
BED("bed", "床交互", "是否允许使用床睡觉或设置重生点", false, false, true),
|
||||||
|
BREW("brew", "使用酿造台", "是否可以使用酿造台", false, false, true),
|
||||||
|
BREAK_BLOCK("break_block", "破坏方块", "是否可以破坏方块", false, false, true),
|
||||||
|
BUTTON("button", "使用按钮", "是否可以使用各种材质的按钮", false, false, true),
|
||||||
|
CAKE("cake", "吃蛋糕", "是否可以吃蛋糕", false, false, true),
|
||||||
|
CONTAINER("container", "一般容器", "包含:箱子/木桶/潜影盒/盔甲架/展示框", false, false, true),
|
||||||
|
CRAFT("craft", "使用工作台", "是否可以使用工作台", false, false, true),
|
||||||
|
CREEPER_EXPLODE("creeper_explode", "实体爆炸", "包含:苦力怕/凋零头颅/水晶爆炸", false, true, true),
|
||||||
|
COMPARER("comparer", "比较器交互", "是否可以与比较器交互", false, false, true),
|
||||||
|
DOOR("door", "门交互", "是否可以使用各种材质的门", false, false, true),
|
||||||
|
DYE("dye", "染色", "是否可以使用染料染色", false, false, true),
|
||||||
|
EGG("egg", "扔鸡蛋", "是否可以扔鸡蛋", false, false, true),
|
||||||
|
ENCHANT("enchant", "使用附魔台", "是否可以使用附魔台", false, false, true),
|
||||||
|
ENDER_MAN("ender_man", "末影人行为", "包含:末影人是否可以生成、瞬移", false, true, true),
|
||||||
|
ENDER_PEARL("ender_pearl", "投掷末影珍珠", "是否可以使用末影珍珠", false, false, true),
|
||||||
|
FEED("feed", "喂养", "是否可以喂养动物", false, false, true),
|
||||||
|
FIRE_SPREAD("fire_spread", "火焰蔓延", "是否可以火焰蔓延", false, true, true),
|
||||||
|
FLOW_IN_PROTECTION("flow_in_protection", "外部流体是否可以进入", "包含:岩浆、水", false, true, true),
|
||||||
|
GLOW("glow", "玩家发光", "类似光灵箭的高亮效果", false, false, true),
|
||||||
|
HARVEST("harvest", "收获", "收获庄稼、作物", false, false, true),
|
||||||
|
HONEY("honey", "蜂巢交互", "是否可以采蜂蜜", false, false, true),
|
||||||
|
HOOK("hook", "使用钓钩", "是否可以使用钓钩", false, false, true),
|
||||||
|
HOPPER("hopper", "特殊容器", "包含:漏斗/熔炉/发射器等", false, false, true),
|
||||||
|
IGNITE("ignite", "点燃", "是否可以使用打火石点火", false, false, true),
|
||||||
|
LEVER("lever", "使用拉杆", "是否可以使用拉杆", false, false, true),
|
||||||
|
MOB_DROP_ITEM("mob_drop_item", "生物战利品掉落", "生物死亡时是否产生凋落物", true, true, true),
|
||||||
|
MONSTER_KILLING("monster_killing", "对怪物造成伤害", "玩家是否可以对怪物造成伤害", false, false, true),
|
||||||
|
PLACE("place", "放置方块", "是否可以放置方块", false, false, true),
|
||||||
|
PRESSURE("pressure", "压力板交互", "是否可以触发各种材质的压力板", false, false, true),
|
||||||
|
RIDING("riding", "骑乘载具", "是否可以骑乘各种载具", false, false, true),
|
||||||
|
REPEATER("repeater", "中继器交互", "是否可以与中继器交互", false, false, true),
|
||||||
|
SHEAR("shear", "剪羊毛", "是否可以剪羊毛", false, false, true),
|
||||||
|
SHOOT("shoot", "发射类型武器", "包括:射箭/雪球/三叉戟", false, false, true),
|
||||||
|
SHOW_BORDER("show_border", "显示领地边界", "是否显示领地边界", false, true, true),
|
||||||
|
TELEPORT("teleport", "领地传送", "是否开启领地传送", false, false, true),
|
||||||
|
TNT_EXPLODE("tnt_explode", "TNT爆炸", "TNT是否可以爆炸", false, true, true),
|
||||||
|
TRADE("trade", "村民交易", "是否可以与村民交易", false, false, true),
|
||||||
|
TRAMPLE("trample", "作物践踏", "是否可以践踏作物(关闭意味着保护耕地)", false, true, true),
|
||||||
|
VEHICLE_DESTROY("vehicle_destroy", "破坏载具", "是否可以破坏载具(主要是矿车)", false, false, true),
|
||||||
|
VEHICLE_SPAWN("vehicle_spawn", "生成载具", "是否可以生成载具(主要是矿车)", false, false, true),
|
||||||
|
WITHER_SPAWN("wither_spawn", "凋零生成", "凋零生成", false, true, true),
|
||||||
|
;
|
||||||
|
private final String flag_name;
|
||||||
|
private String display_name;
|
||||||
|
private String description;
|
||||||
|
private Boolean default_value;
|
||||||
|
private Boolean enable;
|
||||||
|
private final Boolean dominion_only;
|
||||||
|
|
||||||
|
Flag(String flagName, String displayName, String desc, boolean defaultValue, boolean dominion_only, boolean enable) {
|
||||||
|
this.flag_name = flagName;
|
||||||
|
this.display_name = displayName;
|
||||||
|
this.description = desc;
|
||||||
|
this.default_value = defaultValue;
|
||||||
|
this.dominion_only = dominion_only;
|
||||||
|
this.enable = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagName() {
|
||||||
|
return flag_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplayName() {
|
||||||
|
return display_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getDefaultValue() {
|
||||||
|
return default_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisplayName(String displayName) {
|
||||||
|
this.display_name = displayName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultValue(Boolean defaultValue) {
|
||||||
|
this.default_value = defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnable(Boolean enable) {
|
||||||
|
this.enable = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Flag> getDominionFlags() {
|
||||||
|
List<Flag> flags = new ArrayList<>();
|
||||||
|
for (Flag flag : Flag.values()) {
|
||||||
|
if (!flag.enable) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
flags.add(flag);
|
||||||
|
}
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Flag> getPrivilegeFlags() {
|
||||||
|
List<Flag> flags = new ArrayList<>();
|
||||||
|
for (Flag flag : Flag.values()) {
|
||||||
|
if (flag.dominion_only) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!flag.enable) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
flags.add(flag);
|
||||||
|
}
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Flag getFlag(String flagName) {
|
||||||
|
return Arrays.stream(Flag.values()).filter(flag -> flag.getFlagName().equals(flagName)).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
}
|
@ -2,6 +2,7 @@ package cn.lunadeer.dominion.events;
|
|||||||
|
|
||||||
import cn.lunadeer.dominion.Cache;
|
import cn.lunadeer.dominion.Cache;
|
||||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||||
|
import cn.lunadeer.dominion.dtos.Flag;
|
||||||
import com.destroystokyo.paper.event.entity.EndermanEscapeEvent;
|
import com.destroystokyo.paper.event.entity.EndermanEscapeEvent;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -38,7 +39,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getCreeperExplode()) {
|
if (dom.getFlagValue(Flag.CREEPER_EXPLODE)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -55,7 +56,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getFireSpread()) {
|
if (dom.getFlagValue(Flag.FIRE_SPREAD)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -75,7 +76,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dom_to.getFlowInProtection()) {
|
if (dom_to.getFlagValue(Flag.FLOW_IN_PROTECTION)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,7 +91,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getMobDropItem()) {
|
if (dom.getFlagValue(Flag.MOB_DROP_ITEM)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.getDrops().clear();
|
event.getDrops().clear();
|
||||||
@ -106,7 +107,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getTntExplode()) {
|
if (dom.getFlagValue(Flag.TNT_EXPLODE)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -129,7 +130,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getTrample()) {
|
if (dom.getFlagValue(Flag.TRAMPLE)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -145,7 +146,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getWitherSpawn()) {
|
if (dom.getFlagValue(Flag.WITHER_SPAWN)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -161,7 +162,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getEnderMan()) {
|
if (dom.getFlagValue(Flag.ENDER_MAN)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -174,7 +175,7 @@ public class EnvironmentEvents implements Listener {
|
|||||||
if (dom == null) {
|
if (dom == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dom.getEnderMan()) {
|
if (dom.getFlagValue(Flag.ENDER_MAN)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
@ -2,9 +2,11 @@ package cn.lunadeer.dominion.tuis;
|
|||||||
|
|
||||||
import cn.lunadeer.dominion.Dominion;
|
import cn.lunadeer.dominion.Dominion;
|
||||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||||
|
import cn.lunadeer.dominion.dtos.Flag;
|
||||||
import cn.lunadeer.minecraftpluginutils.stui.ListView;
|
import cn.lunadeer.minecraftpluginutils.stui.ListView;
|
||||||
import cn.lunadeer.minecraftpluginutils.stui.components.Button;
|
import cn.lunadeer.minecraftpluginutils.stui.components.Button;
|
||||||
import cn.lunadeer.minecraftpluginutils.stui.components.Line;
|
import cn.lunadeer.minecraftpluginutils.stui.components.Line;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@ -38,420 +40,21 @@ public class DominionFlagInfo {
|
|||||||
.append(Button.create("我的领地").setExecuteCommand("/dominion list").build())
|
.append(Button.create("我的领地").setExecuteCommand("/dominion list").build())
|
||||||
.append(Button.create("管理界面").setExecuteCommand("/dominion manage " + dominion.getName()).build())
|
.append(Button.create("管理界面").setExecuteCommand("/dominion manage " + dominion.getName()).build())
|
||||||
.append("权限列表"));
|
.append("权限列表"));
|
||||||
if (dominion.getAnchor()) {
|
for (Flag flag : Flag.getDominionFlags()) {
|
||||||
view.add(Line.create()
|
view.add(createOption(flag, dominion.getFlagValue(flag), dominion.getName(), page));
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set anchor false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("重生锚"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set anchor true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("重生锚"));
|
|
||||||
}
|
|
||||||
if (dominion.getAnimalKilling()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set animal_killing false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("对动物造成伤害"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set animal_killing true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("对动物造成伤害"));
|
|
||||||
}
|
|
||||||
if (dominion.getAnvil()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set anvil false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用铁砧"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set anvil true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用铁砧"));
|
|
||||||
}
|
|
||||||
if (dominion.getBeacon()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set beacon false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("信标交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set beacon true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("信标交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getBed()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set bed false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("床交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set bed true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("床交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getBrew()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set brew false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用酿造台"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set brew true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用酿造台"));
|
|
||||||
}
|
|
||||||
if (dominion.getBreak()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set break false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("破坏方块"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set break true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("破坏方块"));
|
|
||||||
}
|
|
||||||
if (dominion.getButton()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set button false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用按钮"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set button true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用按钮"));
|
|
||||||
}
|
|
||||||
if (dominion.getCake()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set cake false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用蛋糕"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set cake true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用蛋糕"));
|
|
||||||
}
|
|
||||||
if (dominion.getContainer()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set container false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("箱子/木桶/潜影盒/盔甲架/展示框"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set container true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("箱子/木桶/潜影盒/盔甲架/展示框"));
|
|
||||||
}
|
|
||||||
if (dominion.getCraft()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set craft false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用工作台"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set craft true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用工作台"));
|
|
||||||
}
|
|
||||||
if (dominion.getCreeperExplode()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set creeper_explode false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("苦力怕/凋零头颅/水晶爆炸"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set creeper_explode true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("苦力怕/凋零头颅/水晶爆炸"));
|
|
||||||
}
|
|
||||||
if (dominion.getComparer()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set comparer false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("比较器交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set comparer true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("比较器交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getDoor()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set door false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("门交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set door true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("门交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getDye()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set dye false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("染色"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set dye true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("染色"));
|
|
||||||
}
|
|
||||||
if (dominion.getEgg()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set egg false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("投掷鸡蛋"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set egg true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("投掷鸡蛋"));
|
|
||||||
}
|
|
||||||
if (dominion.getEnchant()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set enchant false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用附魔台"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set enchant true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用附魔台"));
|
|
||||||
}
|
|
||||||
if (dominion.getEnderMan()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set ender_man false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("末影人生成、瞬移"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set ender_man true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("末影人生成、瞬移"));
|
|
||||||
}
|
|
||||||
if (dominion.getEnderPearl()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set ender_pearl false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("投掷末影珍珠"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set ender_pearl true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("投掷末影珍珠"));
|
|
||||||
}
|
|
||||||
if (dominion.getFeed()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set feed false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("喂食"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set feed true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("喂食"));
|
|
||||||
}
|
|
||||||
if (dominion.getFireSpread()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set fire_spread false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("火焰蔓延"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set fire_spread true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("火焰蔓延"));
|
|
||||||
}
|
|
||||||
if (dominion.getFlowInProtection()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set flow_in_protection false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("外部流体是否可以进入"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set flow_in_protection true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("外部流体是否可以进入"));
|
|
||||||
}
|
|
||||||
if (dominion.getGlow()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set glow false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家发光"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set glow true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家发光"));
|
|
||||||
}
|
|
||||||
if (dominion.getHarvest()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set harvest false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("收获"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set harvest true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("收获"));
|
|
||||||
}
|
|
||||||
if (dominion.getHoney()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set honey false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("蜂巢交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set honey true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("蜂巢交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getHook()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set hook false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用钓钩"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set hook true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用钓钩"));
|
|
||||||
}
|
|
||||||
if (dominion.getHopper()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set hopper false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("漏斗/熔炉/发射器等特殊容器"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set hopper true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("漏斗/熔炉/发射器等特殊容器"));
|
|
||||||
}
|
|
||||||
if (dominion.getIgnite()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set ignite false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("点燃"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set ignite true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("点燃"));
|
|
||||||
}
|
|
||||||
if (dominion.getLever()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set lever false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用拉杆"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set lever true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("使用拉杆"));
|
|
||||||
}
|
|
||||||
if (dominion.getMobDropItem()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set mob_drop_item false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("生物战利品掉落"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set mob_drop_item true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("生物战利品掉落"));
|
|
||||||
}
|
|
||||||
if (dominion.getMonsterKilling()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set monster_killing false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("对怪物造成伤害"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set monster_killing true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("对怪物造成伤害"));
|
|
||||||
}
|
|
||||||
if (dominion.getMove()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set move false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家移动"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set move true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家移动"));
|
|
||||||
}
|
|
||||||
if (dominion.getPlace()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set place false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("放置方块"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set place true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("放置方块"));
|
|
||||||
}
|
|
||||||
if (dominion.getPressure()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set pressure false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("压力板交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set pressure true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("压力板交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getRiding()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set riding false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("骑乘载具"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set riding true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("骑乘载具"));
|
|
||||||
}
|
|
||||||
if (dominion.getRepeater()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set repeater false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("中继器交互"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set repeater true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("中继器交互"));
|
|
||||||
}
|
|
||||||
if (dominion.getShear()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set shear false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("剪羊毛"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set shear true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("剪羊毛"));
|
|
||||||
}
|
|
||||||
if (dominion.getShoot()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set shoot false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("射箭/雪球/三叉戟"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set shoot true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("射箭/雪球/三叉戟"));
|
|
||||||
}
|
|
||||||
if (dominion.getShowBorder()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set show_border false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家进入时是否显示领地边界"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set show_border true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("玩家进入时是否显示领地边界"));
|
|
||||||
}
|
|
||||||
if (dominion.getTeleport()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set teleport false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("领地传送"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set teleport true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("领地传送"));
|
|
||||||
}
|
|
||||||
if (dominion.getTntExplode()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set tnt_explode false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("TNT爆炸"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set tnt_explode true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("TNT爆炸"));
|
|
||||||
}
|
|
||||||
if (dominion.getTrade()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set trade false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("交易"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set trade true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("交易"));
|
|
||||||
}
|
|
||||||
if (dominion.getTrample()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set trample false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("践踏耕地"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set trample true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("践踏耕地"));
|
|
||||||
}
|
|
||||||
if (dominion.getVehicleDestroy()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set vehicle_destroy false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("破坏载具"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set vehicle_destroy true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("破坏载具"));
|
|
||||||
}
|
|
||||||
if (dominion.getVehicleSpawn()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set vehicle_spawn false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("放置载具"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set vehicle_spawn true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("放置载具"));
|
|
||||||
}
|
|
||||||
if (dominion.getWitherSpawn()) {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createGreen("☑").setExecuteCommand("/dominion set wither_spawn false " + dominion.getName() + " " + page).build())
|
|
||||||
.append("凋零生成"));
|
|
||||||
} else {
|
|
||||||
view.add(Line.create()
|
|
||||||
.append(Button.createRed("☐").setExecuteCommand("/dominion set wither_spawn true " + dominion.getName() + " " + page).build())
|
|
||||||
.append("凋零生成"));
|
|
||||||
}
|
}
|
||||||
view.showOn(player, page);
|
view.showOn(player, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Line createOption(Flag flag, boolean value, String dominion_name, int page) {
|
||||||
|
if (value) {
|
||||||
|
return Line.create()
|
||||||
|
.append(Button.createGreen("☑").setExecuteCommand("/dominion set " + flag.getFlagName() + " false " + dominion_name + " " + page).build())
|
||||||
|
.append(Component.text(flag.getDisplayName()).hoverEvent(Component.text(flag.getDescription())));
|
||||||
|
} else {
|
||||||
|
return Line.create()
|
||||||
|
.append(Button.createRed("☐").setExecuteCommand("/dominion set " + flag.getFlagName() + " true " + dominion_name + " " + page).build())
|
||||||
|
.append(Component.text(flag.getDisplayName()).hoverEvent(Component.text(flag.getDescription())));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user