diff --git a/README.md b/README.md index f591d1e9..a9182990 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ [![JavaDocs](http://feuerstern.bplaced.net/ressourcen/buttons/JavaDocs.png)](http://erethon.de/javadocs/dungeonsxl/) [![MCStats](http://feuerstern.bplaced.net/ressourcen/buttons/MCStats.png)](http://bstats.org/plugin/bukkit/DungeonsXL/) -![Doge](https://i.imgflip.com/vtpyi.jpg) - 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; - } - -}