Init commit
This commit is contained in:
commit
3ab6602c9a
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
target
|
||||||
|
out
|
||||||
10
.idea/.gitignore
vendored
Normal file
10
.idea/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Ignored default folder with query files
|
||||||
|
/queries/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
9
.idea/artifacts/creeperpit_jar.xml
Normal file
9
.idea/artifacts/creeperpit_jar.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<component name="ArtifactManager">
|
||||||
|
<artifact type="jar" name="creeperpit:jar">
|
||||||
|
<output-path>$PROJECT_DIR$/out/artifacts/creeperpit_jar</output-path>
|
||||||
|
<root id="archive" name="creeperpit.jar">
|
||||||
|
<element id="module-output" name="creeperpit" />
|
||||||
|
<element id="file-copy" path="$PROJECT_DIR$/src/main/resources/plugin.yml" />
|
||||||
|
</root>
|
||||||
|
</artifact>
|
||||||
|
</component>
|
||||||
31
.idea/betterCommentsSettings.xml
Normal file
31
.idea/betterCommentsSettings.xml
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="BetterCommentsSettings">
|
||||||
|
<option name="initialized" value="true" />
|
||||||
|
<option name="tags">
|
||||||
|
<list>
|
||||||
|
<CustomTag>
|
||||||
|
<option name="color" value="#FF2D00" />
|
||||||
|
<option name="type" value="!" />
|
||||||
|
</CustomTag>
|
||||||
|
<CustomTag>
|
||||||
|
<option name="color" value="#3498DB" />
|
||||||
|
<option name="type" value="?" />
|
||||||
|
</CustomTag>
|
||||||
|
<CustomTag>
|
||||||
|
<option name="color" value="#474747" />
|
||||||
|
<option name="hasStrikethrough" value="true" />
|
||||||
|
<option name="type" value="//" />
|
||||||
|
</CustomTag>
|
||||||
|
<CustomTag>
|
||||||
|
<option name="color" value="#FF8C00" />
|
||||||
|
<option name="type" value="todo" />
|
||||||
|
</CustomTag>
|
||||||
|
<CustomTag>
|
||||||
|
<option name="color" value="#98C379" />
|
||||||
|
<option name="type" value="*" />
|
||||||
|
</CustomTag>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
13
.idea/compiler.xml
Normal file
13
.idea/compiler.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<annotationProcessing>
|
||||||
|
<profile name="Maven default annotation processors profile" enabled="true">
|
||||||
|
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||||
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
|
<outputRelativeToContentRoot value="true" />
|
||||||
|
<module name="creeperpit" />
|
||||||
|
</profile>
|
||||||
|
</annotationProcessing>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
13
.idea/creeperpit.iml
Normal file
13
.idea/creeperpit.iml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="minecraft" name="Minecraft">
|
||||||
|
<configuration>
|
||||||
|
<autoDetectTypes>
|
||||||
|
<platformType>SPIGOT</platformType>
|
||||||
|
</autoDetectTypes>
|
||||||
|
<projectReimportVersion>1</projectReimportVersion>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
7
.idea/encodings.xml
Normal file
7
.idea/encodings.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding">
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
30
.idea/jarRepositories.xml
Normal file
30
.idea/jarRepositories.xml
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Central Repository" />
|
||||||
|
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="sonatype" />
|
||||||
|
<option name="name" value="sonatype" />
|
||||||
|
<option name="url" value="https://oss.sonatype.org/content/groups/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="spigotmc-repo" />
|
||||||
|
<option name="name" value="spigotmc-repo" />
|
||||||
|
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
14
.idea/misc.xml
Normal file
14
.idea/misc.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/creeperpit.iml" filepath="$PROJECT_DIR$/.idea/creeperpit.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
13
creeperpit.iml
Normal file
13
creeperpit.iml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="minecraft" name="Minecraft">
|
||||||
|
<configuration>
|
||||||
|
<autoDetectTypes>
|
||||||
|
<platformType>SPIGOT</platformType>
|
||||||
|
</autoDetectTypes>
|
||||||
|
<projectReimportVersion>1</projectReimportVersion>
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
73
pom.xml
Normal file
73
pom.xml
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>eu.creeper.mc</groupId>
|
||||||
|
<artifactId>creeperpit</artifactId>
|
||||||
|
<version>1.2-SNAPSHOT</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<name>creeperpit</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>1.8</java.version>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.1</version>
|
||||||
|
<configuration>
|
||||||
|
<source>${java.version}</source>
|
||||||
|
<target>${java.version}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-shade-plugin</artifactId>
|
||||||
|
<version>3.2.4</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>shade</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>spigotmc-repo</id>
|
||||||
|
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spigotmc</groupId>
|
||||||
|
<artifactId>spigot-api</artifactId>
|
||||||
|
<version>1.8.8-R0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains</groupId>
|
||||||
|
<artifactId>annotations</artifactId>
|
||||||
|
<version>RELEASE</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
||||||
152
src/main/java/eu/creeper/mc/creeperPit/Main.java
Normal file
152
src/main/java/eu/creeper/mc/creeperPit/Main.java
Normal file
|
|
@ -0,0 +1,152 @@
|
||||||
|
package eu.creeper.mc.creeperPit;
|
||||||
|
|
||||||
|
import eu.creeper.mc.creeperPit.worldguard.WGManager;
|
||||||
|
import eu.creeper.mc.creeperPit.worldguard.Region;
|
||||||
|
import org.bukkit.*;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.bukkit.potion.PotionEffect;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class Main extends JavaPlugin implements Listener {
|
||||||
|
private Location spawnLocation;
|
||||||
|
|
||||||
|
public void onEnable() {
|
||||||
|
World world = getWorld();
|
||||||
|
spawnLocation = new Location(world, -643.5D, 36D, 444.5D, -180F, 0F);
|
||||||
|
|
||||||
|
Bukkit.getPluginManager().registerEvents(this, this);
|
||||||
|
|
||||||
|
Region spawnRegion = new Region("spawn", new Location(world, -659.0D, 36.0D, 402.0D), new Location(world, -629.0D, 55.0D, 448.0D), "Safe");
|
||||||
|
spawnRegion.setAllowBuild(false);
|
||||||
|
spawnRegion.setAllowBreak(false);
|
||||||
|
spawnRegion.setAllowDrop(false);
|
||||||
|
spawnRegion.setAllowPvp(false);
|
||||||
|
|
||||||
|
Region spawnRegRegion = new Region("spawnreg", new Location(world, -650.0D, 0.0D, 423.0D), new Location(world, -639.0D, 255.0D, 411.0D), "Safe");
|
||||||
|
spawnRegRegion.setAllowBuild(false);
|
||||||
|
spawnRegRegion.setAllowBreak(false);
|
||||||
|
spawnRegRegion.setAllowDrop(true);
|
||||||
|
spawnRegRegion.setAllowPvp(false);
|
||||||
|
|
||||||
|
WGManager.registerRegion(spawnRegion);
|
||||||
|
WGManager.registerRegion(spawnRegRegion);
|
||||||
|
}
|
||||||
|
|
||||||
|
private World getWorld() {
|
||||||
|
World world = Bukkit.getWorld("world");
|
||||||
|
if (world == null || !world.isChunkLoaded(0, 0)) {
|
||||||
|
world = Bukkit.getWorlds().get(0); //fallback
|
||||||
|
}
|
||||||
|
return world;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent ev) {
|
||||||
|
ev.setJoinMessage(ChatColor.GREEN +""+ ChatColor.BOLD + "[+] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
|
||||||
|
Player player = ev.getPlayer();
|
||||||
|
setupPlayer(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerLeft(PlayerQuitEvent ev) {
|
||||||
|
ev.setQuitMessage(ChatColor.RED +""+ ChatColor.BOLD + "[-] " + ChatColor.RESET + ChatColor.YELLOW + ev.getPlayer().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerDropItem(PlayerDropItemEvent ev) {
|
||||||
|
ItemStack i = ev.getItemDrop().getItemStack();
|
||||||
|
ev.setCancelled(i.getType() == Material.IRON_BOOTS ||
|
||||||
|
i.getType() == Material.IRON_CHESTPLATE ||
|
||||||
|
i.getType() == Material.IRON_HELMET ||
|
||||||
|
i.getType() == Material.IRON_LEGGINGS ||
|
||||||
|
(i.getType() == Material.BLAZE_ROD && Objects.equals(i.getItemMeta().getDisplayName(), ChatColor.GOLD + "CreeperStaff Manager")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerDie(PlayerDeathEvent ev) {
|
||||||
|
ev.setDeathMessage(ChatColor.RED + ev.getEntity().getPlayer().getName() + " got stabbed by " + ev.getEntity().getKiller().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerRespawn(PlayerRespawnEvent event) {
|
||||||
|
Bukkit.getScheduler().runTaskLater(this, () -> setupPlayer(event.getPlayer()), 5L);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupPlayer(Player player) {
|
||||||
|
player.teleport(this.spawnLocation);
|
||||||
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
|
PlayerInventory inventory = player.getInventory();
|
||||||
|
inventory.clear();
|
||||||
|
|
||||||
|
inventory.setHelmet(new ItemStack(Material.IRON_HELMET));
|
||||||
|
inventory.setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
|
||||||
|
inventory.setLeggings(new ItemStack(Material.IRON_LEGGINGS));
|
||||||
|
inventory.setBoots(new ItemStack(Material.IRON_BOOTS));
|
||||||
|
inventory.addItem(new ItemStack(Material.IRON_SWORD));
|
||||||
|
inventory.addItem(new ItemStack(Material.FISHING_ROD));
|
||||||
|
inventory.addItem(new ItemStack(Material.BOW));
|
||||||
|
inventory.addItem(new ItemStack(Material.ARROW, 16));
|
||||||
|
inventory.addItem(new ItemStack(Material.GOLDEN_APPLE, 2));
|
||||||
|
|
||||||
|
PotionEffect nightVision = new PotionEffect(PotionEffectType.NIGHT_VISION, 1000000, 1, true, false);
|
||||||
|
player.addPotionEffect(nightVision);
|
||||||
|
|
||||||
|
player.setHealth(20D);
|
||||||
|
player.setFoodLevel(20);
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: NEEDS TO BE MOVED TO worldguard.Handler
|
||||||
|
@EventHandler
|
||||||
|
public void onDrop(PlayerDropItemEvent event) {
|
||||||
|
Region region = WGManager.getRegionAt(event.getPlayer().getLocation());
|
||||||
|
if (region == null) return;
|
||||||
|
event.setCancelled(!region.canDrop());
|
||||||
|
}
|
||||||
|
@EventHandler
|
||||||
|
public void onBlockBreak(BlockBreakEvent ev) {
|
||||||
|
Player plr = ev.getPlayer();
|
||||||
|
Region region = WGManager.getRegionAt(ev.getBlock().getLocation());
|
||||||
|
if (region == null) return;
|
||||||
|
ev.setCancelled(!region.canBreak() && plr.getGameMode() != GameMode.CREATIVE);
|
||||||
|
}
|
||||||
|
@EventHandler
|
||||||
|
public void onBlockPlace(BlockPlaceEvent ev) {
|
||||||
|
Player plr = ev.getPlayer();
|
||||||
|
Region region = WGManager.getRegionAt(ev.getBlock().getLocation());
|
||||||
|
if (region == null) return;
|
||||||
|
ev.setCancelled(!region.canBuild() && plr.getGameMode() != GameMode.CREATIVE);
|
||||||
|
}
|
||||||
|
@EventHandler
|
||||||
|
public void onPvp(EntityDamageByEntityEvent event) {
|
||||||
|
if (!(event.getDamager() instanceof Player) || !(event.getEntity() instanceof Player)) return;
|
||||||
|
|
||||||
|
Player damager = (Player)event.getDamager(); //the player*
|
||||||
|
Player plr = ((Player)event.getEntity()).getPlayer(); //the victim*
|
||||||
|
|
||||||
|
Region pregion = WGManager.getRegionAt(plr.getLocation());
|
||||||
|
if (pregion == null) return;
|
||||||
|
Region dregion = WGManager.getRegionAt(damager.getLocation());
|
||||||
|
if (dregion == null) return;
|
||||||
|
|
||||||
|
if (!dregion.canPvp() || !pregion.canPvp()) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
damager.sendMessage(ChatColor.RED + "You cannot PVP here!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
4
src/main/java/eu/creeper/mc/creeperPit/Scoreboard.java
Normal file
4
src/main/java/eu/creeper/mc/creeperPit/Scoreboard.java
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
package eu.creeper.mc.creeperPit;
|
||||||
|
|
||||||
|
public class Scoreboard {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
package eu.creeper.mc.creeperPit.mysql;
|
||||||
|
|
||||||
|
public class MariaDBManager {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
package eu.creeper.mc.creeperPit.points;
|
||||||
|
|
||||||
|
public class PtManager {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
package eu.creeper.mc.creeperPit.worldguard;
|
||||||
|
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
public class Handler implements Listener {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
package eu.creeper.mc.creeperPit.worldguard;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
public class Region {
|
||||||
|
private final String rname;
|
||||||
|
private final String label;
|
||||||
|
private final Location min;
|
||||||
|
private final Location max;
|
||||||
|
|
||||||
|
private boolean allowBuild;
|
||||||
|
private boolean allowBreak;
|
||||||
|
private boolean allowPvp;
|
||||||
|
private boolean allowDrop;
|
||||||
|
|
||||||
|
public Region(@NotNull String name, @NotNull Location min, @NotNull Location max, @Nullable String label) {
|
||||||
|
this.rname = name;
|
||||||
|
this.label = label;
|
||||||
|
|
||||||
|
this.min = min;
|
||||||
|
this.max = max;
|
||||||
|
|
||||||
|
this.allowBuild = false;
|
||||||
|
this.allowBreak = false;
|
||||||
|
this.allowPvp = false;
|
||||||
|
this.allowDrop = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean contains(@NotNull Location loc) {
|
||||||
|
return loc.getWorld().equals(min.getWorld()) &&
|
||||||
|
loc.getX() >= min.getX() && loc.getX() <= max.getX() &&
|
||||||
|
loc.getY() >= min.getY() && loc.getY() <= max.getY() &&
|
||||||
|
loc.getZ() >= min.getZ() && loc.getZ() <= max.getZ();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return rname;
|
||||||
|
}
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canBuild() {
|
||||||
|
return allowBuild;
|
||||||
|
}
|
||||||
|
public boolean canBreak() {
|
||||||
|
return allowBreak;
|
||||||
|
}
|
||||||
|
public boolean canPvp() {
|
||||||
|
return allowPvp;
|
||||||
|
}
|
||||||
|
public boolean canDrop() {
|
||||||
|
return allowDrop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAllowBuild(boolean allow) {
|
||||||
|
this.allowBuild = allow;
|
||||||
|
}
|
||||||
|
public void setAllowBreak(boolean allow) {
|
||||||
|
this.allowBreak = allow;
|
||||||
|
}
|
||||||
|
public void setAllowPvp(boolean allow) {
|
||||||
|
this.allowPvp = allow;
|
||||||
|
}
|
||||||
|
public void setAllowDrop(boolean allow) {
|
||||||
|
this.allowDrop = allow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package eu.creeper.mc.creeperPit.worldguard;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class WGManager implements Listener {
|
||||||
|
private static final List<Region> regions = new ArrayList<>();
|
||||||
|
|
||||||
|
public static void registerRegion(Region region) {
|
||||||
|
regions.add(region);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Region getRegionAt(Location loc) {
|
||||||
|
for (Region region : regions) {
|
||||||
|
if (region.contains(loc)) return region;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
src/main/resources/plugin.yml
Normal file
11
src/main/resources/plugin.yml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
name: CreeperPit
|
||||||
|
version: '1.2-SNAPSHOT'
|
||||||
|
main: eu.creeper.mc.creeperPit.Main
|
||||||
|
api-version: '1.8.8'
|
||||||
|
prefix: CPit
|
||||||
|
authors: [ Befaci, creepervmuser1000 ]
|
||||||
|
description: CreeperPit gameplay management
|
||||||
|
permissions:
|
||||||
|
creeperpit.worldguard:
|
||||||
|
default: "op"
|
||||||
|
description: "Can bypass the WorldGuard"
|
||||||
Loading…
Reference in New Issue
Block a user