Skip to content

Commit 84c0a9a

Browse files
committed
Merge pull request #372 from PseudoKnight/master
Rewrite player_move and vehicle_move to use server events. Add world prefilters.
2 parents ae22719 + f7d6cea commit 84c0a9a

File tree

9 files changed

+342
-437
lines changed

9 files changed

+342
-437
lines changed

src/main/java/com/laytonsmith/abstraction/bukkit/events/BukkitPlayerEvents.java

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -42,34 +42,10 @@
4242
import org.bukkit.block.BlockFace;
4343
import org.bukkit.entity.Player;
4444
import org.bukkit.event.Event;
45-
import org.bukkit.event.entity.EntityDeathEvent;
4645
import org.bukkit.event.entity.FoodLevelChangeEvent;
4746
import org.bukkit.event.entity.PlayerDeathEvent;
48-
import org.bukkit.event.player.AsyncPlayerChatEvent;
49-
import org.bukkit.event.player.PlayerBedEnterEvent;
50-
import org.bukkit.event.player.PlayerBedLeaveEvent;
51-
import org.bukkit.event.player.PlayerChangedWorldEvent;
52-
import org.bukkit.event.player.PlayerChatTabCompleteEvent;
53-
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
54-
import org.bukkit.event.player.PlayerEditBookEvent;
55-
import org.bukkit.event.player.PlayerEvent;
56-
import org.bukkit.event.player.PlayerExpChangeEvent;
57-
import org.bukkit.event.player.PlayerFishEvent;
58-
import org.bukkit.event.player.PlayerGameModeChangeEvent;
59-
import org.bukkit.event.player.PlayerInteractEvent;
60-
import org.bukkit.event.player.PlayerItemConsumeEvent;
61-
import org.bukkit.event.player.PlayerJoinEvent;
62-
import org.bukkit.event.player.PlayerKickEvent;
63-
import org.bukkit.event.player.PlayerLoginEvent;
64-
import org.bukkit.event.player.PlayerPortalEvent;
65-
import org.bukkit.event.player.PlayerPreLoginEvent;
47+
import org.bukkit.event.player.*;
6648
import org.bukkit.event.player.PlayerPreLoginEvent.Result;
67-
import org.bukkit.event.player.PlayerQuitEvent;
68-
import org.bukkit.event.player.PlayerRespawnEvent;
69-
import org.bukkit.event.player.PlayerTeleportEvent;
70-
import org.bukkit.event.player.PlayerToggleFlightEvent;
71-
import org.bukkit.event.player.PlayerToggleSneakEvent;
72-
import org.bukkit.event.player.PlayerToggleSprintEvent;
7349
import org.bukkit.inventory.ItemStack;
7450

7551
import java.util.ArrayList;
@@ -972,4 +948,44 @@ public void setCancelled(boolean bln) {
972948
ptse.setCancelled(bln);
973949
}
974950
}
951+
952+
@abstraction(type = Implementation.Type.BUKKIT)
953+
public static class BukkitMCPlayerMoveEvent extends BukkitMCPlayerEvent
954+
implements MCPlayerMoveEvent {
955+
PlayerMoveEvent pme;
956+
int threshold;
957+
MCLocation from;
958+
959+
public BukkitMCPlayerMoveEvent(PlayerMoveEvent event, int threshold, MCLocation from) {
960+
super(event);
961+
this.pme = event;
962+
this.threshold = threshold;
963+
this.from = from;
964+
}
965+
966+
@Override
967+
public int getThreshold() {
968+
return threshold;
969+
};
970+
971+
@Override
972+
public MCLocation getFrom() {
973+
return new BukkitMCLocation(from);
974+
};
975+
976+
@Override
977+
public MCLocation getTo() {
978+
return new BukkitMCLocation(pme.getTo());
979+
};
980+
981+
@Override
982+
public boolean isCancelled() {
983+
return pme.isCancelled();
984+
}
985+
986+
@Override
987+
public void setCancelled(boolean bln) {
988+
pme.setCancelled(bln);
989+
}
990+
}
975991
}

src/main/java/com/laytonsmith/abstraction/bukkit/events/BukkitVehicleEvents.java

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,25 @@
22

33
import com.laytonsmith.abstraction.Implementation;
44
import com.laytonsmith.abstraction.MCEntity;
5+
import com.laytonsmith.abstraction.MCLocation;
56
import com.laytonsmith.abstraction.blocks.MCBlock;
67
import com.laytonsmith.abstraction.bukkit.BukkitConvertor;
8+
import com.laytonsmith.abstraction.bukkit.BukkitMCLocation;
79
import com.laytonsmith.abstraction.bukkit.blocks.BukkitMCBlock;
810
import com.laytonsmith.abstraction.enums.MCCollisionType;
911
import com.laytonsmith.abstraction.events.MCVehicleBlockCollideEvent;
1012
import com.laytonsmith.abstraction.events.MCVehicleEnitityCollideEvent;
1113
import com.laytonsmith.abstraction.events.MCVehicleEnterExitEvent;
1214
import com.laytonsmith.abstraction.events.MCVehicleEvent;
15+
import com.laytonsmith.abstraction.events.MCVehicleMoveEvent;
1316
import com.laytonsmith.annotations.abstraction;
1417
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
1518
import org.bukkit.event.vehicle.VehicleCollisionEvent;
1619
import org.bukkit.event.vehicle.VehicleEnterEvent;
1720
import org.bukkit.event.vehicle.VehicleEntityCollisionEvent;
1821
import org.bukkit.event.vehicle.VehicleEvent;
1922
import org.bukkit.event.vehicle.VehicleExitEvent;
23+
import org.bukkit.event.vehicle.VehicleMoveEvent;
2024

2125
/**
2226
*
@@ -127,6 +131,49 @@ public MCEntity getEntity() {
127131
}
128132
}
129133

134+
@abstraction(type = Implementation.Type.BUKKIT)
135+
public static class BukkitMCVehicleMoveEvent extends BukkitMCVehicleEvent
136+
implements MCVehicleMoveEvent {
137+
138+
VehicleMoveEvent vme;
139+
int threshold;
140+
boolean cancelled;
141+
MCLocation from;
142+
143+
public BukkitMCVehicleMoveEvent(VehicleMoveEvent event, int threshold, MCLocation from) {
144+
super(event);
145+
vme = event;
146+
this.threshold = threshold;
147+
this.cancelled = false;
148+
this.from = from;
149+
}
150+
151+
@Override
152+
public int getThreshold() {
153+
return threshold;
154+
}
155+
156+
@Override
157+
public MCLocation getFrom() {
158+
return new BukkitMCLocation(from);
159+
}
160+
161+
@Override
162+
public MCLocation getTo() {
163+
return new BukkitMCLocation(vme.getTo());
164+
}
165+
166+
@Override
167+
public void setCancelled(boolean state) {
168+
cancelled = state;
169+
}
170+
171+
@Override
172+
public boolean isCancelled() {
173+
return cancelled;
174+
}
175+
}
176+
130177
public static class BukkitMCVehicleEvent implements MCVehicleEvent {
131178

132179
VehicleEvent ve;

0 commit comments

Comments
 (0)