mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 03:09:14 +00:00
Add events and listeners
This commit is contained in:
@@ -6,7 +6,7 @@ import net.islandearth.languagy.language.LanguagyPluginHook;
|
||||
import net.islandearth.languagy.language.Translator;
|
||||
import net.islandearth.rpgregions.api.RPGRegionsAPI;
|
||||
import net.islandearth.rpgregions.listener.ConnectionListener;
|
||||
import net.islandearth.rpgregions.listener.RegionListener;
|
||||
import net.islandearth.rpgregions.listener.MoveListener;
|
||||
import net.islandearth.rpgregions.managers.RPGRegionsManagers;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
@@ -97,7 +97,7 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|
||||
private void registerListeners() {
|
||||
PluginManager pm = Bukkit.getPluginManager();
|
||||
pm.registerEvents(new ConnectionListener(this), this);
|
||||
pm.registerEvents(new RegionListener(), this);
|
||||
pm.registerEvents(new MoveListener(), this);
|
||||
}
|
||||
|
||||
public static RPGRegionsAPI getAPI() {
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package net.islandearth.rpgregions.api.event;
|
||||
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class RegionDiscoverEvent extends Event {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Player player;
|
||||
private final Set<ProtectedRegion> regions;
|
||||
|
||||
public RegionDiscoverEvent(Player player, Set<ProtectedRegion> regions) {
|
||||
this.player = player;
|
||||
this.regions = regions;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public Set<ProtectedRegion> getRegion() {
|
||||
return regions;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package net.islandearth.rpgregions.api.event;
|
||||
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class RegionEnterEvent extends Event {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Player player;
|
||||
private final Set<ProtectedRegion> regions;
|
||||
|
||||
public RegionEnterEvent(Player player, Set<ProtectedRegion> regions) {
|
||||
this.player = player;
|
||||
this.regions = regions;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public Set<ProtectedRegion> getRegions() {
|
||||
return regions;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package net.islandearth.rpgregions.listener;
|
||||
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldguard.WorldGuard;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import net.islandearth.rpgregions.api.event.RegionEnterEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class MoveListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onMove(PlayerMoveEvent pme) {
|
||||
Player player = pme.getPlayer();
|
||||
int x = pme.getTo().getBlockX();
|
||||
int y = pme.getTo().getBlockY();
|
||||
int z = pme.getTo().getBlockZ();
|
||||
int oldX = pme.getFrom().getBlockX();
|
||||
int oldY = pme.getFrom().getBlockY();
|
||||
int oldZ = pme.getFrom().getBlockZ();
|
||||
Set<ProtectedRegion> prevRegions = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(player.getWorld())).getApplicableRegions(BlockVector3.at(oldX, oldY, oldZ)).getRegions();
|
||||
Set<ProtectedRegion> regions = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(player.getWorld())).getApplicableRegions(BlockVector3.at(x, y, z)).getRegions();
|
||||
if (prevRegions.equals(regions)) return;
|
||||
|
||||
Bukkit.getPluginManager().callEvent(new RegionEnterEvent(player, regions));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,19 @@
|
||||
package net.islandearth.rpgregions.listener;
|
||||
|
||||
import net.islandearth.rpgregions.api.event.RegionDiscoverEvent;
|
||||
import net.islandearth.rpgregions.api.event.RegionEnterEvent;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class RegionListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onMove(PlayerMoveEvent pme) {
|
||||
|
||||
public void onEnter(RegionEnterEvent ree) {
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDiscover(RegionDiscoverEvent rde) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user