diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index b2fdf70..4716797 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -11,6 +11,11 @@
+
+
+
+
+
@@ -21,6 +26,11 @@
+
+
+
+
+
diff --git a/1_14_R1/pom.xml b/1_14_R1/pom.xml
index 4815305..cfd89e7 100644
--- a/1_14_R1/pom.xml
+++ b/1_14_R1/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_14_R1
diff --git a/1_15_R1/pom.xml b/1_15_R1/pom.xml
index 93d603f..b1c2dd0 100644
--- a/1_15_R1/pom.xml
+++ b/1_15_R1/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_15_R1
diff --git a/1_16_R1/pom.xml b/1_16_R1/pom.xml
index f0842d7..dd4bba0 100644
--- a/1_16_R1/pom.xml
+++ b/1_16_R1/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_16_R1
diff --git a/1_16_R2/pom.xml b/1_16_R2/pom.xml
index 633a57d..7d0bd68 100644
--- a/1_16_R2/pom.xml
+++ b/1_16_R2/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_16_R2
diff --git a/1_16_R3/pom.xml b/1_16_R3/pom.xml
index 7bda8d0..8a45094 100644
--- a/1_16_R3/pom.xml
+++ b/1_16_R3/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_16_R3
diff --git a/1_17_R1/pom.xml b/1_17_R1/pom.xml
index 1a97604..cd5c4bb 100644
--- a/1_17_R1/pom.xml
+++ b/1_17_R1/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_17_R1
diff --git a/1_18_R1/pom.xml b/1_18_R1/pom.xml
index e917ed8..967cdb3 100644
--- a/1_18_R1/pom.xml
+++ b/1_18_R1/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_18_R1
diff --git a/1_18_R1/target/maven-archiver/pom.properties b/1_18_R1/target/maven-archiver/pom.properties
index ac1150a..3656948 100644
--- a/1_18_R1/target/maven-archiver/pom.properties
+++ b/1_18_R1/target/maven-archiver/pom.properties
@@ -1,5 +1,5 @@
#Generated by Maven
-#Mon Mar 28 15:34:13 EDT 2022
+#Sat Apr 02 16:01:12 EDT 2022
groupId=com.github.dawsonvilamaa
artifactId=1_18_R1
-version=1.3.0
+version=1.3.1
diff --git a/1_18_R2/pom.xml b/1_18_R2/pom.xml
index 65afa74..ef5c5ce 100644
--- a/1_18_R2/pom.xml
+++ b/1_18_R2/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.11_18_R2
diff --git a/Build/dependency-reduced-pom.xml b/Build/dependency-reduced-pom.xml
index 5d28e0b..d70c94e 100644
--- a/Build/dependency-reduced-pom.xml
+++ b/Build/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.14.0.0Build
diff --git a/Build/pom.xml b/Build/pom.xml
index 1012cf2..76ac703 100644
--- a/Build/pom.xml
+++ b/Build/pom.xml
@@ -5,7 +5,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.14.0.0
diff --git a/README.md b/README.md
index bc78caf..aeff4a5 100644
--- a/README.md
+++ b/README.md
@@ -27,19 +27,27 @@ Note: Teleportation between beacons requires the beacon to have no blocks inside
## Permissions
-- BeaconWaypoints.waypoint: Allows players to create waypoints
+- BeaconWaypoints.createWaypoints: Allows players to create waypoints
+- BeaconWaypoints.useWaypoints: Allows players to use waypoints
+- BeaconWaypoints.usePrivateWaypoints: Allows players to create and teleport to private waypoints
+- BeaconWaypoints.breakWaypointBeacons: Allows players to break beacons that have waypoints
+- BeaconWaypoints.manageAllWaypoints: Allows players to edit or remove all public waypoints and corresponding beacons
- BeaconWaypoints.reload: Allows players to reload the config
## Configuration
- max-public-waypoints: The maximum amount of public waypoints that can exist at once on the server (default: 100)
-- max-private-waypoints: The maximum amount of private waypoints that each player can have
+- max-private-waypoints: The maximum amount of private waypoints that each player can have (default: 30)
- public-waypoint-menu-rows: The number of rows the public waypoint selection menu will show per page, not including the row for page navigation (default: 3, range: 1-5)
- private-waypoint-menu-rows: The number of rows the private waypoint selection menu will show per page, not including the row for page navigation (default: 2, range: 1-5)
- instant-teleport: Activate teleportation as soon as the destination is chosen without a warmup animation (default: false)
- disable-animations: Disable the particle animations when teleporting through a beacon (default: false)
+- launch-player: Launch the player when teleporting through a beacon (default: true)
+- launch-player-height: The y-level players will launch into the air before teleporting to the destination. Anti-cheat plugins may not allow players to go above a certain height, so adjust this as needed. The minimum value is the world height.
- disable-group-teleporting: By default, beacons teleport anyone standing on top of them. If you want to limit the teleportation to only the player who chooses the destination, set this to true. (default: false)
-- allowed-worlds: List of worlds that allow waypoints based on folder name (default: world, world_nether, world_the_end)
+- allow-beacon-break-by-owner: If the BeaconWaypoints.breakWaypointBeacons permission is disabled for a player, this will still allow them to break a beacon if all waypoints attached to it are owned by them. The owner of a beacon is the player who placed it. (default: true)
+- allow-all-worlds: Allow waypoints to be created in any world (default: true)
+- allowed-worlds: List of worlds that allow waypoints based on folder name if allow-all-worlds is disabled (default: world, world_nether, world_the_end)
- waypoint-icons: List of items that can be used for waypoint icons, the order given here is the same order that will be in the icon picker menu (default includes 111 items)
Note: If WorldEdit is used to delete a beacon, the waypoint will not be deleted. You will need to manually place back the beacon and break it, or use the setblock and fill commands instead.
@@ -49,6 +57,32 @@ Note: If WorldEdit is used to delete a beacon, the waypoint will not be deleted.
## Changelog
+# 1.3.1
+
+Fixes:
+- Added compatibility with NoCheatPlus by adding temporary exemptions when a player is teleporting.
+- Added launch-player-height config option to change how high players are launched before teleporting. Anti-cheat plugins might not allow players above a certain height, so this is a way to work around that.
+
+# 1.3.0
+
+Changes:
+- The default waypoint type is now public, so typing out "public" is no longer required when creating a new waypoint
+- Changed permissions
+ - Removed waypoint permission
+ - Added createWaypoints permission
+ - Added useWaypoints permission
+ - Added usePrivateWaypoints permission
+ - Added breakWaypointBeacons permission
+ - Added manageAllWaypoints permission
+- Changed config.yml
+ - Added launch-player option
+ - Added allow-beacon-break-by-owner option
+ - Added allow-all-worlds option
+
+Bug Fixes:
+- The back arrow player texture for the player skull in the waypoint options menu would not load
+- A waypoint would be removed if a beacon became obstructed and then unobstructed
+
# 1.2.0
Changes:
diff --git a/VersionWrapper/pom.xml b/VersionWrapper/pom.xml
index 245d961..e479ca8 100644
--- a/VersionWrapper/pom.xml
+++ b/VersionWrapper/pom.xml
@@ -5,7 +5,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.14.0.0
diff --git a/changelog.txt b/changelog.txt
index 8ee02fe..b25241c 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,17 +1,3 @@
-Changes:
-- The default waypoint type is now public, so typing out "public" is no longer required when creating a new waypoint
-- Changed permissions
- - Removed waypoint permission
- - Added createWaypoints permission
- - Added useWaypoints permission
- - Added usePrivateWaypoints permission
- - Added breakWaypointBeacons permission
- - Added manageAllWaypoints permission
-- Changed config.yml
- - Added launch-player option
- - Added allow-beacon-break-by-owner option
- - Added allow-all-worlds option
-
-Bug Fixes:
-- The back arrow player texture for the player skull in the waypoint options menu would not load
-- A waypoint would be removed if a beacon became obstructed and then unobstructed
\ No newline at end of file
+Fixes:
+- Added compatibility with NoCheatPlus by adding temporary exemptions when a player is teleporting.
+- Added launch-player-height config option to change how high players are launched before teleporting. Anti-cheat plugins might not allow players above a certain height, so this is a way to work around that.
\ No newline at end of file
diff --git a/core/dependency-reduced-pom.xml b/core/dependency-reduced-pom.xml
index 266a739..650d266 100644
--- a/core/dependency-reduced-pom.xml
+++ b/core/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.14.0.0core
@@ -42,6 +42,12 @@
1.14-R0.1-SNAPSHOTprovided
+
+ fr.neatmonster
+ nocheatplus
+ 3.16.1-SNAPSHOT
+ provided
+ com.googlecode.json-simplejson-simple
diff --git a/core/pom.xml b/core/pom.xml
index ad6e81d..5ca9fe7 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -4,7 +4,7 @@
BeaconWaypointscom.github.dawsonvilamaa
- 1.3.0
+ 1.3.1core
@@ -16,6 +16,12 @@
1.14-R0.1-SNAPSHOTprovided
+
+ fr.neatmonster
+ nocheatplus
+ 3.16.1-SNAPSHOT
+ provided
+ com.github.dawsonvilamaaVersionWrapper
diff --git a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/Main.java b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/Main.java
index 3ec7efd..cec2578 100644
--- a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/Main.java
+++ b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/Main.java
@@ -8,6 +8,7 @@
import com.github.dawsonvilamaa.beaconwaypoint.waypoints.Waypoint;
import com.github.dawsonvilamaa.beaconwaypoint.waypoints.WaypointManager;
import com.github.dawsonvilamaa.beaconwaypoint.waypoints.WaypointPlayer;
+import fr.neatmonster.nocheatplus.hooks.NCPExemptionManager;
import org.bukkit.ChatColor;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
diff --git a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.java b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.java
index 676f42a..f0bdb24 100644
--- a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.java
+++ b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.java
@@ -20,6 +20,7 @@
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
+import org.bukkit.event.player.PlayerAdvancementDoneEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerJoinEvent;
diff --git a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.java b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.java
index 3ba08ea..b76ade1 100644
--- a/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.java
+++ b/core/src/main/java/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.java
@@ -1,6 +1,9 @@
package com.github.dawsonvilamaa.beaconwaypoint.waypoints;
import com.github.dawsonvilamaa.beaconwaypoint.Main;
+import fr.neatmonster.nocheatplus.NCPAPIProvider;
+import fr.neatmonster.nocheatplus.checks.CheckType;
+import fr.neatmonster.nocheatplus.hooks.NCPExemptionManager;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.configuration.file.FileConfiguration;
@@ -203,11 +206,19 @@ public void run() {
tpLoc.setDirection(entity.getLocation().getDirection());
entity.teleport(tpLoc, PlayerTeleportEvent.TeleportCause.PLUGIN);
} else {
+ NCPExemptionManager.exemptPermanently(entity.getUniqueId(), CheckType.MOVING_CREATIVEFLY);
waypointPlayer.setTeleporting(true);
((Player) entity).closeInventory();
- int startBeamTop = startBeaconStatus == 1 ? entity.getWorld().getMaxHeight() + 256 : startBeaconStatus - 2;
- int destinationBeamTop = destinationBeaconStatus == 1 ? entity.getWorld().getMaxHeight() + 256 : destinationBeaconStatus - 2;
+
+ if (!config.contains("launch-player-height"))
+ config.set("launch-player-height", 576);
+ int launchPlayerHeight = config.getInt("launch-player-height");
+ int worldHeight = startLoc.getWorld().getMaxHeight();
+ if (launchPlayerHeight < worldHeight)
+ launchPlayerHeight = worldHeight;
+ int startBeamTop = startBeaconStatus == 1 ? launchPlayerHeight : startBeaconStatus - 2;
+ int destinationBeamTop = destinationBeaconStatus == 1 ? launchPlayerHeight : destinationBeaconStatus - 2;
tpLoc.setY(destinationBeamTop);
//keep players in start beam
@@ -242,6 +253,7 @@ public void run() {
//teleport player to new beam
tpLoc.setDirection(entity.getLocation().getDirection());
+ NCPExemptionManager.unexempt(entity.getUniqueId(), CheckType.MOVING_CREATIVEFLY);
entity.teleport(tpLoc, PlayerTeleportEvent.TeleportCause.PLUGIN);
entity.setVelocity(new Vector(0, -2, 0));
((LivingEntity) entity).removePotionEffect(PotionEffectType.LEVITATION);
diff --git a/core/src/main/resources/config.yml b/core/src/main/resources/config.yml
index 95e4a70..5cf7ec0 100644
--- a/core/src/main/resources/config.yml
+++ b/core/src/main/resources/config.yml
@@ -25,6 +25,10 @@ disable-animations: false
# Launch the player into the air when teleporting through a beacon
launch-player: true
+# The y-level players will launch into the air before teleporting to the destination. Anti-cheat plugins may not allow
+# players to go above a certain height, so adjust this as needed. The minimum value is the world height.
+launch-player-height: 576
+
# By default, beacons teleport anyone standing on top of them. If you want to limit the teleportation to only the
# player who chooses the destination, set this to true.
disable-group-teleporting: false
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main$1.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main$1.class
index 23aa352..a6e2b29 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main$1.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main$1.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main.class
index d5ec7d2..2fabc90 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/Main.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.class
index 631e375..53bc404 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/listeners/WorldListener.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1$1.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1$1.class
index 10693a8..a2ac049 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1$1.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1$1.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1.class
index 716015a..6e38199 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1$1.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1.class
index 0ef4db4..79f9165 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint$1.class differ
diff --git a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.class b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.class
index ca17ff0..4417568 100644
Binary files a/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.class and b/core/target/classes/com/github/dawsonvilamaa/beaconwaypoint/waypoints/Waypoint.class differ
diff --git a/core/target/maven-archiver/pom.properties b/core/target/maven-archiver/pom.properties
index f1bfb13..8d0c48b 100644
--- a/core/target/maven-archiver/pom.properties
+++ b/core/target/maven-archiver/pom.properties
@@ -1,5 +1,5 @@
#Generated by Maven
-#Mon Mar 28 15:34:06 EDT 2022
+#Sat Apr 02 16:01:09 EDT 2022
groupId=com.github.dawsonvilamaa
artifactId=core
-version=1.3.0
+version=1.3.1
diff --git a/pom.xml b/pom.xml
index ce7ea8a..9434987 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0com.github.dawsonvilamaaBeaconWaypoints
- 1.3.0
+ 1.3.1pom
@@ -30,6 +30,14 @@
true
+
+ md_5-snapshots
+ https://repo.md-5.net/content/repositories/snapshots/
+
+
+ md_5-releases
+ https://repo.md-5.net/content/repositories/releases/
+
diff --git a/todo.txt b/todo.txt
index 0985add..e69de29 100644
--- a/todo.txt
+++ b/todo.txt
@@ -1,5 +0,0 @@
-- add new permissions (break beacon, create and use private waypoints, teleport, edit any beacon) (done)
-- add config options (allow owners to break beacons if they own all waypoints, launch player, allow all worlds) (done)
-- fix back arrow not loading for waypoint options menu (done)
-- fix bug where if beacon is obstructed and unobstructed, the waypoint gets deleted (done)
-- make public the default waypoint type (done)
\ No newline at end of file