This commit is contained in:
parent
914c05f484
commit
3ac9d5a1c5
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.9.3-beta</version>
|
<version>1.10.0-beta</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Dominion</name>
|
<name>Dominion</name>
|
||||||
|
@ -30,7 +30,7 @@ public class Helper {
|
|||||||
"place", "pressure",
|
"place", "pressure",
|
||||||
"riding", "repeater",
|
"riding", "repeater",
|
||||||
"shear", "shoot",
|
"shear", "shoot",
|
||||||
"tnt_explode", "trade",
|
"tnt_explode", "trade", "trample",
|
||||||
"vehicle_destroy",
|
"vehicle_destroy",
|
||||||
"vehicle_spawn",
|
"vehicle_spawn",
|
||||||
"wither_spawn");
|
"wither_spawn");
|
||||||
|
@ -75,6 +75,7 @@ public class FlagsController {
|
|||||||
case "shoot": return dominion.setShoot(value);
|
case "shoot": return dominion.setShoot(value);
|
||||||
case "tnt_explode": return dominion.setTntExplode(value);
|
case "tnt_explode": return dominion.setTntExplode(value);
|
||||||
case "trade": return dominion.setTrade(value);
|
case "trade": return dominion.setTrade(value);
|
||||||
|
case "trample": return dominion.setTrample(value);
|
||||||
case "vehicle_destroy": return dominion.setVehicleDestroy(value);
|
case "vehicle_destroy": return dominion.setVehicleDestroy(value);
|
||||||
case "vehicle_spawn": return dominion.setVehicleSpawn(value);
|
case "vehicle_spawn": return dominion.setVehicleSpawn(value);
|
||||||
case "wither_spawn": return dominion.setWitherSpawn(value);
|
case "wither_spawn": return dominion.setWitherSpawn(value);
|
||||||
|
@ -69,6 +69,7 @@ public class DominionDTO {
|
|||||||
rs.getBoolean("shoot"),
|
rs.getBoolean("shoot"),
|
||||||
rs.getBoolean("tnt_explode"),
|
rs.getBoolean("tnt_explode"),
|
||||||
rs.getBoolean("trade"),
|
rs.getBoolean("trade"),
|
||||||
|
rs.getBoolean("trample"),
|
||||||
rs.getBoolean("vehicle_destroy"),
|
rs.getBoolean("vehicle_destroy"),
|
||||||
rs.getBoolean("vehicle_spawn"),
|
rs.getBoolean("vehicle_spawn"),
|
||||||
rs.getBoolean("wither_spawn")
|
rs.getBoolean("wither_spawn")
|
||||||
@ -215,6 +216,7 @@ public class DominionDTO {
|
|||||||
"shoot = " + dominion.getShoot() + ", " +
|
"shoot = " + dominion.getShoot() + ", " +
|
||||||
"tnt_explode = " + dominion.getTntExplode() + ", " + // dom only
|
"tnt_explode = " + dominion.getTntExplode() + ", " + // dom only
|
||||||
"trade = " + dominion.getTrade() + ", " +
|
"trade = " + dominion.getTrade() + ", " +
|
||||||
|
"trample = " + dominion.getTrample() + ", " + // dom only
|
||||||
"vehicle_destroy = " + dominion.getVehicleDestroy() + ", " +
|
"vehicle_destroy = " + dominion.getVehicleDestroy() + ", " +
|
||||||
"vehicle_spawn = " + dominion.getVehicleSpawn() + ", " +
|
"vehicle_spawn = " + dominion.getVehicleSpawn() + ", " +
|
||||||
"wither_spawn = " + dominion.getWitherSpawn() + " " + // dom only
|
"wither_spawn = " + dominion.getWitherSpawn() + " " + // dom only
|
||||||
@ -243,7 +245,7 @@ public class DominionDTO {
|
|||||||
Boolean place, Boolean pressure,
|
Boolean place, Boolean pressure,
|
||||||
Boolean riding, Boolean repeater,
|
Boolean riding, Boolean repeater,
|
||||||
Boolean shear, Boolean shoot,
|
Boolean shear, Boolean shoot,
|
||||||
Boolean tntExplode, Boolean trade,
|
Boolean tntExplode, Boolean trade, Boolean trample,
|
||||||
Boolean vehicleDestroy,
|
Boolean vehicleDestroy,
|
||||||
Boolean vehicleSpawn,
|
Boolean vehicleSpawn,
|
||||||
Boolean witherSpawn) {
|
Boolean witherSpawn) {
|
||||||
@ -298,6 +300,7 @@ public class DominionDTO {
|
|||||||
this.shoot = shoot;
|
this.shoot = shoot;
|
||||||
this.tntExplode = tntExplode;
|
this.tntExplode = tntExplode;
|
||||||
this.trade = trade;
|
this.trade = trade;
|
||||||
|
this.trample = trample;
|
||||||
this.vehicleDestroy = vehicleDestroy;
|
this.vehicleDestroy = vehicleDestroy;
|
||||||
this.vehicleSpawn = vehicleSpawn;
|
this.vehicleSpawn = vehicleSpawn;
|
||||||
this.witherSpawn = witherSpawn;
|
this.witherSpawn = witherSpawn;
|
||||||
@ -315,7 +318,7 @@ public class DominionDTO {
|
|||||||
false, false, false, false, true,
|
false, false, false, false, true,
|
||||||
true, false, false, false, false, false, false,
|
true, false, false, false, false, false, false,
|
||||||
false, true, false, false, false, false,
|
false, true, false, false, false, false,
|
||||||
false, false, false, false, false, false, false);
|
false, false, false, false, false, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DominionDTO(UUID owner, String name, String world,
|
public DominionDTO(UUID owner, String name, String world,
|
||||||
@ -373,6 +376,7 @@ public class DominionDTO {
|
|||||||
private Boolean shoot = false;
|
private Boolean shoot = false;
|
||||||
private Boolean tntExplode = false;
|
private Boolean tntExplode = false;
|
||||||
private Boolean trade = false;
|
private Boolean trade = false;
|
||||||
|
private Boolean trample = false;
|
||||||
private Boolean vehicleDestroy = false;
|
private Boolean vehicleDestroy = false;
|
||||||
private Boolean vehicleSpawn = false;
|
private Boolean vehicleSpawn = false;
|
||||||
private Boolean witherSpawn = false;
|
private Boolean witherSpawn = false;
|
||||||
@ -824,6 +828,15 @@ public class DominionDTO {
|
|||||||
return update(this);
|
return update(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean getTrample() {
|
||||||
|
return trample;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DominionDTO setTrample(Boolean trample) {
|
||||||
|
this.trample = trample;
|
||||||
|
return update(this);
|
||||||
|
}
|
||||||
|
|
||||||
public Boolean getVehicleDestroy() {
|
public Boolean getVehicleDestroy() {
|
||||||
return vehicleDestroy;
|
return vehicleDestroy;
|
||||||
}
|
}
|
||||||
|
@ -3,19 +3,25 @@ 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 org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
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.Action;
|
||||||
import org.bukkit.event.block.BlockFromToEvent;
|
import org.bukkit.event.block.BlockFromToEvent;
|
||||||
import org.bukkit.event.block.BlockIgniteEvent;
|
import org.bukkit.event.block.BlockIgniteEvent;
|
||||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
|
import org.bukkit.event.entity.EntityInteractEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.bukkit.Material.FARMLAND;
|
||||||
|
|
||||||
public class EnvironmentEvents implements Listener {
|
public class EnvironmentEvents implements Listener {
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // creeper_explode
|
@EventHandler(priority = EventPriority.HIGHEST) // creeper_explode
|
||||||
public void onEntityExplode(EntityExplodeEvent event) {
|
public void onEntityExplode(EntityExplodeEvent event) {
|
||||||
@ -85,6 +91,29 @@ public class EnvironmentEvents implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST) // trample
|
||||||
|
public void onFarmlandTrample(PlayerInteractEvent event) {
|
||||||
|
Block block = event.getClickedBlock();
|
||||||
|
if (block == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (block.getType() != FARMLAND) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (event.getAction() != Action.PHYSICAL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Location location = block.getLocation();
|
||||||
|
DominionDTO dom = Cache.instance.getDominion(location);
|
||||||
|
if (dom == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (dom.getTrample()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST) // wither_spawn
|
@EventHandler(priority = EventPriority.HIGHEST) // wither_spawn
|
||||||
public void onWitherSpawn(CreatureSpawnEvent event) {
|
public void onWitherSpawn(CreatureSpawnEvent event) {
|
||||||
Entity entity = event.getEntity();
|
Entity entity = event.getEntity();
|
||||||
|
@ -380,6 +380,15 @@ public class DominionFlagInfo {
|
|||||||
.append(Button.createRed("☐", "/dominion set trade true " + dominion.getName() + " " + page))
|
.append(Button.createRed("☐", "/dominion set trade true " + dominion.getName() + " " + page))
|
||||||
.append("交易"));
|
.append("交易"));
|
||||||
}
|
}
|
||||||
|
if (dominion.getTrample()){
|
||||||
|
view.add(Line.create()
|
||||||
|
.append(Button.createGreen("☑", "/dominion set trample false " + dominion.getName() + " " + page))
|
||||||
|
.append("践踏耕地"));
|
||||||
|
} else {
|
||||||
|
view.add(Line.create()
|
||||||
|
.append(Button.createRed("☐", "/dominion set trample true " + dominion.getName() + " " + page))
|
||||||
|
.append("践踏耕地"));
|
||||||
|
}
|
||||||
if (dominion.getVehicleDestroy()) {
|
if (dominion.getVehicleDestroy()) {
|
||||||
view.add(Line.create()
|
view.add(Line.create()
|
||||||
.append(Button.createGreen("☑", "/dominion set vehicle_destroy false " + dominion.getName() + " " + page))
|
.append(Button.createGreen("☑", "/dominion set vehicle_destroy false " + dominion.getName() + " " + page))
|
||||||
|
@ -182,5 +182,9 @@ public class Database {
|
|||||||
query(sql);
|
query(sql);
|
||||||
sql = "ALTER TABLE player_privilege ADD COLUMN IF NOT EXISTS vehicle_spawn BOOLEAN NOT NULL DEFAULT FALSE;";
|
sql = "ALTER TABLE player_privilege ADD COLUMN IF NOT EXISTS vehicle_spawn BOOLEAN NOT NULL DEFAULT FALSE;";
|
||||||
query(sql);
|
query(sql);
|
||||||
|
|
||||||
|
// 1.10.0
|
||||||
|
sql = "ALTER TABLE dominion ADD COLUMN IF NOT EXISTS trample BOOLEAN NOT NULL DEFAULT FALSE;";
|
||||||
|
query(sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user