From ea86a45a39167b4f05f95658047384f161ac5362 Mon Sep 17 00:00:00 2001 From: TylerS1066 Date: Sat, 14 Jun 2025 12:52:54 -0500 Subject: [PATCH 1/3] Update versions --- build.gradle.kts | 10 +++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index bcd448a8..0e3d20aa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ plugins { `java-library` `maven-publish` - id("io.github.0ffz.github-packages") version "1.2.1" - id("io.papermc.hangar-publish-plugin") version "0.1.2" + id("io.github.apdevteam.github-packages") version "1.2.2" + id("io.papermc.hangar-publish-plugin") version "0.1.3" } repositories { @@ -15,9 +15,9 @@ repositories { dependencies { api("org.jetbrains:annotations-java5:24.1.0") - compileOnly("io.papermc.paper:paper-api:1.18.2-R0.1-SNAPSHOT") + compileOnly("io.papermc.paper:paper-api:1.20.6-R0.1-SNAPSHOT") compileOnly("net.countercraft:movecraft:+") - compileOnly("it.unimi.dsi:fastutil:8.5.11") + compileOnly("it.unimi.dsi:fastutil:8.5.13") } group = "net.countercraft.movecraft.combat" @@ -69,7 +69,7 @@ hangarPublish { platforms { register(io.papermc.hangarpublishplugin.model.Platforms.PAPER) { jar.set(tasks.jar.flatMap { it.archiveFile }) - platformVersions.set(listOf("1.18.2-1.21.1")) + platformVersions.set(listOf("1.20.6-1.21.5")) dependencies { hangar("Movecraft") { required.set(true) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4413138..ff23a68d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 8e1ba3e6d3bd504f6212f97d4c4272b60a476a7f Mon Sep 17 00:00:00 2001 From: TylerS1066 Date: Sat, 14 Jun 2025 12:53:11 -0500 Subject: [PATCH 2/3] Fix build errors --- .../movecraft/combat/features/DurabilityOverride.java | 2 +- .../movecraft/combat/features/ReImplementTNTTranslocation.java | 2 +- .../movecraft/combat/features/tracers/TNTTracers.java | 2 +- .../movecraft/combat/features/tracking/TNTTracking.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/countercraft/movecraft/combat/features/DurabilityOverride.java b/src/main/java/net/countercraft/movecraft/combat/features/DurabilityOverride.java index 51f3dc94..9703b756 100644 --- a/src/main/java/net/countercraft/movecraft/combat/features/DurabilityOverride.java +++ b/src/main/java/net/countercraft/movecraft/combat/features/DurabilityOverride.java @@ -49,7 +49,7 @@ private boolean nextToAir(@NotNull Block b) { public void onEntityExplode(@NotNull EntityExplodeEvent e) { if (DurabilityOverride == null) return; - if (e.getEntityType() != EntityType.PRIMED_TNT) + if (e.getEntityType() != EntityType.TNT) return; Set removeList = new HashSet<>(); diff --git a/src/main/java/net/countercraft/movecraft/combat/features/ReImplementTNTTranslocation.java b/src/main/java/net/countercraft/movecraft/combat/features/ReImplementTNTTranslocation.java index 35ae6eb4..aa66f5e8 100644 --- a/src/main/java/net/countercraft/movecraft/combat/features/ReImplementTNTTranslocation.java +++ b/src/main/java/net/countercraft/movecraft/combat/features/ReImplementTNTTranslocation.java @@ -59,7 +59,7 @@ private Location getCenterLocation(@NotNull Block block) { private Set getTNT(@NotNull Block piston, @Nullable Block pistonHead, @NotNull BlockFace direction) { Set searchResults = new HashSet<>(); for (Entity e : piston.getWorld().getEntities()) { - if (!e.isValid() || e.getType() != EntityType.PRIMED_TNT) + if (!e.isValid() || e.getType() != EntityType.TNT) continue; TNTPrimed tnt = (TNTPrimed) e; diff --git a/src/main/java/net/countercraft/movecraft/combat/features/tracers/TNTTracers.java b/src/main/java/net/countercraft/movecraft/combat/features/tracers/TNTTracers.java index 74d8961e..f739125f 100644 --- a/src/main/java/net/countercraft/movecraft/combat/features/tracers/TNTTracers.java +++ b/src/main/java/net/countercraft/movecraft/combat/features/tracers/TNTTracers.java @@ -146,7 +146,7 @@ public void run() { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void entityExplodeEvent(@NotNull EntityExplodeEvent e) { Entity tnt = e.getEntity(); - if (e.getEntityType() != EntityType.PRIMED_TNT) + if (e.getEntityType() != EntityType.TNT) return; if (TracerRateTicks == 0) return; diff --git a/src/main/java/net/countercraft/movecraft/combat/features/tracking/TNTTracking.java b/src/main/java/net/countercraft/movecraft/combat/features/tracking/TNTTracking.java index 8ec6948c..21928b85 100644 --- a/src/main/java/net/countercraft/movecraft/combat/features/tracking/TNTTracking.java +++ b/src/main/java/net/countercraft/movecraft/combat/features/tracking/TNTTracking.java @@ -85,7 +85,7 @@ private Vector getTNTVector() { public void onEntitySpawn(@NotNull EntitySpawnEvent e) { if (!DamageTracking.EnableTNTTracking) return; - if (!e.getEntityType().equals(EntityType.PRIMED_TNT)) + if (!e.getEntityType().equals(EntityType.TNT)) return; TNTPrimed tnt = (TNTPrimed) e.getEntity(); From 148f121e602257304c496ecd3a3aae662a728ea7 Mon Sep 17 00:00:00 2001 From: TylerS1066 Date: Sat, 14 Jun 2025 12:57:15 -0500 Subject: [PATCH 3/3] Update BlockBehaviorOverride.java --- .../features/BlockBehaviorOverride.java | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/countercraft/movecraft/combat/features/BlockBehaviorOverride.java b/src/main/java/net/countercraft/movecraft/combat/features/BlockBehaviorOverride.java index d1d8f887..a94afd17 100644 --- a/src/main/java/net/countercraft/movecraft/combat/features/BlockBehaviorOverride.java +++ b/src/main/java/net/countercraft/movecraft/combat/features/BlockBehaviorOverride.java @@ -4,7 +4,6 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap; import net.countercraft.movecraft.combat.MovecraftCombat; import net.countercraft.movecraft.util.Tags; -import org.apache.commons.lang.reflect.FieldUtils; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.file.FileConfiguration; @@ -12,6 +11,7 @@ import org.jetbrains.annotations.Nullable; import java.lang.reflect.Field; +import java.lang.reflect.InaccessibleObjectException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.*; @@ -340,7 +340,8 @@ protected boolean setIgniteOdds(Material m, int value, Object fireBlock) { abstract Class getCraftMagicNumbersClass() throws ClassNotFoundException; protected Object getBlockClass(Material m) - throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, ClassNotFoundException { + throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, + ClassNotFoundException { if (this.magicNumbers == null) { this.magicNumbers = this.getCraftMagicNumbersClass(); } @@ -348,28 +349,37 @@ protected Object getBlockClass(Material m) return method.invoke(null, m); } - protected static void writeField(@NotNull Object block, @NotNull Consumer whatToDoWithField, String fieldName) throws IllegalAccessException, NoSuchFieldException, ClassCastException { - Field field = FieldUtils.getField(block.getClass(), fieldName, true); - T obj = (T)field.get(block); + protected static void writeField(@NotNull Object block, @NotNull Consumer whatToDoWithField, + String fieldName) throws IllegalAccessException, NoSuchFieldException, ClassCastException, + InaccessibleObjectException, SecurityException { + Field field = block.getClass().getField(fieldName); + field.setAccessible(true); + T obj = (T) field.get(block); whatToDoWithField.accept(obj); } - protected static void writeField(@NotNull Object block, T value, String fieldName) throws IllegalAccessException, NoSuchFieldException, ClassCastException { - Field field = FieldUtils.getField(block.getClass(), fieldName, true); - T obj = (T)field.get(block); + protected static void writeField(@NotNull Object block, T value, String fieldName) + throws IllegalAccessException, NoSuchFieldException, ClassCastException, InaccessibleObjectException, + SecurityException { + Field field = block.getClass().getField(fieldName); + field.setAccessible(true); field.set(block, value); } protected static Optional getFieldValueSafe(@NotNull Object instance, String fieldName) { try { return Optional.ofNullable(getFieldValue(instance, fieldName)); - } catch(Exception ex) { + } catch (Exception ex) { return Optional.empty(); } } - protected static T getFieldValue(@NotNull Object instance, String fieldName) throws IllegalAccessException, NoSuchFieldException, ClassCastException { - Field field = FieldUtils.getField(instance.getClass(), fieldName, true); - T obj = (T)field.get(instance); + + protected static T getFieldValue(@NotNull Object instance, String fieldName) + throws IllegalAccessException, NoSuchFieldException, ClassCastException, InaccessibleObjectException, + SecurityException { + Field field = instance.getClass().getField(fieldName); + field.setAccessible(true); + T obj = (T) field.get(instance); return obj; } }