Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package prymarp.prymarp.events.worldguardevents;
- import com.sk89q.worldedit.util.Location;
- import com.sk89q.worldedit.world.World;
- import com.sk89q.worldguard.LocalPlayer;
- import com.sk89q.worldguard.commands.CommandUtils;
- import com.sk89q.worldguard.protection.ApplicableRegionSet;
- import com.sk89q.worldguard.protection.regions.ProtectedRegion;
- import com.sk89q.worldguard.session.MoveType;
- import com.sk89q.worldguard.session.Session;
- import com.sk89q.worldguard.session.handler.Handler;
- import java.util.Set;
- import static prymarp.prymarp.PrymaRP.PRYMAFLAG_COMUNE_ENTRY;
- public class WGPrymaRegistrazioneEntry extends Handler {
- public static final Factory FACTORY = new Factory();
- public static class Factory extends Handler.Factory<WGPrymaRegistrazioneEntry> {
- @Override
- public WGPrymaRegistrazioneEntry create(Session session) {
- return new WGPrymaRegistrazioneEntry(session);
- }
- }
- private static final long MESSAGE_THRESHOLD = 1000 * 2;
- private long lastMessage;
- public WGPrymaRegistrazioneEntry(Session session) {
- super(session);
- }
- @Override
- public boolean onCrossBoundary(LocalPlayer player, Location from, Location to, ApplicableRegionSet toSet, Set<ProtectedRegion> entered, Set<ProtectedRegion> exited, MoveType moveType) {
- boolean allowed = toSet.testState(player, PRYMAFLAG_COMUNE_ENTRY);
- if (!getSession().getManager().hasBypass(player, (World) to.getExtent()) && !allowed && moveType.isCancellable()) {
- String message = "Non puoi entrare in questo comune prima di aver completato la registrazione!";
- long now = System.currentTimeMillis();
- if ((now - lastMessage) > MESSAGE_THRESHOLD && message != null && !message.isEmpty()) {
- player.printRaw(CommandUtils.replaceColorMacros(message));
- lastMessage = now;
- }
- return false;
- } else {
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment