From 49772fadc9f3cd41773c5002b571061f32c81c85 Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Thu, 1 Aug 2024 18:03:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=E5=88=B0gr?= =?UTF-8?q?adle=E7=9A=84=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 9 +++++++-- src/main/java/cn/lunadeer/dominion/Dominion.java | 4 ++-- ...mentEvents.java => EnvironmentEvents_1_20_1.java} | 12 +++++++----- .../dominion/events/PlayerEvents_1_20_1.java | 9 ++------- .../lunadeer/dominion/events/PlayerEvents_1_21.java | 5 ++--- 5 files changed, 20 insertions(+), 19 deletions(-) rename src/main/java/cn/lunadeer/dominion/events/{EnvironmentEvents.java => EnvironmentEvents_1_20_1.java} (95%) diff --git a/build.gradle.kts b/build.gradle.kts index 72b01d2..9542a97 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,10 +20,15 @@ dependencies { compileOnly("com.github.BlueMap-Minecraft:BlueMapAPI:v2.6.2") compileOnly("us.dynmap:DynmapCoreAPI:3.4") - shadow("cn.lunadeer:MinecraftPluginUtils:1.3.4-SNAPSHOT") - shadow("org.yaml:snakeyaml:2.0") + implementation("cn.lunadeer:MinecraftPluginUtils:1.3.4-SNAPSHOT") + implementation("org.yaml:snakeyaml:2.0") } java { toolchain.languageVersion.set(JavaLanguageVersion.of(21)) } + +tasks.shadowJar { + archiveBaseName.set(rootProject.name) + archiveVersion.set(version.toString()) +} diff --git a/src/main/java/cn/lunadeer/dominion/Dominion.java b/src/main/java/cn/lunadeer/dominion/Dominion.java index 7fbc8cd..faa4463 100644 --- a/src/main/java/cn/lunadeer/dominion/Dominion.java +++ b/src/main/java/cn/lunadeer/dominion/Dominion.java @@ -1,6 +1,6 @@ package cn.lunadeer.dominion; -import cn.lunadeer.dominion.events.EnvironmentEvents; +import cn.lunadeer.dominion.events.EnvironmentEvents_1_20_1; import cn.lunadeer.dominion.events.PlayerEvents_1_20_1; import cn.lunadeer.dominion.events.SelectPointEvents; import cn.lunadeer.dominion.managers.ConfigManager; @@ -42,7 +42,7 @@ public final class Dominion extends JavaPlugin { Cache.instance = new Cache(); Bukkit.getPluginManager().registerEvents(new PlayerEvents_1_20_1(), this); - Bukkit.getPluginManager().registerEvents(new EnvironmentEvents(), this); + Bukkit.getPluginManager().registerEvents(new EnvironmentEvents_1_20_1(), this); Bukkit.getPluginManager().registerEvents(new SelectPointEvents(), this); Objects.requireNonNull(Bukkit.getPluginCommand("dominion")).setExecutor(new Commands()); diff --git a/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java b/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents_1_20_1.java similarity index 95% rename from src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java rename to src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents_1_20_1.java index d56dc7d..eb2931f 100644 --- a/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java +++ b/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents_1_20_1.java @@ -5,7 +5,6 @@ import cn.lunadeer.dominion.dtos.DominionDTO; import cn.lunadeer.dominion.dtos.Flag; import cn.lunadeer.minecraftpluginutils.XLogger; import org.bukkit.Location; -import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; @@ -22,7 +21,7 @@ import java.util.Objects; import static cn.lunadeer.dominion.events.Apis.checkFlag; import static org.bukkit.Material.FARMLAND; -public class EnvironmentEvents implements Listener { +public class EnvironmentEvents_1_20_1 implements Listener { @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode public void onEntityExplode(EntityExplodeEvent event) { Entity entity = event.getEntity(); @@ -82,7 +81,8 @@ public class EnvironmentEvents implements Listener { return damager.getType() != EntityType.CREEPER && damager.getType() != EntityType.WITHER_SKULL && damager.getType() != EntityType.FIREBALL - && damager.getType() != EntityType.ENDER_CRYSTAL; + && damager.getType().getTypeId() != 200; + // 200 -> end_crystal } @EventHandler(priority = EventPriority.HIGHEST) // dragon_break_block @@ -147,7 +147,8 @@ public class EnvironmentEvents implements Listener { @EventHandler(priority = EventPriority.HIGHEST) // tnt_explode public void onTntExplode(EntityExplodeEvent event) { Entity entity = event.getEntity(); - if (entity.getType() != EntityType.MINECART_TNT && entity.getType() != EntityType.PRIMED_TNT) { + // 45 -> minecart_tnt, 20 -> primed_tnt + if (entity.getType().getTypeId() != 45 && entity.getType().getTypeId() != 20) { return; } event.blockList().removeIf(block -> { @@ -163,7 +164,8 @@ public class EnvironmentEvents implements Listener { return; } Entity damager = event.getDamager(); - if (damager.getType() != EntityType.PRIMED_TNT && damager.getType() != EntityType.MINECART_TNT) { + // 45 -> minecart_tnt, 20 -> primed_tnt + if (entity.getType().getTypeId() != 45 && entity.getType().getTypeId() != 20) { return; } DominionDTO dom = Cache.instance.getDominionByLoc(entity.getLocation()); diff --git a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_20_1.java b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_20_1.java index 527087d..9e41274 100644 --- a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_20_1.java +++ b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_20_1.java @@ -15,10 +15,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.*; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityPlaceEvent; -import org.bukkit.event.entity.ProjectileLaunchEvent; +import org.bukkit.event.entity.*; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingPlaceEvent; @@ -28,7 +25,6 @@ import org.bukkit.event.player.*; import org.bukkit.event.vehicle.VehicleDestroyEvent; import org.bukkit.inventory.Inventory; import org.bukkit.material.Colorable; -import org.spigotmc.event.entity.EntityMountEvent; import static cn.lunadeer.dominion.events.Apis.checkFlag; import static cn.lunadeer.dominion.events.Apis.getInvDominion; @@ -706,10 +702,9 @@ public class PlayerEvents_1_20_1 implements Listener { @EventHandler(priority = EventPriority.HIGHEST) // riding public void onRiding(EntityMountEvent event) { - if (!(event.getEntity() instanceof Player)) { + if (!(event.getEntity() instanceof Player player)) { return; } - Player player = (Player) event.getEntity(); DominionDTO dom = Cache.instance.getDominionByLoc(event.getMount().getLocation()); checkFlag(dom, Flag.RIDING, player, event); } diff --git a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_21.java b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_21.java index cdd54e0..8bd04ab 100644 --- a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_21.java +++ b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents_1_21.java @@ -18,13 +18,12 @@ public class PlayerEvents_1_21 extends PlayerEvents_1_20_1 { @EventHandler(priority = EventPriority.HIGHEST) // crafter public void onCrafterOpen(InventoryOpenEvent event) { Inventory inv = event.getInventory(); - if (inv.getType() != InventoryType.CR) { + if (inv.getType() != InventoryType.CRAFTER) { return; } - if (!(event.getPlayer() instanceof Player)) { + if (!(event.getPlayer() instanceof Player bukkitPlayer)) { return; } - Player bukkitPlayer = (Player) event.getPlayer(); DominionDTO dom = getInvDominion(bukkitPlayer, inv); checkFlag(dom, Flag.CRAFTER, bukkitPlayer, event); }