Skip to content

Commit 54b93a0

Browse files
committed
Remove PlayerMoveEvent from Towny events
1 parent d0f798e commit 54b93a0

File tree

7 files changed

+28
-75
lines changed

7 files changed

+28
-75
lines changed

Towny/src/main/java/com/palmergames/bukkit/towny/event/PlayerChangePlotEvent.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,20 @@
88

99
import org.bukkit.Bukkit;
1010
import org.bukkit.entity.Player;
11-
import org.bukkit.event.Cancellable;
1211
import org.bukkit.event.Event;
1312
import org.bukkit.event.HandlerList;
14-
import org.bukkit.event.player.PlayerMoveEvent;
1513

1614
/**
1715
* Author: Chris H (Zren / Shade)
1816
* Date: 4/15/12
1917
*/
20-
public class PlayerChangePlotEvent extends Event implements Cancellable {
18+
public class PlayerChangePlotEvent extends Event {
2119

2220
private static final HandlerList handlers = new HandlerList();
2321

2422
private final Player player;
2523
private final WorldCoord from;
2624
private final WorldCoord to;
27-
private boolean cancelled;
2825
private boolean showPlotNotifications;
2926

3027
@Override
@@ -49,8 +46,8 @@ public WorldCoord getFrom() {
4946
}
5047

5148
@Deprecated(forRemoval = true)
52-
public PlayerMoveEvent getMoveEvent() {
53-
throw new UnsupportedOperationException("This event no longer includes the delegate PlayerMoveEvent. Please use #setCancelled to cancel this event instead.");
49+
public org.bukkit.event.player.PlayerMoveEvent getMoveEvent() {
50+
throw new UnsupportedOperationException("This event no longer includes the delegate PlayerMoveEvent.");
5451
}
5552

5653
public WorldCoord getTo() {
@@ -83,13 +80,4 @@ public void setShowingPlotNotifications(boolean showPlotNotifications) {
8380
this.showPlotNotifications = showPlotNotifications;
8481
}
8582

86-
@Override
87-
public void setCancelled(boolean cancelled) {
88-
this.cancelled = cancelled;
89-
}
90-
91-
@Override
92-
public boolean isCancelled() {
93-
return cancelled;
94-
}
9583
}

Towny/src/main/java/com/palmergames/bukkit/towny/event/player/PlayerEntersIntoDistrictEvent.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.bukkit.entity.Player;
55
import org.bukkit.event.Event;
66
import org.bukkit.event.HandlerList;
7-
import org.bukkit.event.player.PlayerMoveEvent;
87
import org.jetbrains.annotations.Nullable;
98

109
import com.palmergames.bukkit.towny.TownyAPI;
@@ -18,7 +17,6 @@
1817
public class PlayerEntersIntoDistrictEvent extends Event {
1918
private static final HandlerList handlers = new HandlerList();
2019
private final District enteredDistrict;
21-
private final PlayerMoveEvent pme;
2220
private final WorldCoord from;
2321
private final WorldCoord to;
2422
private final Player player;
@@ -32,12 +30,11 @@ public static HandlerList getHandlerList() {
3230
return handlers;
3331
}
3432

35-
public PlayerEntersIntoDistrictEvent(Player player, WorldCoord to, WorldCoord from, District enteredDistrict, PlayerMoveEvent pme) {
33+
public PlayerEntersIntoDistrictEvent(Player player, WorldCoord to, WorldCoord from, District enteredDistrict) {
3634
super(!Bukkit.getServer().isPrimaryThread());
3735
this.enteredDistrict = enteredDistrict;
3836
this.player = player;
3937
this.from = from;
40-
this.pme = pme;
4138
this.to = to;
4239
}
4340

@@ -50,10 +47,6 @@ public Resident getResident() {
5047
return TownyAPI.getInstance().getResident(player);
5148
}
5249

53-
public PlayerMoveEvent getPlayerMoveEvent() {
54-
return pme;
55-
}
56-
5750
public District getEnteredDistrict() {
5851
return enteredDistrict;
5952
}

Towny/src/main/java/com/palmergames/bukkit/towny/event/player/PlayerEntersIntoTownBorderEvent.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.bukkit.entity.Player;
55
import org.bukkit.event.Event;
66
import org.bukkit.event.HandlerList;
7-
import org.bukkit.event.player.PlayerMoveEvent;
87
import org.jetbrains.annotations.Nullable;
98

109
import com.palmergames.bukkit.towny.TownyAPI;
@@ -18,7 +17,6 @@
1817
public class PlayerEntersIntoTownBorderEvent extends Event {
1918
private static final HandlerList handlers = new HandlerList();
2019
private final Town enteredTown;
21-
private final PlayerMoveEvent pme;
2220
private final WorldCoord from;
2321
private final WorldCoord to;
2422
private final Player player;
@@ -32,12 +30,11 @@ public static HandlerList getHandlerList() {
3230
return handlers;
3331
}
3432

35-
public PlayerEntersIntoTownBorderEvent(Player player, WorldCoord to, WorldCoord from, Town enteredTown, PlayerMoveEvent pme) {
33+
public PlayerEntersIntoTownBorderEvent(Player player, WorldCoord to, WorldCoord from, Town enteredTown) {
3634
super(!Bukkit.getServer().isPrimaryThread());
3735
this.enteredTown = enteredTown;
3836
this.player = player;
3937
this.from = from;
40-
this.pme = pme;
4138
this.to = to;
4239
}
4340

@@ -50,10 +47,6 @@ public Resident getResident() {
5047
return TownyAPI.getInstance().getResident(player);
5148
}
5249

53-
public PlayerMoveEvent getPlayerMoveEvent() {
54-
return pme;
55-
}
56-
5750
public Town getEnteredTown() {
5851
return enteredTown;
5952
}

Towny/src/main/java/com/palmergames/bukkit/towny/event/player/PlayerExitsFromDistrictEvent.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.bukkit.entity.Player;
55
import org.bukkit.event.Event;
66
import org.bukkit.event.HandlerList;
7-
import org.bukkit.event.player.PlayerMoveEvent;
87
import org.jetbrains.annotations.Nullable;
98

109
import com.palmergames.bukkit.towny.TownyAPI;
@@ -16,7 +15,6 @@ public class PlayerExitsFromDistrictEvent extends Event {
1615
private static final HandlerList handlers = new HandlerList();
1716

1817
private final District leftDistrict;
19-
private final PlayerMoveEvent pme;
2018
private final WorldCoord from;
2119
private final Player player;
2220
private final WorldCoord to;
@@ -30,12 +28,11 @@ public static HandlerList getHandlerList() {
3028
return handlers;
3129
}
3230

33-
public PlayerExitsFromDistrictEvent(Player player, WorldCoord to, WorldCoord from, District leftDistrict, PlayerMoveEvent pme) {
31+
public PlayerExitsFromDistrictEvent(Player player, WorldCoord to, WorldCoord from, District leftDistrict) {
3432
super(!Bukkit.getServer().isPrimaryThread());
3533
this.leftDistrict = leftDistrict;
3634
this.player = player;
3735
this.from = from;
38-
this.pme = pme;
3936
this.to = to;
4037
}
4138

@@ -48,10 +45,6 @@ public Resident getResident() {
4845
return TownyAPI.getInstance().getResident(player);
4946
}
5047

51-
public PlayerMoveEvent getPlayerMoveEvent() {
52-
return pme;
53-
}
54-
5548
public District getLeftDistrict() {
5649
return leftDistrict;
5750
}

Towny/src/main/java/com/palmergames/bukkit/towny/event/player/PlayerExitsFromTownBorderEvent.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.bukkit.entity.Player;
55
import org.bukkit.event.Event;
66
import org.bukkit.event.HandlerList;
7-
import org.bukkit.event.player.PlayerMoveEvent;
87
import org.jetbrains.annotations.Nullable;
98

109
import com.palmergames.bukkit.towny.TownyAPI;
@@ -16,7 +15,6 @@ public class PlayerExitsFromTownBorderEvent extends Event {
1615
private static final HandlerList handlers = new HandlerList();
1716

1817
private final Town leftTown;
19-
private final PlayerMoveEvent pme;
2018
private final WorldCoord from;
2119
private final Player player;
2220
private final WorldCoord to;
@@ -30,12 +28,11 @@ public static HandlerList getHandlerList() {
3028
return handlers;
3129
}
3230

33-
public PlayerExitsFromTownBorderEvent(Player player, WorldCoord to, WorldCoord from, Town leftTown, PlayerMoveEvent pme) {
31+
public PlayerExitsFromTownBorderEvent(Player player, WorldCoord to, WorldCoord from, Town leftTown) {
3432
super(!Bukkit.getServer().isPrimaryThread());
3533
this.leftTown = leftTown;
3634
this.player = player;
3735
this.from = from;
38-
this.pme = pme;
3936
this.to = to;
4037
}
4138

@@ -48,10 +45,6 @@ public Resident getResident() {
4845
return TownyAPI.getInstance().getResident(player);
4946
}
5047

51-
public PlayerMoveEvent getPlayerMoveEvent() {
52-
return pme;
53-
}
54-
5548
public Town getLeftTown() {
5649
return leftTown;
5750
}

Towny/src/main/java/com/palmergames/bukkit/towny/listeners/TownyPlayerListener.java

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ public void onPlayerMove(PlayerMoveEvent event) {
779779
// Let's ignore Citizens NPCs
780780
if (PluginIntegrations.getInstance().isNPC(event.getPlayer()))
781781
return;
782-
782+
783783
if (plugin.isError()) {
784784
event.setCancelled(true);
785785
return;
@@ -816,22 +816,22 @@ public void handleCellChange(Player player, Location from, Location to, Cancella
816816

817817
if (this.teleportWarmupTime > 0 && this.isMovementCancellingWarmup) {
818818
final Resident resident = TownyAPI.getInstance().getResident(player);
819-
819+
820820
if (resident != null && resident.hasRequestedTeleport() && !resident.isAdmin() && TeleportWarmupTimerTask.abortTeleportRequest(resident, CancelledTeleportReason.MOVEMENT))
821821
TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_teleport_cancelled"));
822822
}
823823

824824
if (WorldCoord.cellChanged(from, to)) {
825825

826-
TownyWorld fromWorld = TownyAPI.getInstance().getTownyWorld(from.getWorld());
826+
TownyWorld fromWorld = TownyAPI.getInstance().getTownyWorld(from.getWorld());
827827
TownyWorld toWorld = TownyAPI.getInstance().getTownyWorld(to.getWorld());
828828
if (fromWorld == null || toWorld == null) {
829829
TownyMessaging.sendErrorMsg(player, Translatable.of("not_registered"));
830830
return;
831831
}
832832
WorldCoord fromCoord = WorldCoord.parseWorldCoord(from);
833833
WorldCoord toCoord = WorldCoord.parseWorldCoord(to);
834-
834+
835835
onPlayerMoveChunk(player, fromCoord, toCoord, event);
836836
}
837837
}
@@ -1007,14 +1007,9 @@ private void onPlayerMoveChunk(Player player, WorldCoord from, WorldCoord to, Ca
10071007
// Paper doesn't currently throw PlayerMoveEvents for passengers in vehicles who aren't the driver.
10081008
// This workaround ensures that any passengers that are players will cause PlayerChangePlotEvents.
10091009
if (player.isInsideVehicle())
1010-
handleAnimalVehiclesWorkaround(player, player.getVehicle() , from, to, moveEvent);
1010+
handleAnimalVehiclesWorkaround(player.getVehicle(), from, to);
10111011

1012-
PlayerChangePlotEvent event = new PlayerChangePlotEvent(player, from, to, moveEvent);
1013-
BukkitTools.fireEvent(event);
1014-
1015-
if (event.isCancelled()) {
1016-
moveEvent.setCancelled(true);
1017-
}
1012+
BukkitTools.fireEvent(new PlayerChangePlotEvent(player, from, to));
10181013
}
10191014

10201015
/**
@@ -1023,14 +1018,12 @@ private void onPlayerMoveChunk(Player player, WorldCoord from, WorldCoord to, Ca
10231018
* ridden they stop throwing EntityMoveEvents. The driver is the only one who
10241019
* will have a PlayerMoveEvent thrown which is why we're doing this here.
10251020
*
1026-
* @param player Player driving the Vehicle.
10271021
* @param vehicle Vehicle being driven.
10281022
* @param from WorldCoord the players are leaving.
10291023
* @param to WorldCoord the players are entering.
1030-
* @param moveEvent PlayerMoveEvent of the driving player.
10311024
*/
1032-
private void handleAnimalVehiclesWorkaround(Player player, @Nullable Entity vehicle, WorldCoord from, WorldCoord to, PlayerMoveEvent moveEvent) {
1033-
if (!EntityLists.MULTISEAT_ANIMAL_MOUNTS.contains(vehicle))
1025+
private void handleAnimalVehiclesWorkaround(@Nullable Entity vehicle, WorldCoord from, WorldCoord to) {
1026+
if (vehicle == null || !EntityLists.MULTISEAT_ANIMAL_MOUNTS.contains(vehicle))
10341027
return;
10351028

10361029
if (vehicle.getPassengers().size() < 2)
@@ -1042,7 +1035,7 @@ private void handleAnimalVehiclesWorkaround(Player player, @Nullable Entity vehi
10421035

10431036
for (Entity entity : passengers) {
10441037
if (entity instanceof Player rider)
1045-
BukkitTools.fireEvent(new PlayerChangePlotEvent(rider, from, to, moveEvent));
1038+
BukkitTools.fireEvent(new PlayerChangePlotEvent(rider, from, to));
10461039
}
10471040
}
10481041

@@ -1060,18 +1053,18 @@ public void onPlayerChangePlotEvent(PlayerChangePlotEvent event) {
10601053
return;
10611054
if (to.isWilderness()) {
10621055
// Gone from a Town into the wilderness.
1063-
BukkitTools.fireEvent(new PlayerExitsFromTownBorderEvent(event.getPlayer(), to, from, from.getTownOrNull(), event.getMoveEvent()));
1056+
BukkitTools.fireEvent(new PlayerExitsFromTownBorderEvent(event.getPlayer(), to, from, from.getTownOrNull()));
10641057
} else if (from.isWilderness()) {
10651058
// Gone from wilderness into Town.
1066-
BukkitTools.fireEvent(new PlayerEntersIntoTownBorderEvent(event.getPlayer(), to, from, to.getTownOrNull(), event.getMoveEvent()));
1059+
BukkitTools.fireEvent(new PlayerEntersIntoTownBorderEvent(event.getPlayer(), to, from, to.getTownOrNull()));
10671060
// Both to and from have towns.
10681061
} else if (to.getTownOrNull().equals(from.getTownOrNull())) {
10691062
// The towns are the same, no event will fire.
10701063
return;
10711064
} else {
10721065
// Player has left one Town and immediately entered a different one.
1073-
BukkitTools.fireEvent(new PlayerEntersIntoTownBorderEvent(event.getPlayer(), to, from, to.getTownOrNull(), event.getMoveEvent()));
1074-
BukkitTools.fireEvent(new PlayerExitsFromTownBorderEvent(event.getPlayer(), to, from, from.getTownOrNull(), event.getMoveEvent()));
1066+
BukkitTools.fireEvent(new PlayerEntersIntoTownBorderEvent(event.getPlayer(), to, from, to.getTownOrNull()));
1067+
BukkitTools.fireEvent(new PlayerExitsFromTownBorderEvent(event.getPlayer(), to, from, from.getTownOrNull()));
10751068
}
10761069
}
10771070

@@ -1096,24 +1089,24 @@ public void onPlayerChangeDistricts(PlayerChangePlotEvent event) {
10961089

10971090
if (to.isWilderness() && fromHasDistrict) {
10981091
// Gone from a Town into the wilderness.
1099-
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict, event.getMoveEvent()));
1092+
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict));
11001093

11011094
} else if (from.isWilderness() && toHasDistrict) {
11021095
// Gone from wilderness into Town.
1103-
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict, event.getMoveEvent()));
1096+
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict));
11041097

11051098
} else if (!to.isWilderness() && !from.isWilderness() && to.getTownOrNull().equals(from.getTownOrNull())
11061099
&& fromHasDistrict && toHasDistrict && !fromDistrict.equals(toDistrict)) {
11071100
// Moving in same town, between two different Districts.
1108-
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict, event.getMoveEvent()));
1109-
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict, event.getMoveEvent()));
1101+
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict));
1102+
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict));
11101103

11111104
} else {
11121105
// Player has left one Town and immediately entered a different one, check if there were districts.
11131106
if (fromHasDistrict)
1114-
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict, event.getMoveEvent()));
1107+
BukkitTools.fireEvent(new PlayerExitsFromDistrictEvent(event.getPlayer(), to, from, fromDistrict));
11151108
if (toHasDistrict)
1116-
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict, event.getMoveEvent()));
1109+
BukkitTools.fireEvent(new PlayerEntersIntoDistrictEvent(event.getPlayer(), to, from, toDistrict));
11171110
}
11181111
}
11191112

Towny/src/main/java/com/palmergames/bukkit/towny/listeners/TownyVehicleListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ public void onVehicleEnterCheckingPlayerMovement(VehicleEnterEvent event) {
182182
if (vehicleCoord.equals(playerCoord))
183183
return;
184184

185-
BukkitTools.fireEvent(new PlayerChangePlotEvent(player, playerCoord, vehicleCoord, new PlayerMoveEvent(player, player.getLocation(), event.getVehicle().getLocation())));
185+
BukkitTools.fireEvent(new PlayerChangePlotEvent(player, playerCoord, vehicleCoord));
186186
}
187187
}
188188

@@ -221,7 +221,7 @@ public void onVehicleMovementWithPassenger(VehicleMoveEvent event) {
221221
// HappyGhasts can have more than one passenger & a driver will have a PlayerMoveEvent.
222222
for (Entity rider : passengers) {
223223
if (rider instanceof Player player)
224-
BukkitTools.fireEvent(new PlayerChangePlotEvent(player, fromCoord, toCoord, new PlayerMoveEvent(player, from, to)));
224+
BukkitTools.fireEvent(new PlayerChangePlotEvent(player, fromCoord, toCoord));
225225
}
226226
}
227227
}

0 commit comments

Comments
 (0)