diff --git a/README.md b/README.md
index f591d1e9..a9182990 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,6 @@
[](http://erethon.de/javadocs/dungeonsxl/)
[](http://bstats.org/plugin/bukkit/DungeonsXL/)
-
-
DungeonsXL is a server mod that allows you to instantiate worlds.
Its main goal is to offer a way to use a world in a set state multiple times by a player (like for a jump'n'run), a group of players (e.g. for a quest dungeon, an adventure map or a PvE arena) or even by groups of groups of players (e.g. for PvP arenas).
@@ -47,7 +45,7 @@ If you want to learn how to use DungeonsXL step by step, please have a look at t
## Compatibility
### Server
-DungeonsXL works with 1.8.8 and higher. However, support for 1.13.x / 1.12.x / 1.11.x / 1.10.x / 1.9.x has a higher priority than support for 1.8.8. Old builds that support older versions are unusable for production environments. See [here](../../wiki/legacy-support) for detailed information. Some cosmetic features require the Spigot API and will therefore not work with CraftBukkit.
+DungeonsXL works with Spigot 1.8 and higher. However, support for 1.14 / 1.13 has a higher priority than support for 1.8-1.12. Old builds that support older versions are unusable for production environments. See [here](../../wiki/legacy-support) for detailed information. DungeonsXL only works with Spigot and does not support CraftBukkit builds.
### Building information and dependencies
Building DungeonsXL from source requires [Apache Maven](https://maven.apache.org/).
@@ -59,6 +57,9 @@ Maven automatically fetches all dependencies and builds DungeonsXL; just run _bu
#### Caliburn API
[Caliburn](https://github.com/DRE2N/CaliburnAPI) is an API to read custom items and mobs from config files.
+#### Vignette
+[Vignette](https://github.com/DRE2N/Vignette) is a Bukkit GUI Framework.
+
### Java
Make sure that your server uses Java 8 or higher.
diff --git a/api/pom.xml b/api/pom.xml
new file mode 100644
index 00000000..ed9b8d96
--- /dev/null
+++ b/api/pom.xml
@@ -0,0 +1,20 @@
+
+ 4.0.0
+ de.erethon.dungeonsxl
+ dungeonsxl-api
+ 0.18-SNAPSHOT
+ jar
+
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+
+
+
+ org.spigotmc
+ spigot-api
+ 1.14.2-R0.1-SNAPSHOT
+ provided
+
+
+
diff --git a/api/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapter.java b/api/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapter.java
new file mode 100644
index 00000000..f34d4ee1
--- /dev/null
+++ b/api/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapter.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012-2019 Frank Baumann
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.erethon.dungeonsxl.adapter.block;
+
+import de.erethon.dungeonsxl.util.DColor;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
+
+/**
+ * @author Daniel Saukel
+ */
+public interface BlockAdapter {
+
+ boolean isBedHead(Block block);
+
+ void openDoor(Block block);
+
+ void setBlockWoolColor(Block block, DColor color);
+
+ BlockFace getFacing(Block block);
+
+ void setFacing(Block block, BlockFace facing);
+
+ void setAxis(Block block, boolean z);
+
+}
diff --git a/src/main/java/de/erethon/dungeonsxl/util/DColor.java b/api/src/main/java/de/erethon/dungeonsxl/util/DColor.java
similarity index 95%
rename from src/main/java/de/erethon/dungeonsxl/util/DColor.java
rename to api/src/main/java/de/erethon/dungeonsxl/util/DColor.java
index 6c236e15..a5a24826 100644
--- a/src/main/java/de/erethon/dungeonsxl/util/DColor.java
+++ b/api/src/main/java/de/erethon/dungeonsxl/util/DColor.java
@@ -77,15 +77,6 @@ public enum DColor {
return dye.getColor().asRGB();
}
- /**
- * @deprecated Use getDyeColor() or getMaterial() instead
- * @return the wool DV
- */
- @Deprecated
- public byte getWoolData() {
- return dye.getWoolData();
- }
-
/**
* @return the wool material
*/
diff --git a/bukkit_blockdata/pom.xml b/bukkit_blockdata/pom.xml
new file mode 100644
index 00000000..711f3376
--- /dev/null
+++ b/bukkit_blockdata/pom.xml
@@ -0,0 +1,26 @@
+
+ 4.0.0
+ de.erethon.dungeonsxl
+ dungeonsxl-bukkit_blockdata
+ 0.18-SNAPSHOT
+ jar
+
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-api
+ ${project.parent.version}
+ compile
+
+
+ org.spigotmc
+ spigot-api
+ 1.14.2-R0.1-SNAPSHOT
+ provided
+
+
+
diff --git a/bukkit_blockdata/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterBlockData.java b/bukkit_blockdata/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterBlockData.java
new file mode 100644
index 00000000..08475fb8
--- /dev/null
+++ b/bukkit_blockdata/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterBlockData.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2012-2019 Frank Baumann
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.erethon.dungeonsxl.adapter.block;
+
+import de.erethon.dungeonsxl.util.DColor;
+import org.bukkit.Axis;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
+import org.bukkit.block.data.Directional;
+import org.bukkit.block.data.Openable;
+import org.bukkit.block.data.Orientable;
+import org.bukkit.block.data.type.Bed;
+
+/**
+ * @author Daniel Saukel
+ */
+public class BlockAdapterBlockData implements BlockAdapter {
+
+ @Override
+ public boolean isBedHead(Block block) {
+ if (!(block.getBlockData() instanceof Bed)) {
+ throw new IllegalArgumentException("Block is not Bed");
+ }
+ return ((Bed) block.getBlockData()).getPart() == Bed.Part.HEAD;
+ }
+
+ @Override
+ public void openDoor(Block block) {
+ if (!(block.getBlockData() instanceof Openable)) {
+ throw new IllegalArgumentException("Block is not Openable");
+ }
+ Openable data = ((Openable) block.getBlockData());
+ data.setOpen(true);
+ block.setBlockData(data);
+ }
+
+ @Override
+ public void setBlockWoolColor(Block block, DColor color) {
+ block.setType(color.getWoolMaterial().getMaterial());
+ }
+
+ @Override
+ public BlockFace getFacing(Block block) {
+ if (!(block.getBlockData() instanceof Directional)) {
+ throw new IllegalArgumentException("Block is not Directional");
+ }
+ return ((Directional) block.getBlockData()).getFacing();
+ }
+
+ @Override
+ public void setFacing(Block block, BlockFace facing) {
+ if (!(block.getBlockData() instanceof Directional)) {
+ throw new IllegalArgumentException("Block is not Directional");
+ }
+ Directional data = (Directional) block.getBlockData();
+ data.setFacing(facing);
+ block.setBlockData(data, false);
+ }
+
+ @Override
+ public void setAxis(Block block, boolean z) {
+ if (!(block.getBlockData() instanceof Orientable)) {
+ throw new IllegalArgumentException("Block is not Orientable");
+ }
+ Orientable data = (Orientable) block.getBlockData();
+ data.setAxis(z ? Axis.Z : Axis.X);
+ }
+
+}
diff --git a/bukkit_magicvalues/pom.xml b/bukkit_magicvalues/pom.xml
new file mode 100644
index 00000000..c95a7afc
--- /dev/null
+++ b/bukkit_magicvalues/pom.xml
@@ -0,0 +1,26 @@
+
+ 4.0.0
+ de.erethon.dungeonsxl
+ dungeonsxl-bukkit_magicvalues
+ 0.18-SNAPSHOT
+ jar
+
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-api
+ ${project.parent.version}
+ compile
+
+
+ org.spigotmc
+ spigot-api
+ 1.12.2-R0.1-SNAPSHOT
+ provided
+
+
+
diff --git a/bukkit_magicvalues/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterMagicValues.java b/bukkit_magicvalues/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterMagicValues.java
new file mode 100644
index 00000000..91e55fe3
--- /dev/null
+++ b/bukkit_magicvalues/src/main/java/de/erethon/dungeonsxl/adapter/block/BlockAdapterMagicValues.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2012-2019 Frank Baumann
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.erethon.dungeonsxl.adapter.block;
+
+import de.erethon.dungeonsxl.util.DColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
+import org.bukkit.block.BlockState;
+import org.bukkit.material.Bed;
+import org.bukkit.material.Directional;
+import org.bukkit.material.MaterialData;
+
+/**
+ * @author Daniel Saukel
+ */
+public class BlockAdapterMagicValues implements BlockAdapter {
+
+ @Override
+ public boolean isBedHead(Block block) {
+ MaterialData data = block.getState().getData();
+ if (!(data instanceof Bed)) {
+ throw new IllegalArgumentException("Block is not Bed");
+ }
+ return ((Bed) data).isHeadOfBed();
+ }
+
+ @Override
+ public void openDoor(Block block) {
+ block.setData((byte) (block.getData() + 4));
+ }
+
+ @Override
+ public void setBlockWoolColor(Block block, DColor color) {
+ block.setTypeIdAndData(Material.WOOL.getId(), color.getDyeColor().getWoolData(), false);
+ }
+
+ @Override
+ public BlockFace getFacing(Block block) {
+ MaterialData data = block.getState().getData();
+ if (!(data instanceof Directional)) {
+ throw new IllegalArgumentException("Block is not Directional");
+ }
+ return ((Directional) data).getFacing();
+ }
+
+ @Override
+ public void setFacing(Block block, BlockFace facing) {
+ BlockState state = block.getState();
+ MaterialData data = state.getData();
+ if (!(data instanceof Directional)) {
+ throw new IllegalArgumentException("Block is not Directional");
+ }
+ ((Directional) data).setFacingDirection(facing);
+ state.setData(data);
+ state.update();
+ }
+
+ @Override
+ public void setAxis(Block block, boolean z) {
+ block.setData(z ? (byte) 2 : 1);
+ }
+
+}
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 00000000..aea42fc2
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,110 @@
+
+ 4.0.0
+ de.erethon.dungeonsxl
+ dungeonsxl-core
+ 0.18-SNAPSHOT
+ jar
+
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+
+
+
+
+ .
+ true
+ src/main/resources/
+
+ plugin.yml
+
+
+
+
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-api
+ ${project.parent.version}
+ compile
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-bukkit_blockdata
+ ${project.parent.version}
+ compile
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-bukkit_magicvalues
+ ${project.parent.version}
+ compile
+
+
+ org.spigotmc
+ spigot-api
+ 1.14.2-R0.1-SNAPSHOT
+ provided
+
+
+ net.milkbowl.vault
+ VaultAPI
+ 1.7
+ provided
+
+
+ io.github.dre2n
+ commandsxl
+ 2.1.2
+ provided
+
+
+ net.citizensnpcs
+ citizens
+ 2.0.25-SNAPSHOT
+ provided
+
+
+ com.gmail.filoghost.holographicdisplays
+ holographicdisplays-api
+ 2.3.2
+ provided
+
+
+ org.black_ixx
+ BossShop
+ 2.7.5
+ provided
+
+
+ com.griefcraft
+ Modern-LWC
+ 2.1.2
+ provided
+
+
+ me.clip
+ placeholderapi
+ 2.10.2
+ provided
+
+
+
+
+ vault-repo
+ http://nexus.hc.to/content/repositories/pub_releases
+
+
+ citizens-repo
+ http://repo.citizensnpcs.co/
+
+
+ filoghost-repo
+ https://ci.filoghost.me/plugin/repository/everything/
+
+
+ placeholderapi
+ http://repo.extendedclip.com/content/repositories/placeholderapi/
+
+
+
diff --git a/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java
similarity index 95%
rename from src/main/java/de/erethon/dungeonsxl/DungeonsXL.java
rename to core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java
index fce8a455..83ba201e 100644
--- a/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/DungeonsXL.java
@@ -19,10 +19,15 @@ package de.erethon.dungeonsxl;
import de.erethon.caliburn.CaliburnAPI;
import de.erethon.caliburn.loottable.LootTable;
import de.erethon.commons.compatibility.Internals;
+import de.erethon.commons.compatibility.Version;
import de.erethon.commons.config.MessageConfig;
import de.erethon.commons.javaplugin.DREPlugin;
import de.erethon.commons.javaplugin.DREPluginSettings;
import de.erethon.commons.misc.FileUtil;
+import de.erethon.commons.spiget.comparator.VersionComparator;
+import de.erethon.dungeonsxl.adapter.block.BlockAdapter;
+import de.erethon.dungeonsxl.adapter.block.BlockAdapterBlockData;
+import de.erethon.dungeonsxl.adapter.block.BlockAdapterMagicValues;
import de.erethon.dungeonsxl.announcer.AnnouncerCache;
import de.erethon.dungeonsxl.command.DCommandCache;
import de.erethon.dungeonsxl.config.DMessage;
@@ -68,6 +73,8 @@ public class DungeonsXL extends DREPlugin {
private static DungeonsXL instance;
private CaliburnAPI caliburn;
+ public static final BlockAdapter BLOCK_ADAPTER = Version.isAtLeast(Version.MC1_13) ? new BlockAdapterBlockData() : new BlockAdapterMagicValues();
+
public static final String[] EXCLUDED_FILES = {"config.yml", "uid.dat", "DXLData.data", "data"};
public static File BACKUPS;
public static File LANGUAGES;
@@ -109,6 +116,7 @@ public class DungeonsXL extends DREPlugin {
.permissions(true)
.metrics(true)
.spigotMCResourceId(9488)
+ .versionComparator(VersionComparator.EQUAL)
.build();
}
diff --git a/src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java b/core/src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java
similarity index 99%
rename from src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java
rename to core/src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java
index 52dfa187..1dcc666b 100644
--- a/src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/announcer/Announcer.java
@@ -16,11 +16,8 @@
*/
package de.erethon.dungeonsxl.announcer;
-import de.erethon.commons.chat.BaseComponent;
-import de.erethon.commons.chat.ClickEvent;
import de.erethon.commons.chat.DefaultFontInfo;
import de.erethon.commons.chat.MessageUtil;
-import de.erethon.commons.chat.TextComponent;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.config.DMessage;
import de.erethon.dungeonsxl.dungeon.Dungeon;
@@ -33,6 +30,9 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import net.md_5.bungee.api.chat.BaseComponent;
+import net.md_5.bungee.api.chat.ClickEvent;
+import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
diff --git a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java
similarity index 96%
rename from src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java
index 4f55f7e5..01153458 100644
--- a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerCache.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
-import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
/**
* Announcer instance manager.
@@ -70,7 +70,7 @@ public class AnnouncerCache {
* @param gui the gui
* @return the announcer that has the GUI
*/
- public Announcer getByGUI(Inventory gui) {
+ public Announcer getByGUI(InventoryView gui) {
for (Announcer announcer : announcers) {
if ((ChatColor.DARK_RED + announcer.getName()).equals(gui.getTitle())) {
return announcer;
diff --git a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java
similarity index 92%
rename from src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java
index e8c3b464..41360c3a 100644
--- a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerListener.java
@@ -22,7 +22,6 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
/**
@@ -43,9 +42,8 @@ public class AnnouncerListener implements Listener {
}
Player player = (Player) event.getWhoClicked();
- Inventory gui = event.getInventory();
ItemStack button = event.getCurrentItem();
- Announcer announcer = announcers.getByGUI(gui);
+ Announcer announcer = announcers.getByGUI(event.getView());
if (announcer != null && button != null && Category.WOOL.containsMaterial(button.getType())) {
announcer.clickGroupButton(player, button);
}
diff --git a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerStartGameTask.java b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerStartGameTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerStartGameTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerStartGameTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerTask.java b/core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/announcer/AnnouncerTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/BreakCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/BreakCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/BreakCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/BreakCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ChatCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ChatCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/ChatCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ChatCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ChatSpyCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ChatSpyCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/ChatSpyCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ChatSpyCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/CreateCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/CreateCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/CreateCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/CreateCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/DCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/DCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/DCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/DCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java b/core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/DCommandCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java
similarity index 97%
rename from src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java
index 7e267502..e4cc63dd 100644
--- a/src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/command/DeleteCommand.java
@@ -16,9 +16,7 @@
*/
package de.erethon.dungeonsxl.command;
-import de.erethon.commons.chat.ClickEvent;
import de.erethon.commons.chat.MessageUtil;
-import de.erethon.commons.chat.TextComponent;
import de.erethon.commons.misc.FileUtil;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.config.DMessage;
@@ -26,6 +24,8 @@ import de.erethon.dungeonsxl.player.DPermission;
import de.erethon.dungeonsxl.world.DEditWorld;
import de.erethon.dungeonsxl.world.DResourceWorld;
import java.io.File;
+import net.md_5.bungee.api.chat.ClickEvent;
+import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
diff --git a/src/main/java/de/erethon/dungeonsxl/command/DungeonItemCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/DungeonItemCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/DungeonItemCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/DungeonItemCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/EditCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/EditCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/EditCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/EditCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/EnterCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/EnterCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/EnterCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/EnterCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/EscapeCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/EscapeCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/EscapeCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/EscapeCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/GameCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/GameCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/GameCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/GameCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/GroupCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/GroupCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/GroupCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/GroupCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/HelpCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/HelpCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/HelpCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/HelpCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ImportCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ImportCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/ImportCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ImportCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/InviteCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/InviteCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/InviteCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/InviteCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/JoinCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/JoinCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/JoinCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/JoinCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/KickCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/KickCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/KickCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/KickCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/LeaveCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/LeaveCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/LeaveCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/LeaveCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ListCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ListCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/ListCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ListCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/LivesCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/LivesCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/LivesCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/LivesCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/MainCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/MainCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/MainCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/MainCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/MsgCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/MsgCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/MsgCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/MsgCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/PlayCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/PlayCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/PlayCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/PlayCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/PortalCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/PortalCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/PortalCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/PortalCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java
similarity index 97%
rename from src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java
index 872bf2c3..3302cc2c 100644
--- a/src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/command/ReloadCommand.java
@@ -16,10 +16,8 @@
*/
package de.erethon.dungeonsxl.command;
-import de.erethon.commons.chat.ClickEvent;
import de.erethon.commons.chat.DefaultFontInfo;
import de.erethon.commons.chat.MessageUtil;
-import de.erethon.commons.chat.TextComponent;
import de.erethon.commons.compatibility.CompatibilityHandler;
import de.erethon.commons.compatibility.Internals;
import de.erethon.dungeonsxl.DungeonsXL;
@@ -28,6 +26,8 @@ import de.erethon.dungeonsxl.event.DataReloadEvent;
import de.erethon.dungeonsxl.player.DInstancePlayer;
import de.erethon.dungeonsxl.player.DPermission;
import java.util.List;
+import net.md_5.bungee.api.chat.ClickEvent;
+import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
diff --git a/src/main/java/de/erethon/dungeonsxl/command/RenameCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/RenameCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/RenameCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/RenameCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/ResourcePackCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/ResourcePackCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/ResourcePackCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/ResourcePackCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/SaveCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/SaveCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/SaveCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/SaveCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/StatusCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/StatusCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/StatusCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/StatusCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/TestCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/TestCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/TestCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/TestCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/command/UninviteCommand.java b/core/src/main/java/de/erethon/dungeonsxl/command/UninviteCommand.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/command/UninviteCommand.java
rename to core/src/main/java/de/erethon/dungeonsxl/command/UninviteCommand.java
diff --git a/src/main/java/de/erethon/dungeonsxl/config/DMessage.java b/core/src/main/java/de/erethon/dungeonsxl/config/DMessage.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/config/DMessage.java
rename to core/src/main/java/de/erethon/dungeonsxl/config/DMessage.java
diff --git a/src/main/java/de/erethon/dungeonsxl/config/MainConfig.java b/core/src/main/java/de/erethon/dungeonsxl/config/MainConfig.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/config/MainConfig.java
rename to core/src/main/java/de/erethon/dungeonsxl/config/MainConfig.java
diff --git a/src/main/java/de/erethon/dungeonsxl/dungeon/Dungeon.java b/core/src/main/java/de/erethon/dungeonsxl/dungeon/Dungeon.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/dungeon/Dungeon.java
rename to core/src/main/java/de/erethon/dungeonsxl/dungeon/Dungeon.java
diff --git a/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonCache.java b/core/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/dungeon/DungeonCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonConfig.java b/core/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonConfig.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/dungeon/DungeonConfig.java
rename to core/src/main/java/de/erethon/dungeonsxl/dungeon/DungeonConfig.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/DataReloadEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/DataReloadEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/DataReloadEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/DataReloadEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupCreateEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupCreateEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupCreateEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupCreateEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupDisbandEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupDisbandEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupDisbandEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupDisbandEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishDungeonEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishDungeonEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishDungeonEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishDungeonEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishFloorEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishFloorEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishFloorEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupFinishFloorEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupScoreEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupScoreEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupScoreEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupScoreEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupStartFloorEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupStartFloorEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupStartFloorEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dgroup/DGroupStartFloorEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobDeathEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobDeathEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dmob/DMobDeathEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobDeathEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dmob/DMobEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobSpawnEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobSpawnEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dmob/DMobSpawnEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dmob/DMobSpawnEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerJoinDGroupEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerJoinDGroupEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerJoinDGroupEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerJoinDGroupEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerKickEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerKickEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerKickEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerKickEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerLeaveDGroupEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerLeaveDGroupEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerLeaveDGroupEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/DPlayerLeaveDGroupEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerUpdateEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerUpdateEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerUpdateEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/DInstancePlayerUpdateEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEscapeEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEscapeEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEscapeEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEscapeEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/edit/DEditPlayerEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerDeathEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerDeathEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerDeathEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerDeathEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEscapeEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEscapeEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEscapeEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEscapeEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerFinishEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerFinishEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerFinishEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerFinishEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerRewardEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerRewardEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerRewardEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dplayer/instance/game/DGamePlayerRewardEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dsign/DSignEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignRegistrationEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignRegistrationEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/dsign/DSignRegistrationEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/dsign/DSignRegistrationEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldGenerateEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldGenerateEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldGenerateEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldGenerateEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldLoadEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldLoadEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldLoadEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldLoadEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldSaveEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldSaveEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldSaveEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldSaveEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldUnloadEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldUnloadEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldUnloadEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/editworld/EditWorldUnloadEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldLoadEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldLoadEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldLoadEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldLoadEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldStartGameEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldStartGameEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldStartGameEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldStartGameEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldUnloadEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldUnloadEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldUnloadEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/gameworld/GameWorldUnloadEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementCheckEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementCheckEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementCheckEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementCheckEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementDemandEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementDemandEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementDemandEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementDemandEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementRegistrationEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementRegistrationEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementRegistrationEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/requirement/RequirementRegistrationEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/reward/RewardAdditionEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardAdditionEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/reward/RewardAdditionEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardAdditionEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/reward/RewardEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/reward/RewardEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/reward/RewardRegistrationEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardRegistrationEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/reward/RewardRegistrationEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/reward/RewardRegistrationEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerActionEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerActionEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerActionEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerActionEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerRegistrationEvent.java b/core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerRegistrationEvent.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerRegistrationEvent.java
rename to core/src/main/java/de/erethon/dungeonsxl/event/trigger/TriggerRegistrationEvent.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/Game.java b/core/src/main/java/de/erethon/dungeonsxl/game/Game.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/Game.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/Game.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/GameGoal.java b/core/src/main/java/de/erethon/dungeonsxl/game/GameGoal.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/GameGoal.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/GameGoal.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/GameRuleProvider.java b/core/src/main/java/de/erethon/dungeonsxl/game/GameRuleProvider.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/GameRuleProvider.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/GameRuleProvider.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/GameType.java b/core/src/main/java/de/erethon/dungeonsxl/game/GameType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/GameType.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/GameType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/GameTypeCache.java b/core/src/main/java/de/erethon/dungeonsxl/game/GameTypeCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/GameTypeCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/GameTypeCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/game/GameTypeDefault.java b/core/src/main/java/de/erethon/dungeonsxl/game/GameTypeDefault.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/game/GameTypeDefault.java
rename to core/src/main/java/de/erethon/dungeonsxl/game/GameTypeDefault.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/DPortal.java b/core/src/main/java/de/erethon/dungeonsxl/global/DPortal.java
similarity index 96%
rename from src/main/java/de/erethon/dungeonsxl/global/DPortal.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/DPortal.java
index 3dfcd5e3..1357a792 100644
--- a/src/main/java/de/erethon/dungeonsxl/global/DPortal.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/global/DPortal.java
@@ -26,7 +26,6 @@ import de.erethon.dungeonsxl.game.Game;
import de.erethon.dungeonsxl.player.DGamePlayer;
import de.erethon.dungeonsxl.player.DGlobalPlayer;
import de.erethon.dungeonsxl.player.DGroup;
-import de.erethon.dungeonsxl.util.MagicValueUtil;
import de.erethon.dungeonsxl.world.DGameWorld;
import de.erethon.dungeonsxl.world.DResourceWorld;
import java.util.HashSet;
@@ -49,7 +48,7 @@ public class DPortal extends GlobalProtection {
private Block block1;
private Block block2;
private ExItem material = VanillaItem.NETHER_PORTAL;
- private byte axis;
+ private boolean zAxis;
private boolean active;
private Set blocks;
@@ -64,13 +63,13 @@ public class DPortal extends GlobalProtection {
this.active = active;
}
- public DPortal(DungeonsXL plugin, int id, Block block1, Block block2, ExItem material, byte axis, boolean active) {
+ public DPortal(DungeonsXL plugin, int id, Block block1, Block block2, ExItem material, boolean zAxis, boolean active) {
super(plugin, block1.getWorld(), id);
this.block1 = block1;
this.block2 = block2;
this.material = material;
- this.axis = axis;
+ this.zAxis = zAxis;
this.active = active;
}
@@ -84,7 +83,7 @@ public class DPortal extends GlobalProtection {
material = VanillaItem.NETHER_PORTAL;
}
String axis = config.getString("axis");
- this.axis = (byte) (axis != null && axis.equalsIgnoreCase("z") ? 2 : 1);
+ zAxis = axis != null && axis.equalsIgnoreCase("z");
active = true;
create(null);
}
@@ -145,9 +144,9 @@ public class DPortal extends GlobalProtection {
if (player != null && material == VanillaItem.NETHER_PORTAL) {
float yaw = player.getPlayer().getLocation().getYaw();
if (yaw >= 45 & yaw < 135 || yaw >= 225 & yaw < 315) {
- axis = 2;//z;
+ zAxis = true;
} else if (yaw >= 315 | yaw < 45 || yaw >= 135 & yaw < 225) {
- axis = 1;//x;
+ zAxis = false;
}
}
@@ -184,7 +183,7 @@ public class DPortal extends GlobalProtection {
Block block = getWorld().getBlockAt(xx, yy, zz);
block.setType(material.getMaterial(), false);
if (material == VanillaItem.NETHER_PORTAL) {
- MagicValueUtil.setBlockData(block, axis);
+ DungeonsXL.BLOCK_ADAPTER.setAxis(block, zAxis);
}
}
@@ -290,7 +289,7 @@ public class DPortal extends GlobalProtection {
configFile.set(preString + ".material", material.getId());
if (material == VanillaItem.NETHER_PORTAL) {
- configFile.set(preString + ".axis", axis == 2 ? "z" : "x");
+ configFile.set(preString + ".axis", zAxis ? "z" : "x");
}
}
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GameSign.java b/core/src/main/java/de/erethon/dungeonsxl/global/GameSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GameSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GameSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GlobalData.java b/core/src/main/java/de/erethon/dungeonsxl/global/GlobalData.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GlobalData.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GlobalData.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GlobalProtection.java b/core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtection.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GlobalProtection.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtection.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionCache.java b/core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionListener.java b/core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionListener.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GlobalProtectionListener.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/GroupSign.java b/core/src/main/java/de/erethon/dungeonsxl/global/GroupSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/GroupSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/GroupSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/JoinSign.java b/core/src/main/java/de/erethon/dungeonsxl/global/JoinSign.java
similarity index 90%
rename from src/main/java/de/erethon/dungeonsxl/global/JoinSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/JoinSign.java
index adccd200..e46568ca 100644
--- a/src/main/java/de/erethon/dungeonsxl/global/JoinSign.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/global/JoinSign.java
@@ -27,11 +27,9 @@ import java.util.Set;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
-import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
-import org.bukkit.material.Attachable;
/**
* @author Daniel Saukel
@@ -217,26 +215,15 @@ public abstract class JoinSign extends GlobalProtection {
}
protected static void onCreation(DungeonsXL plugin, Block startSign, String identifier, int maxElements, int startIfElementsAtLeast) {
- // TODO: Replace as soon as versions older than 1.13 are dropped
-
World world = startSign.getWorld();
- BlockFace facing = ((Attachable) startSign.getState().getData()).getAttachedFace().getOppositeFace();
- //BlockFace facing = ((Directional) startSign.getBlockData()).getFacing().getOppositeFace();
+ BlockFace facing = DungeonsXL.BLOCK_ADAPTER.getFacing(startSign);
int x = startSign.getX(), y = startSign.getY(), z = startSign.getZ();
int verticalSigns = (int) Math.ceil((float) (1 + maxElements) / 4);
while (verticalSigns > 1) {
Block block = world.getBlockAt(x, y - verticalSigns + 1, z);
block.setType(VanillaItem.WALL_SIGN.getMaterial(), false);
- BlockState state = block.getState();
- org.bukkit.material.Sign signData = (org.bukkit.material.Sign) state.getData();
- signData.setFacingDirection(facing);
- state.setData(signData);
- state.update(true, false);
- // Directional directional = (Directional) block.getBlockData();
- // directional.setFacing(facing);
- // block.setBlockData(directional, false);
-
+ DungeonsXL.BLOCK_ADAPTER.setFacing(block, facing);
verticalSigns--;
}
diff --git a/src/main/java/de/erethon/dungeonsxl/global/LeaveSign.java b/core/src/main/java/de/erethon/dungeonsxl/global/LeaveSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/LeaveSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/LeaveSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/global/UnloadedProtection.java b/core/src/main/java/de/erethon/dungeonsxl/global/UnloadedProtection.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/global/UnloadedProtection.java
rename to core/src/main/java/de/erethon/dungeonsxl/global/UnloadedProtection.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/CitizensMobProvider.java b/core/src/main/java/de/erethon/dungeonsxl/mob/CitizensMobProvider.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/CitizensMobProvider.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/CitizensMobProvider.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/CustomExternalMobProvider.java b/core/src/main/java/de/erethon/dungeonsxl/mob/CustomExternalMobProvider.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/CustomExternalMobProvider.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/CustomExternalMobProvider.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/DMob.java b/core/src/main/java/de/erethon/dungeonsxl/mob/DMob.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/DMob.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/DMob.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/DMobListener.java b/core/src/main/java/de/erethon/dungeonsxl/mob/DMobListener.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/DMobListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/DMobListener.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/DMobType.java b/core/src/main/java/de/erethon/dungeonsxl/mob/DMobType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/DMobType.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/DMobType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/DNPCRegistry.java b/core/src/main/java/de/erethon/dungeonsxl/mob/DNPCRegistry.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/DNPCRegistry.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/DNPCRegistry.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobPlugin.java b/core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobPlugin.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/ExternalMobPlugin.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobPlugin.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProvider.java b/core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProvider.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProvider.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProvider.java
diff --git a/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProviderCache.java b/core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProviderCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProviderCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/mob/ExternalMobProviderCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DClass.java b/core/src/main/java/de/erethon/dungeonsxl/player/DClass.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DClass.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DClass.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DClassCache.java b/core/src/main/java/de/erethon/dungeonsxl/player/DClassCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DClassCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DClassCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DEditPlayer.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DGamePlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DGamePlayer.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DGamePlayer.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DGamePlayer.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DGlobalPlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DGlobalPlayer.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DGlobalPlayer.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DGlobalPlayer.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DGroup.java b/core/src/main/java/de/erethon/dungeonsxl/player/DGroup.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DGroup.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DGroup.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DGroupTag.java b/core/src/main/java/de/erethon/dungeonsxl/player/DGroupTag.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DGroupTag.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DGroupTag.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DPermission.java b/core/src/main/java/de/erethon/dungeonsxl/player/DPermission.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DPermission.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DPermission.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DPlayerCache.java b/core/src/main/java/de/erethon/dungeonsxl/player/DPlayerCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DPlayerCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DPlayerCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DPlayerData.java b/core/src/main/java/de/erethon/dungeonsxl/player/DPlayerData.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DPlayerData.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DPlayerData.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/DPlayerListener.java b/core/src/main/java/de/erethon/dungeonsxl/player/DPlayerListener.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/DPlayerListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/DPlayerListener.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/RespawnTask.java b/core/src/main/java/de/erethon/dungeonsxl/player/RespawnTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/RespawnTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/RespawnTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/SecureModeTask.java b/core/src/main/java/de/erethon/dungeonsxl/player/SecureModeTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/SecureModeTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/SecureModeTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/player/TimeIsRunningTask.java b/core/src/main/java/de/erethon/dungeonsxl/player/TimeIsRunningTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/player/TimeIsRunningTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/player/TimeIsRunningTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/FeeLevelRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/FeeLevelRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/FeeLevelRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/FeeLevelRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/FeeMoneyRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/FeeMoneyRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/FeeMoneyRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/FeeMoneyRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/ForbiddenItemsRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/ForbiddenItemsRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/ForbiddenItemsRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/ForbiddenItemsRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/GroupSizeRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/GroupSizeRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/GroupSizeRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/GroupSizeRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/KeyItemsRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/KeyItemsRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/KeyItemsRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/KeyItemsRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/PermissionRequirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/PermissionRequirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/PermissionRequirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/PermissionRequirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/Requirement.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/Requirement.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/Requirement.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/Requirement.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/RequirementType.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/RequirementType.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeCache.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeDefault.java b/core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeDefault.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeDefault.java
rename to core/src/main/java/de/erethon/dungeonsxl/requirement/RequirementTypeDefault.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/ItemReward.java b/core/src/main/java/de/erethon/dungeonsxl/reward/ItemReward.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/ItemReward.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/ItemReward.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/LevelReward.java b/core/src/main/java/de/erethon/dungeonsxl/reward/LevelReward.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/LevelReward.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/LevelReward.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/MoneyReward.java b/core/src/main/java/de/erethon/dungeonsxl/reward/MoneyReward.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/MoneyReward.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/MoneyReward.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/Reward.java b/core/src/main/java/de/erethon/dungeonsxl/reward/Reward.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/Reward.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/Reward.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java b/core/src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java
similarity index 92%
rename from src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java
index bcb9d34e..686623b4 100644
--- a/src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/reward/RewardListener.java
@@ -17,7 +17,6 @@
package de.erethon.dungeonsxl.reward;
import de.erethon.caliburn.item.VanillaItem;
-import de.erethon.commons.gui.PageGUI;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.config.DMessage;
import de.erethon.dungeonsxl.player.DGlobalPlayer;
@@ -25,6 +24,8 @@ import de.erethon.dungeonsxl.player.DPermission;
import de.erethon.dungeonsxl.world.DEditWorld;
import de.erethon.dungeonsxl.world.DGameWorld;
import de.erethon.dungeonsxl.world.block.RewardChest;
+import de.erethon.vignette.api.PaginatedInventoryGUI;
+import de.erethon.vignette.api.component.InventoryButton;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
@@ -121,10 +122,12 @@ public class RewardListener implements Listener {
if (dPlayer.hasRewardItemsLeft() && !VanillaItem.NETHER_PORTAL.is(block.getRelative(0, 1, 0)) && !VanillaItem.NETHER_PORTAL.is(block.getRelative(0, -1, 0))
&& !VanillaItem.NETHER_PORTAL.is(block.getRelative(1, 0, 0)) && !VanillaItem.NETHER_PORTAL.is(block.getRelative(-1, 0, 0))
&& !VanillaItem.NETHER_PORTAL.is(block.getRelative(0, 0, 1)) && !VanillaItem.NETHER_PORTAL.is(block.getRelative(0, 0, -1))) {
- PageGUI lootInventory = new PageGUI(DMessage.PLAYER_TREASURES.getMessage(), true);
+ PaginatedInventoryGUI lootInventory = new PaginatedInventoryGUI(DMessage.PLAYER_TREASURES.getMessage());
for (ItemStack item : dPlayer.getRewardItems()) {
if (item != null) {
- lootInventory.addButton(item);
+ InventoryButton button = new InventoryButton(item);
+ button.setStealable(true);
+ lootInventory.add(button);
}
}
lootInventory.open(player);
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/RewardType.java b/core/src/main/java/de/erethon/dungeonsxl/reward/RewardType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/RewardType.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/RewardType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeCache.java b/core/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/RewardTypeCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeDefault.java b/core/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeDefault.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/reward/RewardTypeDefault.java
rename to core/src/main/java/de/erethon/dungeonsxl/reward/RewardTypeDefault.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/BedSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/BedSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/BedSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/BedSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/BlockSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/BlockSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/BlockSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/BlockSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/BossShopSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/BossShopSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/BossShopSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/BossShopSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/CheckpointSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/CheckpointSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/CheckpointSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/CheckpointSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/ChestSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/ChestSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/ChestSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/ChestSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/CommandSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/CommandSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/CommandSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/CommandSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DSignListener.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DSignListener.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DSignListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DSignListener.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DSignType.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DSignType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DSignType.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DSignType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeCache.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DSignTypeCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java
similarity index 98%
rename from src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java
index 70396bc6..d86f9807 100644
--- a/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/sign/DSignTypeDefault.java
@@ -41,7 +41,6 @@ public enum DSignTypeDefault implements DSignType {
CHECKPOINT("Checkpoint", "checkpoint", false, false, CheckpointSign.class),
@Deprecated
CHEST("Chest", "chest", false, false, RewardChestSign.class),
- CHUNK_UPDATER("ChunkUpdater", "chunkupdater", true, false, ChunkUpdaterSign.class),
CLASSES("Classes", "classes", true, true, ClassesSign.class),
COMMAND("CMD", "cmd", false, false, CommandSign.class),
DROP("Drop", "drop", false, false, DropSign.class),
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DelayedPowerTask.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DelayedPowerTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DelayedPowerTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DelayedPowerTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DropSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DropSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DropSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DropSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/DungeonChestSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/DungeonChestSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/DungeonChestSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/DungeonChestSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/EndSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/EndSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/EndSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/EndSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/FlagSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/FlagSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/FlagSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/FlagSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/InteractSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/InteractSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/InteractSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/InteractSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/LeaveSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/LeaveSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/LeaveSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/LeaveSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/LivesModifierSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/LivesModifierSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/LivesModifierSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/LivesModifierSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java
similarity index 74%
rename from src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java
index d19e1d53..0d79e99b 100644
--- a/src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/sign/LocationSign.java
@@ -16,6 +16,7 @@
*/
package de.erethon.dungeonsxl.sign;
+import de.erethon.commons.misc.BlockUtil;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.world.DGameWorld;
import org.bukkit.Location;
@@ -37,7 +38,7 @@ public abstract class LocationSign extends DSign {
double x = getSign().getX() + 0.5;
double y = getSign().getY();
double z = getSign().getZ() + 0.5;
- float yaw = letterToYaw(((org.bukkit.material.Sign) getSign().getData()).getFacing().getOppositeFace().name().charAt(0));
+ float yaw = BlockUtil.blockFaceToYaw(DungeonsXL.BLOCK_ADAPTER.getFacing(getSign().getBlock()).getOppositeFace());
float pitch = 0;
location = new Location(getGameWorld().getWorld(), x, y, z, yaw, pitch);
}
@@ -49,23 +50,4 @@ public abstract class LocationSign extends DSign {
return location;
}
- public static int letterToYaw(char c) {
- switch (c) {
- case 'S':
- case 's':
- return 0;
- case 'W':
- case 'w':
- return 90;
- case 'N':
- case 'n':
- return 180;
- case 'E':
- case 'e':
- return -90;
- default:
- return -1;
- }
- }
-
}
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/MobSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/MobSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/MobSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/MobSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/MobSpawnTask.java b/core/src/main/java/de/erethon/dungeonsxl/sign/MobSpawnTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/MobSpawnTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/MobSpawnTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/NoteSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/NoteSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/NoteSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/NoteSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java
similarity index 96%
rename from src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java
index ffe477ff..da2f7e4b 100644
--- a/src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/sign/OpenDoorSign.java
@@ -16,6 +16,7 @@
*/
package de.erethon.dungeonsxl.sign;
+import de.erethon.caliburn.category.Category;
import de.erethon.caliburn.item.VanillaItem;
import de.erethon.commons.misc.BlockUtil;
import de.erethon.dungeonsxl.DungeonsXL;
@@ -24,7 +25,6 @@ import de.erethon.dungeonsxl.world.block.LockedDoor;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.Sign;
-import org.bukkit.material.Door;
/**
* @author Daniel Saukel
@@ -81,7 +81,7 @@ public class OpenDoorSign extends DSign {
@Override
public void onInit() {
Block block = BlockUtil.getAttachedBlock(getSign().getBlock());
- if (block.getState().getData() instanceof Door) {
+ if (Category.DOORS.containsBlock(block)) {
if (block.getRelative(BlockFace.DOWN).getType() == block.getType()) {
door = new LockedDoor(plugin, block.getRelative(BlockFace.DOWN));
} else {
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/PerPlayerSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/PerPlayerSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/PerPlayerSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/PerPlayerSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/PlaceSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/PlaceSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/PlaceSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/PlaceSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/ProtectionSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/ProtectionSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/ProtectionSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/ProtectionSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/RedstoneSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/RedstoneSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/RedstoneSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/RedstoneSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/ResourcePackSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/ResourcePackSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/ResourcePackSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/ResourcePackSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/RewardChestSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/RewardChestSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/RewardChestSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/RewardChestSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/ScriptSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/ScriptSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/ScriptSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/ScriptSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/SignScript.java b/core/src/main/java/de/erethon/dungeonsxl/sign/SignScript.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/SignScript.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/SignScript.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/SignScriptCache.java b/core/src/main/java/de/erethon/dungeonsxl/sign/SignScriptCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/SignScriptCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/SignScriptCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/SignUpdateTask.java b/core/src/main/java/de/erethon/dungeonsxl/sign/SignUpdateTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/SignUpdateTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/SignUpdateTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java
similarity index 94%
rename from src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java
index b0a456ec..b80c347d 100644
--- a/src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/sign/TeleportSign.java
@@ -17,6 +17,7 @@
package de.erethon.dungeonsxl.sign;
import de.erethon.caliburn.item.VanillaItem;
+import de.erethon.commons.misc.BlockUtil;
import de.erethon.commons.misc.NumberUtil;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.world.DGameWorld;
@@ -36,7 +37,7 @@ public class TeleportSign extends LocationSign {
public boolean check() {
for (int i = 1; i <= 2; i++) {
if (!lines[i].isEmpty()) {
- if (letterToYaw(lines[i].charAt(0)) == -1) {
+ if (BlockUtil.lettersToYaw(lines[i]) == -1) {
String[] loc = lines[i].split(",");
if (loc.length != 3) {
return false;
@@ -52,7 +53,7 @@ public class TeleportSign extends LocationSign {
super.onInit();
for (int i = 1; i <= 2; i++) {
if (!lines[i].isEmpty()) {
- int yaw = letterToYaw(lines[i].charAt(0));
+ int yaw = BlockUtil.lettersToYaw(lines[i]);
if (yaw != -1) {
location.setYaw(yaw);
} else {
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/TriggerSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/TriggerSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/TriggerSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/TriggerSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/WaveSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/WaveSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/WaveSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/WaveSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/lobby/ClassesSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/lobby/ClassesSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/lobby/ClassesSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/lobby/ClassesSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/lobby/LobbySign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/lobby/LobbySign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/lobby/LobbySign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/lobby/LobbySign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/lobby/ReadySign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/lobby/ReadySign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/lobby/ReadySign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/lobby/ReadySign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/lobby/StartSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/lobby/StartSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/lobby/StartSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/lobby/StartSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/message/ActionBarSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/message/ActionBarSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/message/ActionBarSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/message/ActionBarSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/message/HologramSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/message/HologramSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/message/HologramSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/message/HologramSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/message/MessageSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/message/MessageSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/message/MessageSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/message/MessageSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/message/SoundMessageSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/message/SoundMessageSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/message/SoundMessageSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/message/SoundMessageSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/message/TitleSign.java b/core/src/main/java/de/erethon/dungeonsxl/sign/message/TitleSign.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/sign/message/TitleSign.java
rename to core/src/main/java/de/erethon/dungeonsxl/sign/message/TitleSign.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/DistanceTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/DistanceTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/DistanceTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/DistanceTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/FortuneTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/FortuneTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/FortuneTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/FortuneTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/InteractTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/InteractTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/InteractTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/InteractTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/MobTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/MobTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/MobTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/MobTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/ProgressTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/ProgressTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/ProgressTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/ProgressTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/RedstoneTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/RedstoneTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/RedstoneTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/RedstoneTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/SignTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/SignTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/SignTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/SignTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/Trigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/Trigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/Trigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/Trigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/TriggerListener.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerListener.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/TriggerListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerListener.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/TriggerType.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerType.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/TriggerType.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerType.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeCache.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeDefault.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeDefault.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeDefault.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/TriggerTypeDefault.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/UseItemTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/UseItemTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/UseItemTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/UseItemTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/trigger/WaveTrigger.java b/core/src/main/java/de/erethon/dungeonsxl/trigger/WaveTrigger.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/trigger/WaveTrigger.java
rename to core/src/main/java/de/erethon/dungeonsxl/trigger/WaveTrigger.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/GUIUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/GUIUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/GUIUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/GUIUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/LWCUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/LWCUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/LWCUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/LWCUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/MagicValueUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/MagicValueUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/MagicValueUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/MagicValueUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/NBTUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/NBTUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/NBTUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/NBTUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/ParsingUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/ParsingUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/ParsingUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/ParsingUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/PlaceholderUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/PlaceholderUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/PlaceholderUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/PlaceholderUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/ProgressBar.java b/core/src/main/java/de/erethon/dungeonsxl/util/ProgressBar.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/ProgressBar.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/ProgressBar.java
diff --git a/src/main/java/de/erethon/dungeonsxl/util/ReflectionUtil.java b/core/src/main/java/de/erethon/dungeonsxl/util/ReflectionUtil.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/util/ReflectionUtil.java
rename to core/src/main/java/de/erethon/dungeonsxl/util/ReflectionUtil.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DEditWorld.java b/core/src/main/java/de/erethon/dungeonsxl/world/DEditWorld.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/DEditWorld.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DEditWorld.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java b/core/src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java
similarity index 97%
rename from src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java
index c6819473..e1153108 100644
--- a/src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/DGameWorld.java
@@ -56,7 +56,6 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import org.bukkit.Bukkit;
-import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;
@@ -99,7 +98,6 @@ public class DGameWorld extends DInstanceWorld {
private Set teamFlags = new HashSet<>();
private List secureObjects = new CopyOnWriteArrayList<>();
- private CopyOnWriteArrayList loadedChunks = new CopyOnWriteArrayList<>();
private CopyOnWriteArrayList classesSigns = new CopyOnWriteArrayList<>();
private CopyOnWriteArrayList dMobs = new CopyOnWriteArrayList<>();
private CopyOnWriteArrayList dSigns = new CopyOnWriteArrayList<>();
@@ -285,20 +283,6 @@ public class DGameWorld extends DInstanceWorld {
this.secureObjects = secureObjects;
}
- /**
- * @return the loadedChunks
- */
- public CopyOnWriteArrayList getLoadedChunks() {
- return loadedChunks;
- }
-
- /**
- * @param loadedChunks the loadedChunks to set
- */
- public void setLoadedChunks(CopyOnWriteArrayList loadedChunks) {
- this.loadedChunks = loadedChunks;
- }
-
/**
* @return the classes signs
*/
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DInstanceWorld.java b/core/src/main/java/de/erethon/dungeonsxl/world/DInstanceWorld.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/DInstanceWorld.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DInstanceWorld.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java b/core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DResourceWorld.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DWorldCache.java b/core/src/main/java/de/erethon/dungeonsxl/world/DWorldCache.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/DWorldCache.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DWorldCache.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java b/core/src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java
similarity index 94%
rename from src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java
index 724a25a5..57d59c5a 100644
--- a/src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/DWorldListener.java
@@ -40,7 +40,6 @@ import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.player.PlayerArmorStandManipulateEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.weather.WeatherChangeEvent;
-import org.bukkit.event.world.ChunkUnloadEvent;
/**
* @author Daniel Saukel, Frank Baumann, Milan Albrecht
@@ -109,16 +108,6 @@ public class DWorldListener implements Listener {
}
}
- @EventHandler
- public void onChunkUnload(ChunkUnloadEvent event) {
- DInstanceWorld instance = dWorlds.getInstanceByWorld(event.getWorld());
- if (instance instanceof DGameWorld) {
- if (((DGameWorld) instance).getLoadedChunks().contains(event.getChunk())) {
- event.setCancelled(true);
- }
- }
- }
-
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onEntityExplode(EntityExplodeEvent event) {
DGameWorld gameWorld = DGameWorld.getByWorld(event.getEntity().getWorld());
diff --git a/src/main/java/de/erethon/dungeonsxl/world/LWCIntegration.java b/core/src/main/java/de/erethon/dungeonsxl/world/LWCIntegration.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/LWCIntegration.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/LWCIntegration.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/SignData.java b/core/src/main/java/de/erethon/dungeonsxl/world/SignData.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/SignData.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/SignData.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/WorldConfig.java b/core/src/main/java/de/erethon/dungeonsxl/world/WorldConfig.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/WorldConfig.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/WorldConfig.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/WorldUnloadTask.java b/core/src/main/java/de/erethon/dungeonsxl/world/WorldUnloadTask.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/WorldUnloadTask.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/WorldUnloadTask.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/GameBlock.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/GameBlock.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/block/GameBlock.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/GameBlock.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java
similarity index 87%
rename from src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java
index 2abe5967..d1343b53 100644
--- a/src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/block/LockedDoor.java
@@ -17,7 +17,6 @@
package de.erethon.dungeonsxl.world.block;
import de.erethon.dungeonsxl.DungeonsXL;
-import de.erethon.dungeonsxl.util.MagicValueUtil;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.event.block.BlockBreakEvent;
@@ -57,10 +56,7 @@ public class LockedDoor extends GameBlock implements MultiBlock {
* Opens the door.
*/
public void open() {
- /*Openable data = ((Openable) block.getBlockData());
- data.setOpen(true);
- block.setBlockData(data);*/
- MagicValueUtil.setBlockData(block, (byte) (block.getData() + 4));
+ DungeonsXL.BLOCK_ADAPTER.openDoor(block);
}
@Override
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/MultiBlock.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/MultiBlock.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/block/MultiBlock.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/MultiBlock.java
diff --git a/core/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java
new file mode 100644
index 00000000..5332169d
--- /dev/null
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2012-2019 Frank Baumann
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package de.erethon.dungeonsxl.world.block;
+
+import de.erethon.caliburn.item.ExItem;
+import de.erethon.commons.misc.BlockUtil;
+import de.erethon.dungeonsxl.DungeonsXL;
+import de.erethon.dungeonsxl.world.DGameWorld;
+import java.util.HashSet;
+import java.util.Set;
+import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
+import org.bukkit.event.block.BlockBreakEvent;
+
+/**
+ * @author Frank Baumann, Daniel Saukel
+ */
+public class PlaceableBlock extends GameBlock {
+
+ // Variables
+ private Set materials = new HashSet<>();
+ private Set faces = new HashSet<>();
+
+ public PlaceableBlock(DungeonsXL plugin, Block block, String ids, String directions) {
+ super(plugin, block);
+
+ for (String id : ids.split(",")) {
+ ExItem item = plugin.getCaliburn().getExItem(id);
+ if (item != null) {
+ materials.add(item);
+ }
+ }
+
+ faces.add(BlockFace.SELF);
+ for (String direction : directions.split(",")) {
+ faces.add(BlockUtil.lettersToBlockFace(direction));
+ }
+ }
+
+ /* Actions */
+ @Override
+ public boolean onBreak(BlockBreakEvent event) {
+ return false;
+ }
+
+ public boolean canPlace(Block toPlace, ExItem material) {
+ return faces.contains(toPlace.getFace(block)) && (materials.isEmpty() || materials.contains(material));
+ }
+
+ public static boolean canBuildHere(Block block, BlockFace blockFace, ExItem material, DGameWorld gameWorld) {
+ for (PlaceableBlock gamePlaceableBlock : gameWorld.getPlaceableBlocks()) {
+ if (gamePlaceableBlock.canPlace(block, material)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/ProtectedBlock.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/ProtectedBlock.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/block/ProtectedBlock.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/ProtectedBlock.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/RewardChest.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/RewardChest.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/block/RewardChest.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/RewardChest.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java
similarity index 97%
rename from src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java
index 126d430e..9f1d42ef 100644
--- a/src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/block/TeamBed.java
@@ -27,7 +27,6 @@ import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockBreakEvent;
-import org.bukkit.material.Bed;
/**
* @author Daniel Saukel
@@ -86,7 +85,7 @@ public class TeamBed extends TeamBlock implements MultiBlock {
owner.getGameWorld().sendMessage(DMessage.GROUP_BED_DESTROYED.getMessage(owner.getName(), DGamePlayer.getByPlayer(breaker).getName()));
Block block1 = event.getBlock();
- if (((Bed) block1.getState().getData()).isHeadOfBed()) {
+ if (DungeonsXL.BLOCK_ADAPTER.isBedHead(block)) {
Block block2 = getAttachedBlock(block1);
if (block2 != null) {
block2.setType(VanillaItem.AIR.getMaterial());
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/TeamBlock.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/TeamBlock.java
similarity index 100%
rename from src/main/java/de/erethon/dungeonsxl/world/block/TeamBlock.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/TeamBlock.java
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java b/core/src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java
similarity index 80%
rename from src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java
rename to core/src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java
index d60a9801..c073d030 100644
--- a/src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java
+++ b/core/src/main/java/de/erethon/dungeonsxl/world/block/TeamFlag.java
@@ -18,13 +18,10 @@ package de.erethon.dungeonsxl.world.block;
import de.erethon.caliburn.item.VanillaItem;
import de.erethon.commons.chat.MessageUtil;
-import de.erethon.commons.compatibility.CompatibilityHandler;
import de.erethon.dungeonsxl.DungeonsXL;
import de.erethon.dungeonsxl.config.DMessage;
import de.erethon.dungeonsxl.player.DGamePlayer;
import de.erethon.dungeonsxl.player.DGroup;
-import de.erethon.dungeonsxl.util.DColor;
-import de.erethon.dungeonsxl.util.MagicValueUtil;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockBreakEvent;
@@ -44,7 +41,7 @@ public class TeamFlag extends TeamBlock {
* Reset a team flag when the capturer dies.
*/
public void reset() {
- setBlockWoolColor(block, owner.getDColor());
+ DungeonsXL.BLOCK_ADAPTER.setBlockWoolColor(block, owner.getDColor());
}
@Override
@@ -66,11 +63,4 @@ public class TeamFlag extends TeamBlock {
return true;
}
- public static void setBlockWoolColor(Block block, DColor color) {
- block.setType(color.getWoolMaterial().getMaterial());
- if (!CompatibilityHandler.getInstance().getVersion().useNewMaterials()) {
- MagicValueUtil.setBlockData(block, color.getWoolData());
- }
- }
-
}
diff --git a/src/main/resources/plugin.yml b/core/src/main/resources/plugin.yml
similarity index 63%
rename from src/main/resources/plugin.yml
rename to core/src/main/resources/plugin.yml
index efb69a65..cc514927 100644
--- a/src/main/resources/plugin.yml
+++ b/core/src/main/resources/plugin.yml
@@ -1,9 +1,9 @@
-name: ${project.name}
-main: ${project.groupId}.${project.artifactId}.${project.name}
-version: ${project.version}${buildNo}
+name: ${project.parent.name}
+main: de.erethon.dungeonsxl.DungeonsXL
+version: ${project.parent.version}${buildNo}
authors: [Frank Baumann, Milan Albrecht, Tobias Schmitz, Daniel Saukel]
-description: ${project.description}
-website: ${project.url}
+description: ${project.parent.description}
+website: ${project.parent.url}
softdepend: [CommandsXL, ItemsXL, Vault, Citizens, CustomMobs, InsaneMobs, MythicMobs, HolographicDisplays, LWC, PlaceholderAPI]
commands:
dungeonsxl:
diff --git a/dist/pom.xml b/dist/pom.xml
new file mode 100644
index 00000000..5d8c5b65
--- /dev/null
+++ b/dist/pom.xml
@@ -0,0 +1,73 @@
+
+ 4.0.0
+ de.erethon.dungeonsxl
+ dungeonsxl-dist
+ ${project.parent.version}
+ jar
+
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+
+
+ ${project.artifactId}-${project.version}${buildNo}
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+
+
+ de.erethon:caliburn
+ de.erethon.commons:commons-dist
+ de.erethon.vignette:vignette-dist
+ de.erethon.dungeonsxl:*
+
+
+
+
+ de.erethon.commons
+ de.erethon.dungeonsxl.util.commons
+
+
+ de.erethon.vignette
+ de.erethon.dungeonsxl.util.vignette
+
+
+
+
+
+
+
+
+
+
+ de.erethon.dungeonsxl
+ dungeonsxl-core
+ ${project.parent.version}
+
+
+ de.erethon
+ caliburn
+ 0.5.4
+
+
+ de.erethon.vignette
+ vignette-dist
+ 1.0-SNAPSHOT
+ compile
+
+
+ de.erethon.commons
+ commons-dist
+ 6.0
+
+
+
diff --git a/pom.xml b/pom.xml
index 65dc5a23..6eba4391 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,73 +1,31 @@
4.0.0
- de.erethon
- dungeonsxl
- 0.17.8-SNAPSHOT
- jar
+ de.erethon.dungeonsxl
+ dungeonsxl-parent
+ 0.18-SNAPSHOT
+ pom
DungeonsXL
https://dre2n.github.io
Create custom dungeons and adventure maps with ease!
+
+ api
+ bukkit_blockdata
+ bukkit_magicvalues
+ core
+ dist
+
UTF-8
1.8
1.8
-
- ${project.artifactId}-${project.version}${buildNo}
- src/main/java
-
-
- .
- true
- src/main/resources/
-
- plugin.yml
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.2.1
-
-
- package
-
- shade
-
-
-
-
- de.erethon:caliburn
- de.erethon:commons
-
-
-
-
- de.erethon.commons
- de.erethon.dungeonsxl.util.commons
-
-
-
-
-
-
-
-
- org.bukkit
- bukkit
- 1.13.2-R0.1-SNAPSHOT
- provided
-
-
- net.milkbowl.vault
- VaultAPI
- 1.7
- provided
+ de.erethon.commons
+ commons-dist
+ 6.0
+ compile
de.erethon
@@ -76,72 +34,20 @@
compile
- de.erethon
- commons
- 5.1.5
+ de.erethon.vignette
+ vignette-dist
+ 1.0-SNAPSHOT
compile
-
- io.github.dre2n
- commandsxl
- 2.1.2
- provided
-
-
- net.citizensnpcs
- citizens
- 2.0.24-SNAPSHOT
- provided
-
-
- com.gmail.filoghost.holographicdisplays
- holographicdisplays-api
- 2.2.7-SNAPSHOT
- provided
-
-
- org.black_ixx
- BossShop
- 2.7.5
- provided
-
-
- com.griefcraft
- Modern-LWC
- 2.1.2
- provided
-
-
- me.clip
- placeholderapi
- 2.9.2
- provided
-
spigot-repo
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-
- vault-repo
- http://nexus.hc.to/content/repositories/pub_releases
-
-
- citizens-repo
- http://repo.citizensnpcs.co/
-
-
- filoghost-repo
- https://ci.filoghost.me/plugin/repository/everything/
-
-
- placeholderapi
- http://repo.extendedclip.com/content/repositories/placeholderapi/
-
dre-repo
- http://erethon.de/repo/
+ http://erethon.de/repo
diff --git a/src/main/java/de/erethon/dungeonsxl/sign/ChunkUpdaterSign.java b/src/main/java/de/erethon/dungeonsxl/sign/ChunkUpdaterSign.java
deleted file mode 100644
index 31de91c4..00000000
--- a/src/main/java/de/erethon/dungeonsxl/sign/ChunkUpdaterSign.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2012-2019 Frank Baumann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.erethon.dungeonsxl.sign;
-
-import de.erethon.caliburn.item.VanillaItem;
-import de.erethon.commons.misc.NumberUtil;
-import de.erethon.dungeonsxl.DungeonsXL;
-import de.erethon.dungeonsxl.world.DGameWorld;
-import org.bukkit.Chunk;
-import org.bukkit.block.Sign;
-
-/**
- * @author Frank Baumann, Daniel Saukel
- */
-public class ChunkUpdaterSign extends DSign {
-
- public ChunkUpdaterSign(DungeonsXL plugin, Sign sign, String[] lines, DGameWorld gameWorld) {
- super(plugin, sign, lines, gameWorld);
- }
-
- @Override
- public boolean check() {
- return true;
- }
-
- @Override
- public void onInit() {
- Chunk chunk = getGameWorld().getWorld().getChunkAt(getSign().getBlock());
-
- if (!lines[1].isEmpty()) {
- Integer radius = NumberUtil.parseInt(lines[1]);
- for (int x = -radius; x < radius; x++) {
- for (int z = -radius; z < radius; z++) {
- Chunk chunk1 = getGameWorld().getWorld().getChunkAt(chunk.getX() - x, chunk.getZ() - z);
- chunk1.load();
- getGameWorld().getLoadedChunks().add(chunk1);
- }
- }
-
- } else {
- chunk.load();
- getGameWorld().getLoadedChunks().add(chunk);
- }
-
- getSign().getBlock().setType(VanillaItem.AIR.getMaterial());
- }
-
- @Override
- public DSignType getType() {
- return DSignTypeDefault.CHUNK_UPDATER;
- }
-
-}
diff --git a/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java b/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java
deleted file mode 100644
index f5b9ce81..00000000
--- a/src/main/java/de/erethon/dungeonsxl/world/block/PlaceableBlock.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*
- * Copyright (C) 2012-2019 Frank Baumann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package de.erethon.dungeonsxl.world.block;
-
-import de.erethon.caliburn.item.ExItem;
-import de.erethon.dungeonsxl.DungeonsXL;
-import de.erethon.dungeonsxl.world.DGameWorld;
-import java.util.HashSet;
-import java.util.Set;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.block.BlockFace;
-import org.bukkit.event.block.BlockBreakEvent;
-
-/**
- * @author Frank Baumann, Daniel Saukel
- */
-public class PlaceableBlock extends GameBlock {
-
- // Variables
- private Set materials = new HashSet<>();
-
- private boolean onTop = false;
- private boolean onBottom = false;
- private boolean onNorth = false;
- private boolean onSouth = false;
- private boolean onEast = false;
- private boolean onWest = false;
-
- public PlaceableBlock(DungeonsXL plugin, Block block, String ids, String directions) {
- super(plugin, block);
-
- // Split ids
- if (!ids.isEmpty()) {
- String[] splittedIds = ids.split(",");
- for (String id : splittedIds) {
- ExItem item = plugin.getCaliburn().getExItem(id);
- if (item != null) {
- materials.add(item);
- }
- }
- }
-
- // Read directions
- if (directions.length() == 6) {
- for (byte direction = 0; direction < 6; direction++) {
- boolean positive = String.valueOf(directions.charAt(direction)).equals("x");
-
- if (!positive) {
- continue;
- }
-
- if (direction == 0) {
- onTop = true;
- }
-
- if (direction == 1) {
- onBottom = true;
- }
-
- if (block.getType() == Material.WALL_SIGN) {
- byte data = block.getData();
- switch (data) {
- case 3:
- if (direction == 2) {
- onNorth = true;
- }
-
- if (direction == 3) {
- onEast = true;
- }
-
- if (direction == 4) {
- onSouth = true;
- }
-
- if (direction == 5) {
- onWest = true;
- }
-
- break;
-
- case 4:
- if (direction == 5) {
- onNorth = true;
- }
-
- if (direction == 2) {
- onEast = true;
- }
-
- if (direction == 3) {
- onSouth = true;
- }
-
- if (direction == 4) {
- onWest = true;
- }
-
- break;
-
- case 2:
- if (direction == 4) {
- onNorth = true;
- }
-
- if (direction == 5) {
- onEast = true;
- }
-
- if (direction == 2) {
- onSouth = true;
- }
-
- if (direction == 3) {
- onWest = true;
- }
-
- break;
-
- case 5:
- if (direction == 3) {
- onNorth = true;
- }
-
- if (direction == 4) {
- onEast = true;
- }
-
- if (direction == 5) {
- onSouth = true;
- }
-
- if (direction == 2) {
- onWest = true;
-
- }
- break;
- }
-
- } else {
- byte data = block.getData();
- switch (data) {
- case 0:
- case 1:
- case 2:
- case 15:
- if (direction == 2) {
- onNorth = true;
- }
-
- if (direction == 3) {
- onEast = true;
- }
-
- if (direction == 4) {
- onSouth = true;
- }
-
- if (direction == 5) {
- onWest = true;
- }
-
- break;
- case 4:
- case 3:
- case 5:
- case 6:
- if (direction == 5) {
- onNorth = true;
- }
-
- if (direction == 2) {
- onEast = true;
- }
-
- if (direction == 3) {
- onSouth = true;
- }
-
- if (direction == 4) {
- onWest = true;
- }
-
- break;
-
- case 8:
- case 7:
- case 9:
- case 10:
- if (direction == 4) {
- onNorth = true;
- }
-
- if (direction == 5) {
- onEast = true;
- }
-
- if (direction == 2) {
- onSouth = true;
- }
-
- if (direction == 3) {
- onWest = true;
- }
-
- break;
- case 12:
- case 11:
- case 13:
- case 14:
- if (direction == 3) {
- onNorth = true;
- }
-
- if (direction == 4) {
- onEast = true;
- }
-
- if (direction == 5) {
- onSouth = true;
- }
-
- if (direction == 2) {
- onWest = true;
- }
-
- break;
- }
- }
- }
-
- } else {
- onTop = true;
- onBottom = true;
- onNorth = true;
- onEast = true;
- onSouth = true;
- onWest = true;
- }
- }
-
- /* Actions */
- @Override
- public boolean onBreak(BlockBreakEvent event) {
- return false;
- }
-
- // Can build
- public static boolean canBuildHere(Block block, BlockFace blockFace, ExItem mat, DGameWorld gameWorld) {
- for (PlaceableBlock gamePlacableBlock : gameWorld.getPlaceableBlocks()) {
- if (gamePlacableBlock.block.getFace(block) != BlockFace.SELF) {
- continue;
- }
-
- if (!(gamePlacableBlock.materials.contains(mat) || gamePlacableBlock.materials.isEmpty())) {
- continue;
- }
-
- if (blockFace == BlockFace.NORTH && gamePlacableBlock.onNorth) {
- return true;
- }
-
- if (blockFace == BlockFace.SOUTH && gamePlacableBlock.onSouth) {
- return true;
- }
-
- if (blockFace == BlockFace.EAST && gamePlacableBlock.onEast) {
- return true;
- }
-
- if (blockFace == BlockFace.WEST && gamePlacableBlock.onWest) {
- return true;
- }
-
- if (blockFace == BlockFace.UP && gamePlacableBlock.onTop) {
- return true;
- }
-
- if (blockFace == BlockFace.DOWN && gamePlacableBlock.onBottom) {
- return true;
- }
- }
-
- return false;
- }
-
-}