diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..4cd8244
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,132 @@
+
+
+ 4.0.0
+ com.lishid
+ OpenInv
+ 2.2.4-SNAPSHOT
+ jar
+
+ UTF-8
+ 1.7
+ 1.7
+
+
+
+ sk89q-repo
+ http://maven.sk89q.com/repo/
+
+
+ royaldev
+ http://minor.royaldev.org:8081/nexus/content/groups/public
+
+
+ bukkit-repo
+ http://repo.bukkit.org/content/groups/public
+
+
+ nixium
+ http://repo.nixium.com/
+
+
+
+
+
+ org.bukkit
+ minecraft-server
+ 1.7.10
+ compile
+
+
+ org.bukkit
+ craftbukkit
+ 1.7.10-R0.1-SNAPSHOT
+ compile
+ V1_7_R4
+
+
+ org.bukkit
+ craftbukkit
+ 1.7.2-R0.4-SNAPSHOT
+ provided
+ V1_7_R1
+
+
+ org.bukkit
+ craftbukkit
+ 1.7.5-R0.1-SNAPSHOT
+ provided
+ V1_7_R2
+
+
+ org.bukkit
+ craftbukkit
+ 1.7.9-R0.1-SNAPSHOT
+ provided
+ V1_7_R3
+
+
+ org.bukkit
+ craftbukkit
+ 1.6.2-R0.1-SNAPSHOT
+ provided
+ V1_6_R2
+
+
+ org.bukkit
+ craftbukkit
+ 1.6.4-R0.1-SNAPSHOT
+ provided
+ V1_6_R3
+
+
+ org.bukkit
+ craftbukkit
+ 1.6.1-R0.1-SNAPSHOT
+ provided
+ V1_6_R1
+
+
+ org.bukkit
+ craftbukkit
+ 1.4.7-R1.1-SNAPSHOT
+ provided
+ V1_4_R1
+
+
+ org.bukkit
+ craftbukkit
+ 1.4.5-R1.1-SNAPSHOT
+ provided
+ V1_4_5
+
+
+ org.bukkit
+ craftbukkit
+ 1.4.6-R0.1-SNAPSHOT
+ provided
+ V1_4_6
+
+
+ org.bukkit
+ craftbukkit
+ 1.5.2-R0.2-SNAPSHOT
+ provided
+ V1_5_R3
+
+
+ org.bukkit
+ craftbukkit
+ 1.5.1-R0.1-SNAPSHOT
+ provided
+ V1_5_R2
+
+
+ org.bukkit
+ original-craftbukkit
+ 1.7.10-R0.1-SNAPSHOT
+ provided
+
+
+
+
+
\ No newline at end of file
diff --git a/src/com/lishid/openinv/internal/craftbukkit/AnySilentChest.java b/src/com/lishid/openinv/internal/craftbukkit/AnySilentChest.java
deleted file mode 100644
index df0b089..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/AnySilentChest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-import java.lang.reflect.Field;
-
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-
-import com.lishid.openinv.OpenInv;
-import com.lishid.openinv.internal.IAnySilentChest;
-
-//Volatile
-import net.minecraft.server.*;
-
-import org.bukkit.craftbukkit.entity.*;
-
-public class AnySilentChest implements IAnySilentChest {
- public boolean IsAnyChestNeeded(Player p, int x, int y, int z) {
- // FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = ((CraftPlayer) p).getHandle();
- World world = player.world;
- // If block on top
- if (world.s(x, y + 1, z))
- return true;
-
- // If block next to chest is chest and has a block on top
- if ((world.getTypeId(x - 1, y, z) == Block.CHEST.id) && (world.s(x - 1, y + 1, z)))
- return true;
- if ((world.getTypeId(x + 1, y, z) == Block.CHEST.id) && (world.s(x + 1, y + 1, z)))
- return true;
- if ((world.getTypeId(x, y, z - 1) == Block.CHEST.id) && (world.s(x, y + 1, z - 1)))
- return true;
- if ((world.getTypeId(x, y, z + 1) == Block.CHEST.id) && (world.s(x, y + 1, z + 1)))
- return true;
-
- return false;
- }
-
- public boolean ActivateChest(Player p, boolean anychest, boolean silentchest, int x, int y, int z) {
- EntityPlayer player = ((CraftPlayer) p).getHandle();
- World world = player.world;
- Object chest = (TileEntityChest) world.getTileEntity(x, y, z);
- if (chest == null)
- return true;
-
- if (!anychest) {
- if (world.s(x, y + 1, z))
- return true;
- if ((world.getTypeId(x - 1, y, z) == Block.CHEST.id) && (world.s(x - 1, y + 1, z)))
- return true;
- if ((world.getTypeId(x + 1, y, z) == Block.CHEST.id) && (world.s(x + 1, y + 1, z)))
- return true;
- if ((world.getTypeId(x, y, z - 1) == Block.CHEST.id) && (world.s(x, y + 1, z - 1)))
- return true;
- if ((world.getTypeId(x, y, z + 1) == Block.CHEST.id) && (world.s(x, y + 1, z + 1)))
- return true;
- }
-
- if (world.getTypeId(x - 1, y, z) == Block.CHEST.id)
- chest = new InventoryLargeChest("Large chest", (TileEntityChest) world.getTileEntity(x - 1, y, z), (IInventory) chest);
- if (world.getTypeId(x + 1, y, z) == Block.CHEST.id)
- chest = new InventoryLargeChest("Large chest", (IInventory) chest, (TileEntityChest) world.getTileEntity(x + 1, y, z));
- if (world.getTypeId(x, y, z - 1) == Block.CHEST.id)
- chest = new InventoryLargeChest("Large chest", (TileEntityChest) world.getTileEntity(x, y, z - 1), (IInventory) chest);
- if (world.getTypeId(x, y, z + 1) == Block.CHEST.id)
- chest = new InventoryLargeChest("Large chest", (IInventory) chest, (TileEntityChest) world.getTileEntity(x, y, z + 1));
-
- boolean returnValue = true;
- if (!silentchest) {
- player.openContainer((IInventory) chest);
- }
- else {
- try {
- int id = 0;
- try {
- Field windowID = player.getClass().getDeclaredField("containerCounter");
- windowID.setAccessible(true);
- id = windowID.getInt(player);
- id = id % 100 + 1;
- windowID.setInt(player, id);
- }
- catch (NoSuchFieldException e) {}
-
- player.netServerHandler.sendPacket(new Packet100OpenWindow(id, 0, ((IInventory) chest).getName(), ((IInventory) chest).getSize()));
- player.activeContainer = new SilentContainerChest(player.inventory, ((IInventory) chest));
- player.activeContainer.windowId = id;
- player.activeContainer.addSlotListener(player);
- if (OpenInv.NotifySilentChest()) {
- p.sendMessage("You are opening a chest silently.");
- }
- returnValue = false;
- }
- catch (Exception e) {
- e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent chest.");
- }
- }
-
- if (anychest && OpenInv.NotifyAnyChest()) {
- p.sendMessage("You are opening a blocked chest.");
- }
-
- return returnValue;
- }
-}
diff --git a/src/com/lishid/openinv/internal/craftbukkit/InventoryAccess.java b/src/com/lishid/openinv/internal/craftbukkit/InventoryAccess.java
deleted file mode 100644
index 3ac3352..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/InventoryAccess.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-import org.bukkit.entity.HumanEntity;
-import org.bukkit.inventory.Inventory;
-
-import com.lishid.openinv.OpenInv;
-import com.lishid.openinv.Permissions;
-import com.lishid.openinv.internal.IInventoryAccess;
-
-//Volatile
-import net.minecraft.server.*;
-import org.bukkit.craftbukkit.inventory.*;
-
-public class InventoryAccess implements IInventoryAccess {
- public boolean check(Inventory inventory, HumanEntity player) {
- IInventory inv = ((CraftInventory) inventory).getInventory();
-
- if (inv instanceof SpecialPlayerInventory) {
- if (!OpenInv.hasPermission(player, Permissions.PERM_EDITINV)) {
- return false;
- }
- }
-
- else if (inv instanceof SpecialEnderChest) {
- if (!OpenInv.hasPermission(player, Permissions.PERM_EDITENDER)) {
- return false;
- }
- }
-
- return true;
- }
-}
diff --git a/src/com/lishid/openinv/internal/craftbukkit/PlayerDataManager.java b/src/com/lishid/openinv/internal/craftbukkit/PlayerDataManager.java
deleted file mode 100644
index 6a67c37..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/PlayerDataManager.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-
-import com.lishid.openinv.OpenInv;
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-//Volatile
-import net.minecraft.server.*;
-import org.bukkit.craftbukkit.*;
-
-public class PlayerDataManager implements IPlayerDataManager {
- public Player loadPlayer(String name) {
- try {
- // Default player folder
- File playerfolder = new File(Bukkit.getWorlds().get(0).getWorldFolder(), "players");
- if (!playerfolder.exists()) {
- return null;
- }
-
- String playername = matchUser(Arrays.asList(playerfolder.listFiles()), name);
-
- if (playername == null) {
- return null;
- }
-
- MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer();
-
- // Create an entity to load the player data
- EntityPlayer entity = new EntityPlayer(server, server.getWorldServer(0), playername, new ItemInWorldManager(server.getWorldServer(0)));
-
- // Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
- if (target != null) {
- // Load data
- target.loadData();
- // Return the entity
- return target;
- }
- }
- catch (Exception e) {
- OpenInv.log(e);
- }
-
- return null;
- }
-
- /**
- * @author Balor (aka Antoine Aflalo)
- */
- private static String matchUser(final Collection container, final String search) {
- String found = null;
- if (search == null) {
- return found;
- }
- final String lowerSearch = search.toLowerCase();
- int delta = Integer.MAX_VALUE;
- for (final File file : container) {
- final String filename = file.getName();
- final String str = filename.substring(0, filename.length() - 4);
- if (!str.toLowerCase().startsWith(lowerSearch)) {
- continue;
- }
- final int curDelta = str.length() - lowerSearch.length();
- if (curDelta < delta) {
- found = str;
- delta = curDelta;
- }
- if (curDelta == 0) {
- break;
- }
-
- }
- return found;
- }
-}
diff --git a/src/com/lishid/openinv/internal/craftbukkit/SilentContainerChest.java b/src/com/lishid/openinv/internal/craftbukkit/SilentContainerChest.java
deleted file mode 100644
index a5128f0..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/SilentContainerChest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-//Volatile
-import net.minecraft.server.*;
-
-public class SilentContainerChest extends ContainerChest {
- public IInventory inv;
-
- public SilentContainerChest(IInventory i1, IInventory i2) {
- super(i1, i2);
- inv = i2;
- // close signal
- inv.f();
- }
-
- @Override
- public void b(EntityHuman paramEntityHuman) {
- // Don't send close signal twice, might screw up
- }
-}
\ No newline at end of file
diff --git a/src/com/lishid/openinv/internal/craftbukkit/SpecialEnderChest.java b/src/com/lishid/openinv/internal/craftbukkit/SpecialEnderChest.java
deleted file mode 100644
index 5b10faa..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/SpecialEnderChest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.lishid.openinv.OpenInv;
-import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.HumanEntity;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-import org.bukkit.inventory.InventoryHolder;
-
-//Volatile
-import net.minecraft.server.*;
-import org.bukkit.craftbukkit.entity.*;
-import org.bukkit.craftbukkit.inventory.*;
-
-public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
- public List transaction = new ArrayList();
- public boolean playerOnline = false;
- private CraftPlayer owner;
- private InventoryEnderChest enderChest;
- private int maxStack = MAX_STACK;
- private CraftInventory inventory = new CraftInventory(this);
-
- public SpecialEnderChest(Player p, Boolean online) {
- super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
- CraftPlayer player = (CraftPlayer) p;
- this.enderChest = player.getHandle().getEnderChest();
- this.owner = player;
- this.items = enderChest.getContents();
- OpenInv.enderChests.put(owner.getName().toLowerCase(), this);
- }
-
- public Inventory getBukkitInventory() {
- return inventory;
- }
-
- public void InventoryRemovalCheck() {
- owner.saveData();
- if (transaction.isEmpty() && !playerOnline) {
- OpenInv.enderChests.remove(owner.getName().toLowerCase());
- }
- }
-
- public void PlayerGoOnline(Player p) {
- if (!playerOnline) {
- try {
- InventoryEnderChest playerEnderChest = ((CraftPlayer) p).getHandle().getEnderChest();
- Field field = playerEnderChest.getClass().getField("items");
- field.setAccessible(true);
- field.set(playerEnderChest, this.items);
- }
- catch (Exception e) {}
- p.saveData();
- playerOnline = true;
- }
- }
-
- public void PlayerGoOffline() {
- playerOnline = false;
- }
-
- public ItemStack[] getContents() {
- return this.items;
- }
-
- public void onOpen(CraftHumanEntity who) {
- transaction.add(who);
- }
-
- public void onClose(CraftHumanEntity who) {
- transaction.remove(who);
- this.InventoryRemovalCheck();
- }
-
- public List getViewers() {
- return transaction;
- }
-
- public InventoryHolder getOwner() {
- return this.owner;
- }
-
- public void setMaxStackSize(int size) {
- maxStack = size;
- }
-
- public int getMaxStackSize() {
- return maxStack;
- }
-
- public boolean a(EntityHuman entityhuman) {
- return true;
- }
-
- public void startOpen() {
-
- }
-
- public void f() {
-
- }
-
- public void update() {
- enderChest.update();
- }
-}
diff --git a/src/com/lishid/openinv/internal/craftbukkit/SpecialPlayerInventory.java b/src/com/lishid/openinv/internal/craftbukkit/SpecialPlayerInventory.java
deleted file mode 100644
index 280cce2..0000000
--- a/src/com/lishid/openinv/internal/craftbukkit/SpecialPlayerInventory.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (C) 2011-2014 lishid. All rights reserved.
- *
- * 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, version 3.
- *
- * 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 com.lishid.openinv.internal.craftbukkit;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
-import com.lishid.openinv.OpenInv;
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-//Volatile
-import net.minecraft.server.*;
-import org.bukkit.craftbukkit.entity.*;
-import org.bukkit.craftbukkit.inventory.*;
-
-public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
- CraftPlayer owner;
- public boolean playerOnline = false;
- private ItemStack[] extra = new ItemStack[5];
- private CraftInventory inventory = new CraftInventory(this);
-
- public SpecialPlayerInventory(Player p, Boolean online) {
- super(((CraftPlayer) p).getHandle());
- this.owner = ((CraftPlayer) p);
- this.playerOnline = online;
- this.items = player.inventory.items;
- this.armor = player.inventory.armor;
- OpenInv.inventories.put(owner.getName().toLowerCase(), this);
- }
-
- @Override
- public Inventory getBukkitInventory() {
- return inventory;
- }
-
- @Override
- public void InventoryRemovalCheck() {
- owner.saveData();
- if (transaction.isEmpty() && !playerOnline) {
- OpenInv.inventories.remove(owner.getName().toLowerCase());
- }
- }
-
- @Override
- public void PlayerGoOnline(Player player) {
- if (!playerOnline) {
- CraftPlayer p = (CraftPlayer) player;
- p.getHandle().inventory.items = this.items;
- p.getHandle().inventory.armor = this.armor;
- p.saveData();
- playerOnline = true;
- }
- }
-
- @Override
- public void PlayerGoOffline() {
- playerOnline = false;
- this.InventoryRemovalCheck();
- }
-
- @Override
- public void onClose(CraftHumanEntity who) {
- super.onClose(who);
- this.InventoryRemovalCheck();
- }
-
- @Override
- public ItemStack[] getContents() {
- ItemStack[] C = new ItemStack[getSize()];
- System.arraycopy(items, 0, C, 0, items.length);
- System.arraycopy(items, 0, C, items.length, armor.length);
- return C;
- }
-
- @Override
- public int getSize() {
- return super.getSize() + 5;
- }
-
- @Override
- public ItemStack getItem(int i) {
- ItemStack[] is = this.items;
-
- if (i >= is.length) {
- i -= is.length;
- is = this.armor;
- }
- else {
- i = getReversedItemSlotNum(i);
- }
-
- if (i >= is.length) {
- i -= is.length;
- is = this.extra;
- }
- else if (is == this.armor) {
- i = getReversedArmorSlotNum(i);
- }
-
- return is[i];
- }
-
- @Override
- public ItemStack splitStack(int i, int j) {
- ItemStack[] is = this.items;
-
- if (i >= is.length) {
- i -= is.length;
- is = this.armor;
- }
- else {
- i = getReversedItemSlotNum(i);
- }
-
- if (i >= is.length) {
- i -= is.length;
- is = this.extra;
- }
- else if (is == this.armor) {
- i = getReversedArmorSlotNum(i);
- }
-
- if (is[i] != null) {
- ItemStack itemstack;
-
- if (is[i].count <= j) {
- itemstack = is[i];
- is[i] = null;
- return itemstack;
- }
- else {
- itemstack = is[i].a(j);
- if (is[i].count == 0) {
- is[i] = null;
- }
-
- return itemstack;
- }
- }
- else {
- return null;
- }
- }
-
- @Override
- public ItemStack splitWithoutUpdate(int i) {
- ItemStack[] is = this.items;
-
- if (i >= is.length) {
- i -= is.length;
- is = this.armor;
- }
- else {
- i = getReversedItemSlotNum(i);
- }
-
- if (i >= is.length) {
- i -= is.length;
- is = this.extra;
- }
- else if (is == this.armor) {
- i = getReversedArmorSlotNum(i);
- }
-
- if (is[i] != null) {
- ItemStack itemstack = is[i];
-
- is[i] = null;
- return itemstack;
- }
- else {
- return null;
- }
- }
-
- @Override
- public void setItem(int i, ItemStack itemstack) {
- ItemStack[] is = this.items;
-
- if (i >= is.length) {
- i -= is.length;
- is = this.armor;
- }
- else {
- i = getReversedItemSlotNum(i);
- }
-
- if (i >= is.length) {
- i -= is.length;
- is = this.extra;
- }
- else if (is == this.armor) {
- i = getReversedArmorSlotNum(i);
- }
-
- // Effects
- if (is == this.extra) {
- owner.getHandle().drop(itemstack);
- itemstack = null;
- }
-
- is[i] = itemstack;
-
- owner.getHandle().defaultContainer.b();
- }
-
- private int getReversedItemSlotNum(int i) {
- if (i >= 27)
- return i - 27;
- else
- return i + 9;
- }
-
- private int getReversedArmorSlotNum(int i) {
- if (i == 0)
- return 3;
- if (i == 1)
- return 2;
- if (i == 2)
- return 1;
- if (i == 3)
- return 0;
- else
- return i;
- }
-
- @Override
- public String getName() {
- if (player.name.length() > 16) {
- return player.name.substring(0, 16);
- }
- return player.name;
- }
-
- @Override
- public boolean a_(EntityHuman entityhuman) {
- return true;
- }
-}
\ No newline at end of file
diff --git a/src/com/lishid/openinv/OpenInv.java b/src/main/java/com/lishid/openinv/OpenInv.java
similarity index 100%
rename from src/com/lishid/openinv/OpenInv.java
rename to src/main/java/com/lishid/openinv/OpenInv.java
diff --git a/src/com/lishid/openinv/OpenInvEntityListener.java b/src/main/java/com/lishid/openinv/OpenInvEntityListener.java
similarity index 100%
rename from src/com/lishid/openinv/OpenInvEntityListener.java
rename to src/main/java/com/lishid/openinv/OpenInvEntityListener.java
diff --git a/src/com/lishid/openinv/OpenInvInventoryListener.java b/src/main/java/com/lishid/openinv/OpenInvInventoryListener.java
similarity index 100%
rename from src/com/lishid/openinv/OpenInvInventoryListener.java
rename to src/main/java/com/lishid/openinv/OpenInvInventoryListener.java
diff --git a/src/com/lishid/openinv/OpenInvPlayerListener.java b/src/main/java/com/lishid/openinv/OpenInvPlayerListener.java
similarity index 100%
rename from src/com/lishid/openinv/OpenInvPlayerListener.java
rename to src/main/java/com/lishid/openinv/OpenInvPlayerListener.java
diff --git a/src/com/lishid/openinv/Permissions.java b/src/main/java/com/lishid/openinv/Permissions.java
similarity index 100%
rename from src/com/lishid/openinv/Permissions.java
rename to src/main/java/com/lishid/openinv/Permissions.java
diff --git a/src/com/lishid/openinv/commands/AnyChestPluginCommand.java b/src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/AnyChestPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java
diff --git a/src/com/lishid/openinv/commands/OpenEnderPluginCommand.java b/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/OpenEnderPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java
diff --git a/src/com/lishid/openinv/commands/OpenInvPluginCommand.java b/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/OpenInvPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java
diff --git a/src/com/lishid/openinv/commands/SearchInvPluginCommand.java b/src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/SearchInvPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java
diff --git a/src/com/lishid/openinv/commands/SilentChestPluginCommand.java b/src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/SilentChestPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java
diff --git a/src/com/lishid/openinv/commands/ToggleOpenInvPluginCommand.java b/src/main/java/com/lishid/openinv/commands/ToggleOpenInvPluginCommand.java
similarity index 100%
rename from src/com/lishid/openinv/commands/ToggleOpenInvPluginCommand.java
rename to src/main/java/com/lishid/openinv/commands/ToggleOpenInvPluginCommand.java
diff --git a/src/com/lishid/openinv/internal/IAnySilentChest.java b/src/main/java/com/lishid/openinv/internal/IAnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/IAnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/IAnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/IInventoryAccess.java b/src/main/java/com/lishid/openinv/internal/IInventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/IInventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/IInventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/IPlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/IPlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/ISpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/ISpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/ISpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/ISpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/InternalAccessor.java b/src/main/java/com/lishid/openinv/internal/InternalAccessor.java
similarity index 100%
rename from src/com/lishid/openinv/internal/InternalAccessor.java
rename to src/main/java/com/lishid/openinv/internal/InternalAccessor.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/AnySilentChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/AnySilentChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
diff --git a/src/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
similarity index 100%
rename from src/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
rename to src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
diff --git a/src/com/lishid/openinv/utils/ReflectionUtil.java b/src/main/java/com/lishid/openinv/utils/ReflectionUtil.java
similarity index 100%
rename from src/com/lishid/openinv/utils/ReflectionUtil.java
rename to src/main/java/com/lishid/openinv/utils/ReflectionUtil.java
diff --git a/src/com/lishid/openinv/utils/UpdateManager.java b/src/main/java/com/lishid/openinv/utils/UpdateManager.java
similarity index 100%
rename from src/com/lishid/openinv/utils/UpdateManager.java
rename to src/main/java/com/lishid/openinv/utils/UpdateManager.java
diff --git a/src/com/lishid/openinv/utils/Updater.java b/src/main/java/com/lishid/openinv/utils/Updater.java
similarity index 100%
rename from src/com/lishid/openinv/utils/Updater.java
rename to src/main/java/com/lishid/openinv/utils/Updater.java
diff --git a/src/plugin.yml b/src/main/resources/plugin.yml
similarity index 100%
rename from src/plugin.yml
rename to src/main/resources/plugin.yml