From fa1f4190ca51b54540352e7c56a29c7a5edcfa9c Mon Sep 17 00:00:00 2001 From: JernejTDO Date: Mon, 28 Jul 2025 20:52:54 +0200 Subject: [PATCH] UTD --- .classpath | 40 +++++++ .project | 23 ++++ .settings/org.eclipse.core.resources.prefs | 6 + .settings/org.eclipse.jdt.core.prefs | 8 ++ .settings/org.eclipse.m2e.core.prefs | 4 + README.md | 104 ++++++++++++++++++ pom.xml | 64 +++++++++++ .../java/si/jernejtdo/regions/RegionData.java | 51 +++++++++ .../java/si/jernejtdo/regions/Regions.java | 60 ++++++++++ .../bukkitevents/BukkitPlayerMoveEvent.java | 47 ++++++++ .../regions/event/PlayerEnterRegionEvent.java | 52 +++++++++ .../regions/event/PlayerExitRegionEvent.java | 52 +++++++++ target/Regions-1.0.jar | Bin 0 -> 7760 bytes target/classes/META-INF/MANIFEST.MF | 4 + .../maven/si.jernejtdo/Regions/pom.properties | 7 ++ .../maven/si.jernejtdo/Regions/pom.xml | 64 +++++++++++ .../si/jernejtdo/regions/RegionData.class | Bin 0 -> 2012 bytes .../si/jernejtdo/regions/Regions.class | Bin 0 -> 2789 bytes .../bukkitevents/BukkitPlayerMoveEvent.class | Bin 0 -> 2149 bytes .../event/PlayerEnterRegionEvent.class | Bin 0 -> 1497 bytes .../regions/event/PlayerExitRegionEvent.class | Bin 0 -> 1494 bytes target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 5 + .../compile/default-compile/inputFiles.lst | 5 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 target/original-Regions-1.0.jar | Bin 0 -> 7462 bytes 27 files changed, 599 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.m2e.core.prefs create mode 100644 README.md create mode 100644 pom.xml create mode 100644 src/main/java/si/jernejtdo/regions/RegionData.java create mode 100644 src/main/java/si/jernejtdo/regions/Regions.java create mode 100644 src/main/java/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.java create mode 100644 src/main/java/si/jernejtdo/regions/event/PlayerEnterRegionEvent.java create mode 100644 src/main/java/si/jernejtdo/regions/event/PlayerExitRegionEvent.java create mode 100644 target/Regions-1.0.jar create mode 100644 target/classes/META-INF/MANIFEST.MF create mode 100644 target/classes/META-INF/maven/si.jernejtdo/Regions/pom.properties create mode 100644 target/classes/META-INF/maven/si.jernejtdo/Regions/pom.xml create mode 100644 target/classes/si/jernejtdo/regions/RegionData.class create mode 100644 target/classes/si/jernejtdo/regions/Regions.class create mode 100644 target/classes/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.class create mode 100644 target/classes/si/jernejtdo/regions/event/PlayerEnterRegionEvent.class create mode 100644 target/classes/si/jernejtdo/regions/event/PlayerExitRegionEvent.class create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/original-Regions-1.0.jar diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..f0e9804 --- /dev/null +++ b/.classpath @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..8f75a0a --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + Regions + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..2af1e7b --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..7ece59b --- /dev/null +++ b/README.md @@ -0,0 +1,104 @@ +# πŸ—ΊοΈ Regions – Lightweight Region Library for Bukkit + +**Regions** is a lightweight and simple **Java library** for Bukkit/Spigot plugins. It helps you define 3D rectangular regions and automatically detects when players **enter or leave** them. + +Use it as a dependency in your own plugins to easily add region logic. + +--- + +## ✨ Features + +- βœ… Define rectangular cuboid regions with two `Location`s +- 🚢 Detect when a player **enters** or **exits** a region +- 🧰 Easy API to add, remove, and query regions +- πŸ”„ Registerable event listeners +- 🧩 Built for plugin developers – plug and play + +--- + +## πŸ”§ Getting Started + +### 1. Create a Region + +First, create two `Location` points and then create a region between them: + +```java +Location loc1 = new Location(Bukkit.getWorld(""), x1, y1, z1); +Location loc2 = new Location(Bukkit.getWorld(""), x2, y2, z2); + +RegionData region = new RegionData("", loc1, loc2); +Regions.addRegion(region); +``` + +### 2. Register the Event Listener + +Call this once (e.g. in your plugin's `onEnable`) to enable automatic region tracking: + +```java +public void onEnable() { + Regions.registerListener(this); // 'this' is your plugin instance +} +``` + +--- + +## πŸ“‘ Region Events + +These are custom events that you can listen for: + +```java +@EventHandler +public void onRegionEnter(PlayerEnterRegionEvent event) { + Player player = event.getPlayer(); + RegionData region = event.getRegion(); + player.sendMessage("Entered region: " + region.getName()); +} + +@EventHandler +public void onRegionExit(PlayerExitRegionEvent event) { + Player player = event.getPlayer(); + RegionData region = event.getRegion(); + player.sendMessage("Left region: " + region.getName()); +} +``` + +--- + +## πŸ§ͺ API Reference + +```java +Regions.addRegion(RegionData region); // Add a region +Regions.deleteRegion(RegionData region); // Remove a region + +Regions.getRegions(); // Get all regions +Regions.getRegionsByName("Spawn"); // Get regions by name + +Regions.getRegionInLocation(Location loc); // First region that contains loc +Regions.getRegionsInLocation(Location loc); // All regions that contain loc +``` + +--- + +## πŸ“¦ Integration in Your Plugin + +Simply include the compiled `Regions-1.0.jar` as a library in your plugin project. Then: + +1. Register the movement listener: + ```java + Regions.registerListener(this); + ``` +2. Add or query regions as needed. +3. Listen for `PlayerEnterRegionEvent` and `PlayerExitRegionEvent`. + +--- + +## πŸ§‘β€πŸ’» Author + +Created by **Jernej T.** +Pull requests and contributions are welcome! + +--- + +## πŸ“„ License + +MIT – do whatever you want, just give credit. diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..0d0cf9f --- /dev/null +++ b/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + si.jernejtdo + Regions + 1.0 + Regions + + + 11 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + false + + + + + + + + src/main/resources + true + + + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 1.21.5-R0.1-SNAPSHOT + provided + + + diff --git a/src/main/java/si/jernejtdo/regions/RegionData.java b/src/main/java/si/jernejtdo/regions/RegionData.java new file mode 100644 index 0000000..be53cf8 --- /dev/null +++ b/src/main/java/si/jernejtdo/regions/RegionData.java @@ -0,0 +1,51 @@ +package si.jernejtdo.regions; + +import org.bukkit.Location; + +public class RegionData { + + private String name; + private Location location_0; + private Location location_1; + + public RegionData(String regionName, Location location_0, Location location_1) { + this.name = regionName; + sortLocations(location_0, location_1); + } + + private void sortLocations(Location loc1, Location loc2) { + location_0 = new Location(loc1.getWorld(), Math.min(loc1.getX(), loc2.getX()), Math.min(loc1.getY(), loc2.getY()), Math.min(loc1.getZ(), loc2.getZ())); + location_1 = new Location(loc1.getWorld(), Math.max(loc1.getX(), loc2.getX()), Math.max(loc1.getY(), loc2.getY()), Math.max(loc1.getZ(), loc2.getZ())); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Location getLocation_0() { + return location_0; + } + + public void setLocation_0(Location location_0) { + sortLocations(location_0, location_1); + } + + public Location getLocation_1() { + return location_1; + } + + public void setLocation_1(Location location_1) { + sortLocations(location_0, location_1); + } + + public boolean isInRegion(Location location) { + boolean isInX = location.getX() >= location_0.getX() && location.getX() <= location_1.getX(); + boolean isInY = location.getY() >= location_0.getY() && location.getY() <= location_1.getY(); + boolean isInZ = location.getZ() >= location_0.getZ() && location.getZ() <= location_1.getZ(); + return isInX && isInY && isInZ; + } +} \ No newline at end of file diff --git a/src/main/java/si/jernejtdo/regions/Regions.java b/src/main/java/si/jernejtdo/regions/Regions.java new file mode 100644 index 0000000..64a95cd --- /dev/null +++ b/src/main/java/si/jernejtdo/regions/Regions.java @@ -0,0 +1,60 @@ +package si.jernejtdo.regions; + +import java.util.ArrayList; +import java.util.List; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.plugin.Plugin; + +import si.jernejtdo.regions.bukkitevents.BukkitPlayerMoveEvent; + +public class Regions { + + public static void registerListener(Plugin plugin) { + Bukkit.getPluginManager().registerEvents(new BukkitPlayerMoveEvent(), plugin); + } + + private static List regionsList = new ArrayList<>(); + + public static void addRegion(RegionData region) { + regionsList.add(region); + } + + public static void deleteRegion(RegionData region) { + regionsList.remove(region); + } + + public static List getRegionsByName(String name) { + List reg = new ArrayList<>(); + for(RegionData region : regionsList) { + if(region.getName().equals(name)) { + reg.add(region); + } + } + return reg; + } + + public static List getRegions() { + return regionsList; + } + + public static List getRegionsInLocation(Location loc) { + List reg = new ArrayList<>(); + for(RegionData region : regionsList) { + if(region.isInRegion(loc)) { + reg.add(region); + } + } + return reg; + } + + public static RegionData getRegionInLocation(Location loc) { + for(RegionData region : regionsList) { + if(region.isInRegion(loc)) { + return region; + } + } + return null; + } +} diff --git a/src/main/java/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.java b/src/main/java/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.java new file mode 100644 index 0000000..59a0fab --- /dev/null +++ b/src/main/java/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.java @@ -0,0 +1,47 @@ +package si.jernejtdo.regions.bukkitevents; + +import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerMoveEvent; + +import si.jernejtdo.regions.RegionData; +import si.jernejtdo.regions.Regions; +import si.jernejtdo.regions.event.PlayerEnterRegionEvent; +import si.jernejtdo.regions.event.PlayerExitRegionEvent; + +public class BukkitPlayerMoveEvent implements Listener { + + @EventHandler + public void move(PlayerMoveEvent event) { + if(event.getFrom().getBlockX() != event.getTo().getBlockX() + || event.getFrom().getBlockY() != event.getTo().getBlockY() + || event.getFrom().getBlockZ() != event.getTo().getBlockZ()) { + + RegionData to = Regions.getRegionInLocation(event.getTo()); + RegionData from = Regions.getRegionInLocation(event.getFrom()); + + if(to != null) { + if(from != null) { + if(to != from) { + PlayerEnterRegionEvent enterEvent = new PlayerEnterRegionEvent(event.getPlayer(), from, to, event.isCancelled()); + Bukkit.getPluginManager().callEvent(enterEvent); + PlayerExitRegionEvent exitEvent = new PlayerExitRegionEvent(event.getPlayer(), from, to, enterEvent.isCanceled()); + Bukkit.getPluginManager().callEvent(exitEvent); + event.setCancelled(exitEvent.isCanceled()); + } + } else { + PlayerEnterRegionEvent enterEvent = new PlayerEnterRegionEvent(event.getPlayer(), from, to, event.isCancelled()); + Bukkit.getPluginManager().callEvent(enterEvent); + event.setCancelled(enterEvent.isCanceled()); + } + } else { + if(from != null) { + PlayerExitRegionEvent exitEvent = new PlayerExitRegionEvent(event.getPlayer(), from, to, event.isCancelled()); + Bukkit.getPluginManager().callEvent(exitEvent); + event.setCancelled(exitEvent.isCanceled()); + } + } + } + } +} \ No newline at end of file diff --git a/src/main/java/si/jernejtdo/regions/event/PlayerEnterRegionEvent.java b/src/main/java/si/jernejtdo/regions/event/PlayerEnterRegionEvent.java new file mode 100644 index 0000000..22f6574 --- /dev/null +++ b/src/main/java/si/jernejtdo/regions/event/PlayerEnterRegionEvent.java @@ -0,0 +1,52 @@ +package si.jernejtdo.regions.event; + +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +import si.jernejtdo.regions.RegionData; + +public class PlayerEnterRegionEvent extends Event { + + private static final HandlerList handlers = new HandlerList(); + + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } + + private RegionData from; + private RegionData to; + private Player player; + private boolean isCanceled; + + public PlayerEnterRegionEvent(Player player, RegionData from, RegionData to, boolean isCanceled) { + this.from = from; + this.to = to; + this.player = player; + this.isCanceled = isCanceled; + } + + public RegionData getFrom() { + return from; + } + + public RegionData getTo() { + return to; + } + + public Player getPlayer() { + return player; + } + + public boolean isCanceled() { + return isCanceled; + } + + public void setCanceled(boolean isCanceled) { + this.isCanceled = isCanceled; + } +} \ No newline at end of file diff --git a/src/main/java/si/jernejtdo/regions/event/PlayerExitRegionEvent.java b/src/main/java/si/jernejtdo/regions/event/PlayerExitRegionEvent.java new file mode 100644 index 0000000..6866b38 --- /dev/null +++ b/src/main/java/si/jernejtdo/regions/event/PlayerExitRegionEvent.java @@ -0,0 +1,52 @@ +package si.jernejtdo.regions.event; + +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + +import si.jernejtdo.regions.RegionData; + +public class PlayerExitRegionEvent extends Event { + + private static final HandlerList handlers = new HandlerList(); + + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } + + private RegionData from; + private RegionData to; + private Player player; + private boolean isCanceled; + + public PlayerExitRegionEvent(Player player, RegionData from, RegionData to, boolean isCanceled) { + this.from = from; + this.to = to; + this.player = player; + this.isCanceled = isCanceled; + } + + public RegionData getFrom() { + return from; + } + + public RegionData getTo() { + return to; + } + + public Player getPlayer() { + return player; + } + + public boolean isCanceled() { + return isCanceled; + } + + public void setCanceled(boolean isCanceled) { + this.isCanceled = isCanceled; + } +} \ No newline at end of file diff --git a/target/Regions-1.0.jar b/target/Regions-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..960bb2411cb00213778765d02ebd6fb9d0b77ab2 GIT binary patch literal 7760 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 literal 0 HcmV?d00001 diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..0e15486 --- /dev/null +++ b/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Build-Jdk-Spec: 23 +Created-By: Maven Integration for Eclipse + diff --git a/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.properties b/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.properties new file mode 100644 index 0000000..ab9d47f --- /dev/null +++ b/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.properties @@ -0,0 +1,7 @@ +#Generated by Maven Integration for Eclipse +#Sat Jul 12 16:40:40 CEST 2025 +artifactId=Regions +groupId=si.jernejtdo +m2e.projectLocation=D\:\\Codespace\\JernejTDO\\Regions +m2e.projectName=Regions +version=1.0 diff --git a/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.xml b/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.xml new file mode 100644 index 0000000..0d0cf9f --- /dev/null +++ b/target/classes/META-INF/maven/si.jernejtdo/Regions/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + si.jernejtdo + Regions + 1.0 + Regions + + + 11 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + false + + + + + + + + src/main/resources + true + + + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 1.21.5-R0.1-SNAPSHOT + provided + + + diff --git a/target/classes/si/jernejtdo/regions/RegionData.class b/target/classes/si/jernejtdo/regions/RegionData.class new file mode 100644 index 0000000000000000000000000000000000000000..95f0d11c64c6d00de9006788d9bd460dc3582a34 GIT binary patch literal 2012 zcmah}%W@k<6g@4CJkDe!KN2}1&P$F7de|B}7zg9TghYe{WCt*1us1Nar_zuoFMpX;&ahOP-iVRX;^&UKn@tKmG@-t%@s1*7F2cnah7{?d9F z_^rmWg4JyAxFLzYo>R!z+d;$GKHT5;L#G}u41nephHm&RKU`6GzxXO)B0*xZv_WBa z+Pj{GG;%g9j3}gwrHvC%7_*VVkj3bfjnl|0WIOF3>`Lk=%oY<_6O(e(NZoIFYljEh zUhsvx-PCsQg3S##@MRt+jqssQ_Co!CtQJ$E0<6(n6X&Tk!8;3+xM<@NE-MT-yzt9* z(A-rxT`V0Js+Iue2RC3s+Gz@s>iaU%pj0d}yPDGBF2!OCeLN)k?%p zV#da7mts>Aj*Yo)VoMU&#O${f&JI`@iKvlASKu8RCWhtk>o(qv4sySj+Pr7u1cs@R zox^sJ;hKU;#bQNtxxUg~qnVv9AfM1TQlcy=x)qjgJTvH0cZt?#$<>_-a_}bImE~7R zDR*Ei=a%2O--@2l>v^_Vy=MFz=(TKNbrjP&-i$}iv+JR|v%l(o8~2m7-aZU=yt}@1 z+(`eaR>dI{XlI%aJdKp}JEN4iu19*zQ4F_ml3$y%T_O#RqvhwwmMc#g%*;N+_^*1$ z1i#~Y{UpCqr7T8}!x`qw(LS8T8=R2==Xjpdk(`*)k(?=7_~POdACpHEy5&DGxmkIJ z3;Y#k_Z;eyM+joIY@jO*@Wna7xR+9Es@3 zcd<;VBHzUgEnnd#R$|c(M_J31f5Yf63{ntpqWey0LOTM)g#0hVt$6ba(c;FC_O~y~ z(%EyY)1+pYh)_LAL%M=;@CUdZa~&75@UoDLi9+t67H__-O95Er3h%KrQ07R?6ia;N zm>8=k#?oyhVm?e1v-GlaiFnG}7JmF0rtug?`X-ZN0Wp;r6FXArVOEH#Mwn`hktunqJ)wdoO%>B{sBsPlnAdk%h*b8BeT4h^F4Ne;$M}Rja1V>9GfH#M d7*-h>SR-#9=F~0q52jTAJ1QnT;9?4&{s;8ndTsy! literal 0 HcmV?d00001 diff --git a/target/classes/si/jernejtdo/regions/Regions.class b/target/classes/si/jernejtdo/regions/Regions.class new file mode 100644 index 0000000000000000000000000000000000000000..a59cd11ef52bd8d8ab56f009928eabae69eec7bd GIT binary patch literal 2789 zcma)7?N%CB6x|mvqcDl$2Z>gVRvST7+NQ=BXg*A0Y6`~2)HLbm2ooH|!489~zChoh zeS!Q<+qGg%*6Ql-zC+jQuRcc8eeZyPppms;xaXdG&OUpebLX%BUi|@J4h0Q9fx(iM z*fbs6+;nrrgk$EdqFqWn^qv|50$rQNu8}Ahc0Tc7ebdak0-=gu+A49?l~x{Q*D55W zB`MIcYUORiEjy;bT8e0-lF4+sMn9W6{{LK`Ty44Wj~cEot?zn7gL!mJ(jBm4dNn zI+^0Gc~_c)7(r(UM zL3uqcF#6V10(#CYn6Bx;lX>TKT$MQ(Wt&8M%6i+Sg}r5CnvFv;@c4S!C zXZKFwcAA-zus+st9XB{#7W>w4i|nrm`>RIJQpKJO;TCRdSm2~I@9MaNyPOo;{DJe| zTa8dpp@w_xrIsz}(I7<%Vi8L^?&DJdjjiwT(ipEoOb{77(6CGjmB$XZ^yeD1kSFyMs_P>>{RZLAmLW@ zBt=yQ>hHkWCgW*TBAvC!OSXjL@=6w%Xqd06y;Z~9Kb_}k&`5y{9qY&n1g+AN?UgKW z;g}pG*n znvud9qs zX97RJ`8)oC=L1TK0crsZQMzII8YK%Oyy1tLbxh$IQDUd?Io9ac&f*>`^@e#`mg>V7 zv`ay}y>|Y4LQ5}vZ}=0?kkNQ~YP?x6NU5IU%fouUQuT~0j){kLNL=+DGNCZYM(V)V z_~!8Bx9a3R*OH0(7EBD)F+m!>YeB<5O*F(=#1xC4#wB8&;r}_3A)C~rVIDb{T(#3$ zrJ<{d2D#Tv!?Qyg`dQ2dES4?j<4EZ;QX6O{w>1x&yANCc1M{Gc A0RR91 literal 0 HcmV?d00001 diff --git a/target/classes/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.class b/target/classes/si/jernejtdo/regions/bukkitevents/BukkitPlayerMoveEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..dfa844ecd5a0876d5f1c5fcde752fa368750d75b GIT binary patch literal 2149 zcmbVN-%lJ>6#g#kGO`S|KwG+$N|6?J%Pv!j+Lo<93Wb8~0s^iDwRTvp>%cNYW(Q&u zUwrn}#3y54Oq0GC69fGbjSr@Y{sVpXRsRAXG=BHalJ4478Ux&W=bU@bkMBF@@XKEh zegJR*wt)tL3uVVzm%c04gEi0cWzq56vbDOsvEc-AN4i1T8q**1CHt22bKZ`eP+|iS zfy3+ej%}4}w`k3+uFC?YO#*SxFIFsA+Ju#L%7JvHFVJ+^ah>2bfyP8KFAy2`)?^Hg zXfa{nIe|l2$Cb0&o2$}avR6w|pgrpq>{8zL9raxiMuLx=vcRS6|BOCE*PBd5AeG2I z74DW!)%r)q85MARVcQLyO__Jf4#ThYbN6~5En83g@ zx-@YdaRH+!gGt}p6zEJOtDPullyjOsfs+Qh1v;us@2gF`fF6Nnni(s3g^lYP{%I9Y zuZb6xizszVo-%XV#F?7g%St+6B2gnyoe#mXe7yh8Py@hmvV`KP-WZ zHQ?{dGs*h2hVQT1ft@jMPGGpM->~9B?k3zo`r$Lpgv$85i4nXMq7mL=2DPxVyq(}y zg?~-kD<&J}qCksN9=F|sES2P%29YpW7*)l~lDb)wPOX&#Q#$a%N-`hAt9ac2+o!FH z=CD6ayn!ohNdi4z+Acb7&UWph>bbt!?6$O)*;QT2v|t<)2ClM-t1Q>MYGM-C2p^lW zq(K!pQJc3K50+N3WeiLUoI9AQkDW?=REV-LV~V6(mup=(cAV5a?()~wyW-dA5ya&yr4fkocKz znt1+wa2H2*(Z%f)x7#=q3i?7p-)$TT1^uC*|0_IDr+Y}|l!E(g>JdIkKf+up{WZRP z2y2;&;dF}Y%X_#q8o7td@yLCQHQ*tpD$00d7jNz%HyTyisMZd~qq~^h#oQg_|I^H% zeyuO2={WhsZ0Ivr?NeV?Rux>0ga^2RPOfeIY3CsB;AlFE434oIkK-ERm_ZljIe!c2 z#wJeUQ;zb_(1Xv(%olud7k&5+r|~`d@goNC6UX#pB=IY!^KTf^G%S!a!dsz1offe~ zIx_eMZzE4i#&HMl@YF~@!?=!RMChplD|na8-{mQkJ+8LRMD7DXznI>{6a!LIB9iCsUa zi@qYHR_X`zqpIE+TjWs-vdEpeuXFCX<3E3Y{s!<2+Zm)7Hbd7w<$=dfMccOne(d^Q zX!A?%3Hx=&x#GdTCwTBi1@@&o1C62N2gi2v;_S>7ak7drjGj1NyTgN!VXppP(#t4V zcSG@0)mnpa_xv``V4Pw0HikKjVbZ`9iUhr*I%L7{z<`c4L$U69{ME&IlLv=R zv%?w2>we4WG@QVd_t=>~<{}=OG?}l~2DmGohg192sqQ}ARw-Zp^1m?l?iv%{QTj^P6duxlnvy7lY2^Xk zOw7cE8)Riv`-ajN74KCPRD}`6F^fkO&tmSTc2Px=YsdT0rtp|DCCyL7NGEGr*O<4~ zx+q)gT~w^qE|#n*t&5c&Yg5T!LL~8dBU4Ey1u>OO zQdm>I2kOO8gB7!}$;#Pv>j%oi!!Ps=ug4&abWSR+3>Pma7O!DF0eNY-*h(xmAXgFF-bgIA@gy$ZrEIB8+L{?qJEy!`r0KTmP>Ql{)J-e>q+Xi}aqAztt{9B~ literal 0 HcmV?d00001 diff --git a/target/classes/si/jernejtdo/regions/event/PlayerExitRegionEvent.class b/target/classes/si/jernejtdo/regions/event/PlayerExitRegionEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..9d018ad8097a30a41f7711f76d34bdbbeb3e1d92 GIT binary patch literal 1494 zcmah|TTc@~6#k~|wzOSaxm8&ZDc5$nEP{y-5?&DELqm)b5_xjljxbPm&2}L2<`440 zTSKCWKfoVlJTtqY7dOy{o|$v|zVn^gKYxGz2Jj4<86+6i+rl~JfyYl}({}=XEPSu+ z@JsGV=T*zS;=%4mAzy3%uJUG(Vkr5+u~WY|I})iH*l6W43Dc+h5;uKkzvG7Q#4 zTRvwILJ0Z7l`f?wq|cE4p!qOZeVsii z(OlF^q`I7F=Z;6pNNq`*0QfLW3O~j zwpTltvzI$qu*Xv!EOl91S_TU#!pjnRf$&EOeS*5FNuGwCB3{%}tzI*-v~)@kOUtB$ zwbXNFnF6|BY}FANsjvBf6Ts+5Sm xw3j}Uqj$?|vBeJ7qvCDKR?4L9$v(An+PguTZt4!DFzZI$wAN4Q^+Y3X`~yLS7hV7W literal 0 HcmV?d00001 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..b4b27e8 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=Regions +groupId=si.jernejtdo +version=1.0 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..c1aa9df --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,5 @@ +si\jernejtdo\regions\bukkitevents\BukkitPlayerMoveEvent.class +si\jernejtdo\regions\event\PlayerEnterRegionEvent.class +si\jernejtdo\regions\RegionData.class +si\jernejtdo\regions\event\PlayerExitRegionEvent.class +si\jernejtdo\regions\Regions.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..2ee8c64 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +D:\Codespace\JernejTDO\Regions\src\main\java\si\jernejtdo\regions\event\PlayerExitRegionEvent.java +D:\Codespace\JernejTDO\Regions\src\main\java\si\jernejtdo\regions\RegionData.java +D:\Codespace\JernejTDO\Regions\src\main\java\si\jernejtdo\regions\Regions.java +D:\Codespace\JernejTDO\Regions\src\main\java\si\jernejtdo\regions\bukkitevents\BukkitPlayerMoveEvent.java +D:\Codespace\JernejTDO\Regions\src\main\java\si\jernejtdo\regions\event\PlayerEnterRegionEvent.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/target/original-Regions-1.0.jar b/target/original-Regions-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..99e01da73a747a2dc36f8090609e7fa57c98a0d5 GIT binary patch literal 7462 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 literal 0 HcmV?d00001