diff --git a/api/pom.xml b/api/pom.xml
index 18791a4..3ea7a3c 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvparent
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvapi
diff --git a/api/src/main/java/com/lishid/openinv/IOpenInv.java b/api/src/main/java/com/lishid/openinv/IOpenInv.java
index d8b16c4..db8919b 100644
--- a/api/src/main/java/com/lishid/openinv/IOpenInv.java
+++ b/api/src/main/java/com/lishid/openinv/IOpenInv.java
@@ -16,16 +16,15 @@
package com.lishid.openinv;
-import javax.annotation.Nullable;
-
import com.lishid.openinv.internal.IAnySilentContainer;
import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* Interface defining behavior for the OpenInv plugin.
@@ -45,49 +44,21 @@ public interface IOpenInv {
boolean disableSaving();
/**
- * Gets the active ISilentContainer implementation. May return null if the server version is
- * unsupported.
+ * Gets the active ISilentContainer implementation.
*
* @return the ISilentContainer
* @throws IllegalStateException if the server version is unsupported
*/
+ @NotNull
IAnySilentContainer getAnySilentContainer();
/**
- * Gets an ISpecialEnderChest for the given Player. Returns null if the ISpecialEnderChest could
- * not be instantiated.
- *
- * @param player the Player
- * @param online true if the Player is currently online
- * @return the ISpecialEnderChest
- * @throws IllegalStateException if the server version is unsupported
- * @deprecated Use {@link IOpenInv#getSpecialEnderChest(Player, boolean)}
- */
- @Deprecated
- @Nullable
- ISpecialEnderChest getEnderChest(Player player, boolean online);
-
- /**
- * Gets an ISpecialPlayerInventory for the given Player. Returns null if the
- * ISpecialPlayerInventory could not be instantiated.
- *
- * @param player the Player
- * @param online true if the Player is currently online
- * @return the ISpecialPlayerInventory
- * @throws IllegalStateException if the server version is unsupported
- * @deprecated Use {@link IOpenInv#getSpecialInventory(Player, boolean)}
- */
- @Deprecated
- @Nullable
- ISpecialPlayerInventory getInventory(Player player, boolean online);
-
- /**
- * Gets the active IInventoryAccess implementation. May return null if the server version is
- * unsupported.
+ * Gets the active IInventoryAccess implementation.
*
* @return the IInventoryAccess
* @throws IllegalStateException if the server version is unsupported
*/
+ @NotNull
IInventoryAccess getInventoryAccess();
/**
@@ -97,7 +68,7 @@ public interface IOpenInv {
* @return true if AnyChest is enabled
* @throws IllegalStateException if the server version is unsupported
*/
- boolean getPlayerAnyChestStatus(OfflinePlayer player);
+ boolean getPlayerAnyChestStatus(@NotNull OfflinePlayer player);
/**
* Gets a unique identifier by which the OfflinePlayer can be referenced. Using the value
@@ -107,16 +78,17 @@ public interface IOpenInv {
* @return the identifier
* @throws IllegalStateException if the server version is unsupported
*/
- String getPlayerID(OfflinePlayer offline);
+ @NotNull
+ String getPlayerID(@NotNull OfflinePlayer offline);
/**
* Gets a player's SilentChest setting.
*
- * @param player the OfflinePlayer
+ * @param offline the OfflinePlayer
* @return true if SilentChest is enabled
* @throws IllegalStateException if the server version is unsupported
*/
- boolean getPlayerSilentChestStatus(OfflinePlayer player);
+ boolean getPlayerSilentChestStatus(@NotNull OfflinePlayer offline);
/**
* Gets an ISpecialEnderChest for the given Player.
@@ -127,7 +99,8 @@ public interface IOpenInv {
* @throws IllegalStateException if the server version is unsupported
* @throws InstantiationException if the ISpecialEnderChest could not be instantiated
*/
- ISpecialEnderChest getSpecialEnderChest(Player player, boolean online) throws InstantiationException;
+ @NotNull
+ ISpecialEnderChest getSpecialEnderChest(@NotNull Player player, boolean online) throws InstantiationException;
/**
* Gets an ISpecialPlayerInventory for the given Player.
@@ -138,7 +111,8 @@ public interface IOpenInv {
* @throws IllegalStateException if the server version is unsupported
* @throws InstantiationException if the ISpecialPlayerInventory could not be instantiated
*/
- ISpecialPlayerInventory getSpecialInventory(Player player, boolean online) throws InstantiationException;
+ @NotNull
+ ISpecialPlayerInventory getSpecialInventory(@NotNull Player player, boolean online) throws InstantiationException;
/**
* Checks if the server version is supported by OpenInv.
@@ -155,7 +129,7 @@ public interface IOpenInv {
* @throws IllegalStateException if the server version is unsupported
*/
@Nullable
- Player loadPlayer(final OfflinePlayer offline);
+ Player loadPlayer(@NotNull final OfflinePlayer offline);
/**
* Get an OfflinePlayer by name.
@@ -168,7 +142,7 @@ public interface IOpenInv {
* @return the OfflinePlayer with the closest matching name or null if no players have ever logged in
*/
@Nullable
- OfflinePlayer matchPlayer(String name);
+ OfflinePlayer matchPlayer(@NotNull String name);
/**
* Check the configuration value for whether or not OpenInv displays a notification to the user
@@ -194,7 +168,7 @@ public interface IOpenInv {
* @param plugin the Plugin no longer holding a reference to the Player
* @throws IllegalStateException if the server version is unsupported
*/
- void releasePlayer(Player player, Plugin plugin);
+ void releasePlayer(@NotNull Player player, @NotNull Plugin plugin);
/**
* Mark a Player as in use by a Plugin to prevent it from being removed from the cache. Used to
@@ -219,32 +193,32 @@ public interface IOpenInv {
* @param plugin the Plugin holding the reference to the Player
* @throws IllegalStateException if the server version is unsupported
*/
- void retainPlayer(Player player, Plugin plugin);
+ void retainPlayer(@NotNull Player player, @NotNull Plugin plugin);
/**
* Sets a player's AnyChest setting.
*
- * @param player the OfflinePlayer
+ * @param offline the OfflinePlayer
* @param status the status
* @throws IllegalStateException if the server version is unsupported
*/
- void setPlayerAnyChestStatus(OfflinePlayer player, boolean status);
+ void setPlayerAnyChestStatus(@NotNull OfflinePlayer offline, boolean status);
/**
* Sets a player's SilentChest setting.
*
- * @param player the OfflinePlayer
+ * @param offline the OfflinePlayer
* @param status the status
* @throws IllegalStateException if the server version is unsupported
*/
- void setPlayerSilentChestStatus(OfflinePlayer player, boolean status);
+ void setPlayerSilentChestStatus(@NotNull OfflinePlayer offline, boolean status);
/**
* Forcibly unload a cached Player's data.
*
- * @param player the OfflinePlayer to unload
+ * @param offline the OfflinePlayer to unload
* @throws IllegalStateException if the server version is unsupported
*/
- void unload(OfflinePlayer player);
+ void unload(@NotNull OfflinePlayer offline);
}
diff --git a/api/src/main/java/com/lishid/openinv/internal/IAnySilentContainer.java b/api/src/main/java/com/lishid/openinv/internal/IAnySilentContainer.java
index 9361706..4533999 100644
--- a/api/src/main/java/com/lishid/openinv/internal/IAnySilentContainer.java
+++ b/api/src/main/java/com/lishid/openinv/internal/IAnySilentContainer.java
@@ -18,6 +18,7 @@ package com.lishid.openinv.internal;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public interface IAnySilentContainer {
@@ -26,19 +27,19 @@ public interface IAnySilentContainer {
* containers to open, be sure to check {@link #isAnyContainerNeeded(Player, Block)}
* first.
*
- * @param player the Player opening the container
- * @param silentchest whether the container's noise is to be silenced
- * @param block the Block
+ * @param player the Player opening the container
+ * @param silent whether the container's noise is to be silenced
+ * @param block the Block
* @return true if the container can be opened
*/
- boolean activateContainer(Player player, boolean silentchest, Block block);
+ boolean activateContainer(@NotNull Player player, boolean silent, @NotNull Block block);
/**
* Closes the Player's currently open container silently, if necessary.
*
* @param player the Player closing a container
*/
- void deactivateContainer(Player player);
+ void deactivateContainer(@NotNull Player player);
/**
* Checks if the container at the given coordinates is blocked.
@@ -47,7 +48,7 @@ public interface IAnySilentContainer {
* @param block the Block
* @return true if the container is blocked
*/
- boolean isAnyContainerNeeded(Player player, Block block);
+ boolean isAnyContainerNeeded(@NotNull Player player, @NotNull Block block);
/**
* Checks if the given block is a container which can be unblocked or silenced.
@@ -55,6 +56,6 @@ public interface IAnySilentContainer {
* @param block the BlockState
* @return true if the Block is a supported container
*/
- boolean isAnySilentContainer(Block block);
+ boolean isAnySilentContainer(@NotNull Block block);
}
diff --git a/api/src/main/java/com/lishid/openinv/internal/IInventoryAccess.java b/api/src/main/java/com/lishid/openinv/internal/IInventoryAccess.java
index ceb4c5a..648cce9 100644
--- a/api/src/main/java/com/lishid/openinv/internal/IInventoryAccess.java
+++ b/api/src/main/java/com/lishid/openinv/internal/IInventoryAccess.java
@@ -16,9 +16,9 @@
package com.lishid.openinv.internal;
-import javax.annotation.Nullable;
-
import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public interface IInventoryAccess {
@@ -30,7 +30,7 @@ public interface IInventoryAccess {
* @return the ISpecialEnderChest or null
*/
@Nullable
- ISpecialEnderChest getSpecialEnderChest(Inventory inventory);
+ ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory);
/**
* Gets an ISpecialPlayerInventory from an Inventory or null if the Inventory is not backed by
@@ -40,7 +40,7 @@ public interface IInventoryAccess {
* @return the ISpecialPlayerInventory or null
*/
@Nullable
- ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory);
+ ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory);
/**
* Check if an Inventory is an ISpecialEnderChest implementation.
@@ -48,7 +48,7 @@ public interface IInventoryAccess {
* @param inventory the Inventory
* @return true if the Inventory is backed by an ISpecialEnderChest
*/
- boolean isSpecialEnderChest(Inventory inventory);
+ boolean isSpecialEnderChest(@NotNull Inventory inventory);
/**
* Check if an Inventory is an ISpecialPlayerInventory implementation.
@@ -56,6 +56,6 @@ public interface IInventoryAccess {
* @param inventory the Inventory
* @return true if the Inventory is backed by an ISpecialPlayerInventory
*/
- boolean isSpecialPlayerInventory(Inventory inventory);
+ boolean isSpecialPlayerInventory(@NotNull Inventory inventory);
}
diff --git a/api/src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java b/api/src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java
index 005f2d6..f076d20 100644
--- a/api/src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java
+++ b/api/src/main/java/com/lishid/openinv/internal/ISpecialEnderChest.java
@@ -17,23 +17,27 @@
package com.lishid.openinv.internal;
import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public interface ISpecialEnderChest {
/**
- * Gets the Inventory associated with this ISpecialEnderChest.
+ * Gets the InventoryView associated with this ISpecialEnderChest.
*
- * @return the Inventory
+ * @param viewer the Player opening the ISpecialEnderChest
+ * @return the InventoryView
*/
- Inventory getBukkitInventory();
+ @NotNull
+ InventoryView getBukkitView(@Nullable Player viewer);
/**
* Sets the Player associated with this ISpecialEnderChest online.
*
* @param player the Player coming online
*/
- void setPlayerOnline(Player player);
+ void setPlayerOnline(@NotNull Player player);
/**
* Sets the Player associated with this ISpecialEnderChest offline.
diff --git a/api/src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java b/api/src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java
index 077c392..87708b6 100644
--- a/api/src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java
+++ b/api/src/main/java/com/lishid/openinv/internal/ISpecialPlayerInventory.java
@@ -17,23 +17,27 @@
package com.lishid.openinv.internal;
import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public interface ISpecialPlayerInventory {
/**
- * Gets the Inventory associated with this ISpecialPlayerInventory.
+ * Gets the InventoryView associated with this ISpecialPlayerInventory.
*
- * @return the Inventory
+ * @param viewer the Player opening the ISpecialPlayerInventory
+ * @return the InventoryView
*/
- Inventory getBukkitInventory();
+ @NotNull
+ InventoryView getBukkitView(@Nullable Player viewer);
/**
* Sets the Player associated with this ISpecialPlayerInventory online.
*
* @param player the Player coming online
*/
- void setPlayerOnline(Player player);
+ void setPlayerOnline(@NotNull Player player);
/**
* Sets the Player associated with this ISpecialPlayerInventory offline.
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 184b2d4..7d102a0 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvparent
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvassembly
diff --git a/common/pom.xml b/common/pom.xml
index 9010aee..d8a6e2a 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvparent
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvcommon
@@ -38,7 +38,7 @@
com.lishid
openinvapi
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/common/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java b/common/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java
index 12df4a3..3dc3d75 100644
--- a/common/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java
+++ b/common/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java
@@ -17,9 +17,10 @@
package com.lishid.openinv.internal;
import java.util.Collection;
-
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public interface IPlayerDataManager {
@@ -31,7 +32,8 @@ public interface IPlayerDataManager {
* @param offline the OfflinePlayer
* @return the Player loaded
*/
- Player loadPlayer(OfflinePlayer offline);
+ @Nullable
+ Player loadPlayer(@NotNull OfflinePlayer offline);
/**
* Gets a unique identifying string for an OfflinePlayer.
@@ -39,7 +41,8 @@ public interface IPlayerDataManager {
* @param offline the OfflinePlayer
* @return the unique identifier
*/
- String getPlayerDataID(OfflinePlayer offline);
+ @NotNull
+ String getPlayerDataID(@NotNull OfflinePlayer offline);
/**
* Gets an OfflinePlayer by the given unique identifier.
@@ -47,13 +50,15 @@ public interface IPlayerDataManager {
* @param identifier the unique identifier
* @return the OfflinePlayer, or null if no exact match was found
*/
- OfflinePlayer getPlayerByID(String identifier);
+ @Nullable
+ OfflinePlayer getPlayerByID(@NotNull String identifier);
/**
* Gets a Collection of all Players currently online.
*
* @return the Collection of Players
*/
- Collection extends Player> getOnlinePlayers();
+ @NotNull
+ Collection extends Player> getOnlinePlayers();
}
diff --git a/common/src/main/java/com/lishid/openinv/util/Cache.java b/common/src/main/java/com/lishid/openinv/util/Cache.java
index dd6d0da..155bcf1 100644
--- a/common/src/main/java/com/lishid/openinv/util/Cache.java
+++ b/common/src/main/java/com/lishid/openinv/util/Cache.java
@@ -16,6 +16,8 @@
package com.lishid.openinv.util;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.TreeMultimap;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
@@ -23,9 +25,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.TreeMultimap;
-
/**
* A minimal thread-safe time-based cache implementation backed by a HashMap and TreeMultimap.
*
diff --git a/common/src/main/java/com/lishid/openinv/util/InternalAccessor.java b/common/src/main/java/com/lishid/openinv/util/InternalAccessor.java
index 652198a..74153b5 100644
--- a/common/src/main/java/com/lishid/openinv/util/InternalAccessor.java
+++ b/common/src/main/java/com/lishid/openinv/util/InternalAccessor.java
@@ -16,16 +16,14 @@
package com.lishid.openinv.util;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-
import com.lishid.openinv.internal.IAnySilentContainer;
import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -63,13 +61,14 @@ public class InternalAccessor {
this.version = packageName.substring(packageName.lastIndexOf('.') + 1);
try {
+ // TODO: implement support for CraftMagicNumbers#getMappingsVersion
Class.forName("com.lishid.openinv.internal." + this.version + ".SpecialPlayerInventory");
Class.forName("com.lishid.openinv.internal." + this.version + ".SpecialEnderChest");
this.playerDataManager = this.createObject(IPlayerDataManager.class, "PlayerDataManager");
this.inventoryAccess = this.createObject(IInventoryAccess.class, "InventoryAccess");
this.anySilentContainer = this.createObject(IAnySilentContainer.class, "AnySilentContainer");
this.supported = true;
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
}
private T createObject(final Class extends T> assignableClass, final String className,
diff --git a/internal/1_4_5/pom.xml b/internal/1_4_5/pom.xml
index 7ff574a..08d0b2a 100644
--- a/internal/1_4_5/pom.xml
+++ b/internal/1_4_5/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_4_5
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentContainer.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentContainer.java
index 494e124..fb0f1ce 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentContainer.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_4_5;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_5.AxisAlignedBB;
import net.minecraft.server.v1_4_5.BlockEnderChest;
import net.minecraft.server.v1_4_5.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_4_5.Packet100OpenWindow;
import net.minecraft.server.v1_4_5.TileEntityChest;
import net.minecraft.server.v1_4_5.TileEntityEnderChest;
import net.minecraft.server.v1_4_5.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_4_5.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
index 5b7a11c..f2bbb18 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_5.IInventory;
-
import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
index 4661453..f92cc0e 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_4_5;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_5.EntityPlayer;
import net.minecraft.server.v1_4_5.ItemInWorldManager;
import net.minecraft.server.v1_4_5.MinecraftServer;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_4_5.CraftServer;
import org.bukkit.craftbukkit.v1_4_5.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new ItemInWorldManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
index a192485..01a0641 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_4_5.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.f();
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
index 83cf09a..d31e94b 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_4_5;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_4_5.EntityPlayer;
import net.minecraft.server.v1_4_5.IInventory;
import net.minecraft.server.v1_4_5.InventoryEnderChest;
import net.minecraft.server.v1_4_5.InventorySubcontainer;
import net.minecraft.server.v1_4_5.ItemStack;
-
import org.bukkit.craftbukkit.v1_4_5.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_4_5.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -56,13 +55,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -71,7 +88,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
index fb70752..dc3d4e1 100644
--- a/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
+++ b/internal/1_4_5/src/main/java/com/lishid/openinv/internal/v1_4_5/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_4_5;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_5.ItemStack;
import net.minecraft.server.v1_4_5.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/1_4_6/pom.xml b/internal/1_4_6/pom.xml
index 78322ea..4381239 100644
--- a/internal/1_4_6/pom.xml
+++ b/internal/1_4_6/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_4_6
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentContainer.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentContainer.java
index 024d64e..51ac76b 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentContainer.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_4_6;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_6.AxisAlignedBB;
import net.minecraft.server.v1_4_6.BlockEnderChest;
import net.minecraft.server.v1_4_6.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_4_6.Packet100OpenWindow;
import net.minecraft.server.v1_4_6.TileEntityChest;
import net.minecraft.server.v1_4_6.TileEntityEnderChest;
import net.minecraft.server.v1_4_6.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_4_6.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
index 72a209d..89db605 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_6.IInventory;
-
import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
index 9b56c4b..5ce88e0 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_4_6;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_6.EntityPlayer;
import net.minecraft.server.v1_4_6.MinecraftServer;
import net.minecraft.server.v1_4_6.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_4_6.CraftServer;
import org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
index bc9d1d3..7094676 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_4_6.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.f();
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
index f6eebc1..2e2e8ae 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_4_6;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_4_6.EntityPlayer;
import net.minecraft.server.v1_4_6.IInventory;
import net.minecraft.server.v1_4_6.InventoryEnderChest;
import net.minecraft.server.v1_4_6.InventorySubcontainer;
import net.minecraft.server.v1_4_6.ItemStack;
-
import org.bukkit.craftbukkit.v1_4_6.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -56,13 +55,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -71,7 +88,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
index 0976e2b..2e0c822 100644
--- a/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
+++ b/internal/1_4_6/src/main/java/com/lishid/openinv/internal/v1_4_6/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_4_6;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_6.ItemStack;
import net.minecraft.server.v1_4_6.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/pom.xml b/internal/pom.xml
index 1446216..2fee337 100644
--- a/internal/pom.xml
+++ b/internal/pom.xml
@@ -20,7 +20,7 @@
com.lishid
openinvparent
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvinternal
diff --git a/internal/v1_10_R1/pom.xml b/internal/v1_10_R1/pom.xml
index 26afc6f..b327947 100644
--- a/internal/v1_10_R1/pom.xml
+++ b/internal/v1_10_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_10_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/AnySilentContainer.java b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/AnySilentContainer.java
index e571d4f..ed05132 100644
--- a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/AnySilentContainer.java
+++ b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/AnySilentContainer.java
@@ -16,14 +16,8 @@
package com.lishid.openinv.internal.v1_10_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_10_R1.AxisAlignedBB;
import net.minecraft.server.v1_10_R1.Block;
import net.minecraft.server.v1_10_R1.BlockChest;
@@ -43,6 +37,10 @@ import net.minecraft.server.v1_10_R1.TileEntity;
import net.minecraft.server.v1_10_R1.TileEntityChest;
import net.minecraft.server.v1_10_R1.TileEntityEnderChest;
import net.minecraft.server.v1_10_R1.World;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -59,15 +57,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -122,19 +120,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.X);
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -190,7 +188,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -208,7 +206,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/InventoryAccess.java b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/InventoryAccess.java
index 6d13fdf..f3ecfb6 100644
--- a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/InventoryAccess.java
+++ b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_10_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/PlayerDataManager.java b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/PlayerDataManager.java
index dc11335..6d5d91c 100644
--- a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/PlayerDataManager.java
+++ b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_10_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_10_R1.EntityPlayer;
import net.minecraft.server.v1_10_R1.MinecraftServer;
import net.minecraft.server.v1_10_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_10_R1.CraftServer;
import org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialEnderChest.java b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialEnderChest.java
index 95c7482..3d8a4f7 100644
--- a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialEnderChest.java
+++ b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialEnderChest.java
@@ -16,21 +16,21 @@
package com.lishid.openinv.internal.v1_10_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-
-import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_10_R1.EntityPlayer;
import net.minecraft.server.v1_10_R1.IInventory;
import net.minecraft.server.v1_10_R1.InventoryEnderChest;
import net.minecraft.server.v1_10_R1.InventorySubcontainer;
import net.minecraft.server.v1_10_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -69,19 +69,37 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
this.bukkitOwner = nmsPlayer.getBukkitEntity();
setItemArrays(nmsPlayer.getEnderChest(), this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialPlayerInventory.java b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialPlayerInventory.java
index 36072a8..8b4c5e7 100644
--- a/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialPlayerInventory.java
+++ b/internal/v1_10_R1/src/main/java/com/lishid/openinv/internal/v1_10_R1/SpecialPlayerInventory.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_10_R1;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_10_R1.EntityHuman;
import net.minecraft.server.v1_10_R1.ItemStack;
import net.minecraft.server.v1_10_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -79,13 +79,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
setItemArrays(this.player.inventory, items, armor, extraSlots);
diff --git a/internal/v1_11_R1/pom.xml b/internal/v1_11_R1/pom.xml
index dc685c2..b8c6a52 100644
--- a/internal/v1_11_R1/pom.xml
+++ b/internal/v1_11_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_11_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/AnySilentContainer.java b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/AnySilentContainer.java
index 42a42f2..35eeab0 100644
--- a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/AnySilentContainer.java
+++ b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/AnySilentContainer.java
@@ -16,15 +16,8 @@
package com.lishid.openinv.internal.v1_11_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.block.BlockState;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_11_R1.AxisAlignedBB;
import net.minecraft.server.v1_11_R1.Block;
import net.minecraft.server.v1_11_R1.BlockChest;
@@ -35,18 +28,23 @@ import net.minecraft.server.v1_11_R1.Entity;
import net.minecraft.server.v1_11_R1.EntityOcelot;
import net.minecraft.server.v1_11_R1.EntityPlayer;
import net.minecraft.server.v1_11_R1.EnumDirection;
+import net.minecraft.server.v1_11_R1.EnumGamemode;
import net.minecraft.server.v1_11_R1.IBlockData;
import net.minecraft.server.v1_11_R1.ITileInventory;
import net.minecraft.server.v1_11_R1.InventoryEnderChest;
import net.minecraft.server.v1_11_R1.InventoryLargeChest;
+import net.minecraft.server.v1_11_R1.PlayerInteractManager;
import net.minecraft.server.v1_11_R1.StatisticList;
import net.minecraft.server.v1_11_R1.TileEntity;
import net.minecraft.server.v1_11_R1.TileEntityChest;
import net.minecraft.server.v1_11_R1.TileEntityEnderChest;
import net.minecraft.server.v1_11_R1.TileEntityShulkerBox;
import net.minecraft.server.v1_11_R1.World;
-import net.minecraft.server.v1_11_R1.EnumGamemode;
-import net.minecraft.server.v1_11_R1.PlayerInteractManager;
+import org.bukkit.Material;
+import org.bukkit.block.BlockState;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -63,19 +61,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- if (block.getType() == Material.ENDER_CHEST) {
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ if (bukkitBlock.getType() == Material.ENDER_CHEST) {
return true;
}
- BlockState state = block.getState();
+ BlockState state = bukkitBlock.getState();
return state instanceof org.bukkit.block.Chest || state instanceof org.bukkit.block.ShulkerBox;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
IBlockData blockData = world.getType(blockPosition);
Block block = blockData.getBlock();
@@ -162,19 +160,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.getStatistic("stat.enderchestOpened"));
return true;
}
final World world = player.world;
- final BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ final BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
final Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -234,7 +232,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -252,7 +250,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/InventoryAccess.java b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/InventoryAccess.java
index 741536c..6692094 100644
--- a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/InventoryAccess.java
+++ b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_11_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_11_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/PlayerDataManager.java b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/PlayerDataManager.java
index 8d1566c..083bc0f 100644
--- a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/PlayerDataManager.java
+++ b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_11_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_11_R1.EntityPlayer;
import net.minecraft.server.v1_11_R1.MinecraftServer;
import net.minecraft.server.v1_11_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_11_R1.CraftServer;
import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialEnderChest.java b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialEnderChest.java
index a4115f0..5619dbf 100644
--- a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialEnderChest.java
+++ b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialEnderChest.java
@@ -16,22 +16,22 @@
package com.lishid.openinv.internal.v1_11_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.List;
-
-import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_11_R1.EntityPlayer;
import net.minecraft.server.v1_11_R1.IInventory;
import net.minecraft.server.v1_11_R1.InventoryEnderChest;
import net.minecraft.server.v1_11_R1.InventorySubcontainer;
import net.minecraft.server.v1_11_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_11_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -70,19 +70,37 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
this.bukkitOwner = nmsPlayer.getBukkitEntity();
setItemLists(nmsPlayer.getEnderChest(), this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialPlayerInventory.java b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialPlayerInventory.java
index b403d29..42baa12 100644
--- a/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialPlayerInventory.java
+++ b/internal/v1_11_R1/src/main/java/com/lishid/openinv/internal/v1_11_R1/SpecialPlayerInventory.java
@@ -16,22 +16,22 @@
package com.lishid.openinv.internal.v1_11_R1;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_11_R1.ContainerUtil;
import net.minecraft.server.v1_11_R1.EntityHuman;
import net.minecraft.server.v1_11_R1.ItemStack;
import net.minecraft.server.v1_11_R1.NonNullList;
import net.minecraft.server.v1_11_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_11_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -81,13 +81,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
setItemArrays(this.player.inventory, items, armor, extraSlots);
diff --git a/internal/v1_12_R1/pom.xml b/internal/v1_12_R1/pom.xml
index 02f02e8..4538501 100644
--- a/internal/v1_12_R1/pom.xml
+++ b/internal/v1_12_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_12_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/AnySilentContainer.java b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/AnySilentContainer.java
index 493eb5d..4bf1a17 100644
--- a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/AnySilentContainer.java
+++ b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/AnySilentContainer.java
@@ -16,16 +16,8 @@
package com.lishid.openinv.internal.v1_12_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.Statistic;
-import org.bukkit.block.BlockState;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_12_R1.AxisAlignedBB;
import net.minecraft.server.v1_12_R1.Block;
import net.minecraft.server.v1_12_R1.BlockChest;
@@ -47,6 +39,12 @@ import net.minecraft.server.v1_12_R1.TileEntityChest;
import net.minecraft.server.v1_12_R1.TileEntityEnderChest;
import net.minecraft.server.v1_12_R1.TileEntityShulkerBox;
import net.minecraft.server.v1_12_R1.World;
+import org.bukkit.Material;
+import org.bukkit.Statistic;
+import org.bukkit.block.BlockState;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -63,20 +61,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(final org.bukkit.block.Block block) {
- if (block.getType() == Material.ENDER_CHEST) {
+ public boolean isAnySilentContainer(@NotNull final org.bukkit.block.Block bukkitBlock) {
+ if (bukkitBlock.getType() == Material.ENDER_CHEST) {
return true;
}
- BlockState state = block.getState();
+ BlockState state = bukkitBlock.getState();
return state instanceof org.bukkit.block.Chest
|| state instanceof org.bukkit.block.ShulkerBox;
}
@Override
- public boolean isAnyContainerNeeded(final Player p, final org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull final Player p, @NotNull final org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(p).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
IBlockData blockData = world.getType(blockPosition);
Block block = blockData.getBlock();
@@ -158,8 +156,8 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(final Player bukkitPlayer, final boolean silentchest,
- final org.bukkit.block.Block bukkitBlock) {
+ public boolean activateContainer(@NotNull final Player bukkitPlayer, final boolean silentchest,
+ @NotNull final org.bukkit.block.Block bukkitBlock) {
// Silent ender chest is API-only
if (silentchest && bukkitBlock.getType() == Material.ENDER_CHEST) {
@@ -250,7 +248,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/InventoryAccess.java b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/InventoryAccess.java
index 06c597a..810a228 100644
--- a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/InventoryAccess.java
+++ b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_12_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public ISpecialEnderChest getSpecialEnderChest(final Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -45,7 +43,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(final Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -60,7 +58,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(final Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -69,7 +67,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialPlayerInventory(final Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
diff --git a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/PlayerDataManager.java b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/PlayerDataManager.java
index 885cde8..6261ae6 100644
--- a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/PlayerDataManager.java
+++ b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/PlayerDataManager.java
@@ -16,24 +16,20 @@
package com.lishid.openinv.internal.v1_12_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_12_R1.EntityPlayer;
import net.minecraft.server.v1_12_R1.MinecraftServer;
import net.minecraft.server.v1_12_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_12_R1.CraftServer;
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@@ -58,13 +54,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return nmsPlayer;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
@Override
- public OfflinePlayer getPlayerByID(final String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull final String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -79,15 +76,16 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
- public String getPlayerDataID(final OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull final OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public Player loadPlayer(final OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull final OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -98,7 +96,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = entity == null ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
diff --git a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialEnderChest.java b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialEnderChest.java
index d86c01f..ca7b565 100644
--- a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialEnderChest.java
+++ b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialEnderChest.java
@@ -16,22 +16,22 @@
package com.lishid.openinv.internal.v1_12_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.List;
-
-import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_12_R1.EntityPlayer;
import net.minecraft.server.v1_12_R1.IInventory;
import net.minecraft.server.v1_12_R1.InventoryEnderChest;
import net.minecraft.server.v1_12_R1.InventorySubcontainer;
import net.minecraft.server.v1_12_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer
implements IInventory, ISpecialEnderChest {
@@ -51,9 +51,27 @@ public class SpecialEnderChest extends InventorySubcontainer
this.setItemLists(this, this.enderChest.getContents());
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
@@ -83,13 +101,13 @@ public class SpecialEnderChest extends InventorySubcontainer
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
this.bukkitOwner = nmsPlayer.getBukkitEntity();
this.setItemLists(nmsPlayer.getEnderChest(), this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
this.playerOnline = true;
}
}
diff --git a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialPlayerInventory.java b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialPlayerInventory.java
index 5bbf01e..13f5ee1 100644
--- a/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialPlayerInventory.java
+++ b/internal/v1_12_R1/src/main/java/com/lishid/openinv/internal/v1_12_R1/SpecialPlayerInventory.java
@@ -16,22 +16,22 @@
package com.lishid.openinv.internal.v1_12_R1;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_12_R1.ContainerUtil;
import net.minecraft.server.v1_12_R1.EntityHuman;
import net.minecraft.server.v1_12_R1.ItemStack;
import net.minecraft.server.v1_12_R1.NonNullList;
import net.minecraft.server.v1_12_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -50,9 +50,27 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
return true;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
@@ -191,7 +209,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.setItemArrays(this.player.inventory, this.items, this.armor, this.extraSlots);
diff --git a/internal/v1_13_R1/pom.xml b/internal/v1_13_R1/pom.xml
index aab5195..308c68e 100644
--- a/internal/v1_13_R1/pom.xml
+++ b/internal/v1_13_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_13_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/AnySilentContainer.java b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/AnySilentContainer.java
index 35da30c..a60097e 100644
--- a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/AnySilentContainer.java
+++ b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/AnySilentContainer.java
@@ -17,6 +17,7 @@
package com.lishid.openinv.internal.v1_13_R1;
import com.lishid.openinv.internal.IAnySilentContainer;
+import java.lang.reflect.Field;
import net.minecraft.server.v1_13_R1.AxisAlignedBB;
import net.minecraft.server.v1_13_R1.Block;
import net.minecraft.server.v1_13_R1.BlockChest;
@@ -47,8 +48,7 @@ import org.bukkit.Statistic;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
-
-import java.lang.reflect.Field;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -65,20 +65,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(final org.bukkit.block.Block block) {
- if (block.getType() == Material.ENDER_CHEST) {
+ public boolean isAnySilentContainer(@NotNull final org.bukkit.block.Block bukkitBlock) {
+ if (bukkitBlock.getType() == Material.ENDER_CHEST) {
return true;
}
- BlockState state = block.getState();
+ BlockState state = bukkitBlock.getState();
return state instanceof org.bukkit.block.Chest
|| state instanceof org.bukkit.block.ShulkerBox;
}
@Override
- public boolean isAnyContainerNeeded(final Player p, final org.bukkit.block.Block b) {
- EntityPlayer player = com.lishid.openinv.internal.v1_13_R1.PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull final Player bukkitPlayer, @NotNull final org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
IBlockData blockData = world.getType(blockPosition);
Block block = blockData.getBlock();
@@ -160,11 +160,11 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(final Player bukkitPlayer, final boolean silentchest,
- final org.bukkit.block.Block bukkitBlock) {
+ public boolean activateContainer(@NotNull final Player bukkitPlayer, final boolean silentsilent,
+ @NotNull final org.bukkit.block.Block bukkitBlock) {
// Silent ender chest is API-only
- if (silentchest && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ if (silentsilent && bukkitBlock.getType() == Material.ENDER_CHEST) {
bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
return true;
@@ -236,7 +236,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silentsilent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -254,7 +254,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/InventoryAccess.java b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/InventoryAccess.java
index fc5acc7..404e41d 100644
--- a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/InventoryAccess.java
+++ b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_13_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_13_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public ISpecialEnderChest getSpecialEnderChest(final Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -45,7 +43,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(final Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -60,7 +58,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(final Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -69,7 +67,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialPlayerInventory(final Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
diff --git a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/PlayerDataManager.java b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/PlayerDataManager.java
index 73db1d0..f36015e 100644
--- a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/PlayerDataManager.java
+++ b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/PlayerDataManager.java
@@ -16,24 +16,20 @@
package com.lishid.openinv.internal.v1_13_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_13_R1.EntityPlayer;
import net.minecraft.server.v1_13_R1.MinecraftServer;
import net.minecraft.server.v1_13_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_13_R1.CraftServer;
import org.bukkit.craftbukkit.v1_13_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@@ -57,13 +53,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return nmsPlayer;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
@Override
- public OfflinePlayer getPlayerByID(final String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull final String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -78,15 +75,16 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
- public String getPlayerDataID(final OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull final OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public Player loadPlayer(final OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull final OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
diff --git a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialEnderChest.java b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialEnderChest.java
index 7d3e41e..28d1569 100644
--- a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialEnderChest.java
+++ b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialEnderChest.java
@@ -16,22 +16,22 @@
package com.lishid.openinv.internal.v1_13_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.List;
-
-import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_13_R1.EntityPlayer;
import net.minecraft.server.v1_13_R1.IInventory;
import net.minecraft.server.v1_13_R1.InventoryEnderChest;
import net.minecraft.server.v1_13_R1.InventorySubcontainer;
import net.minecraft.server.v1_13_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_13_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer
implements IInventory, ISpecialEnderChest {
@@ -48,9 +48,27 @@ public class SpecialEnderChest extends InventorySubcontainer
this.setItemLists(this, this.enderChest.getContents());
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
@@ -79,13 +97,13 @@ public class SpecialEnderChest extends InventorySubcontainer
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
this.bukkitOwner = nmsPlayer.getBukkitEntity();
this.setItemLists(nmsPlayer.getEnderChest(), this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
this.playerOnline = true;
}
}
diff --git a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialPlayerInventory.java b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialPlayerInventory.java
index 5857f0b..bcdf026 100644
--- a/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialPlayerInventory.java
+++ b/internal/v1_13_R1/src/main/java/com/lishid/openinv/internal/v1_13_R1/SpecialPlayerInventory.java
@@ -16,24 +16,24 @@
package com.lishid.openinv.internal.v1_13_R1;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
import net.minecraft.server.v1_13_R1.ChatMessage;
-import net.minecraft.server.v1_13_R1.IChatBaseComponent;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_13_R1.ContainerUtil;
import net.minecraft.server.v1_13_R1.EntityHuman;
+import net.minecraft.server.v1_13_R1.IChatBaseComponent;
import net.minecraft.server.v1_13_R1.ItemStack;
import net.minecraft.server.v1_13_R1.NonNullList;
import net.minecraft.server.v1_13_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_13_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -52,9 +52,27 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
return true;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
@@ -190,7 +208,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.setItemArrays(this.player.inventory, this.items, this.armor, this.extraSlots);
diff --git a/internal/v1_13_R2/pom.xml b/internal/v1_13_R2/pom.xml
index d6cb962..229e1c9 100644
--- a/internal/v1_13_R2/pom.xml
+++ b/internal/v1_13_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_13_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/AnySilentContainer.java b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/AnySilentContainer.java
index 511a1b6..778dfb9 100644
--- a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/AnySilentContainer.java
+++ b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/AnySilentContainer.java
@@ -17,6 +17,9 @@
package com.lishid.openinv.internal.v1_13_R2;
import com.lishid.openinv.internal.IAnySilentContainer;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import net.minecraft.server.v1_13_R2.AxisAlignedBB;
import net.minecraft.server.v1_13_R2.Block;
import net.minecraft.server.v1_13_R2.BlockChest;
@@ -48,10 +51,7 @@ import org.bukkit.Statistic;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -68,20 +68,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(final org.bukkit.block.Block block) {
- if (block.getType() == Material.ENDER_CHEST) {
+ public boolean isAnySilentContainer(@NotNull final org.bukkit.block.Block bukkitBlock) {
+ if (bukkitBlock.getType() == Material.ENDER_CHEST) {
return true;
}
- BlockState state = block.getState();
+ BlockState state = bukkitBlock.getState();
return state instanceof org.bukkit.block.Chest
|| state instanceof org.bukkit.block.ShulkerBox;
}
@Override
- public boolean isAnyContainerNeeded(final Player p, final org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull final Player bukkitPlayer, @NotNull final org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
IBlockData blockData = world.getType(blockPosition);
Block block = blockData.getBlock();
@@ -172,11 +172,11 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(final Player bukkitPlayer, final boolean silentchest,
- final org.bukkit.block.Block bukkitBlock) {
+ public boolean activateContainer(@NotNull final Player bukkitPlayer, final boolean silent,
+ @NotNull final org.bukkit.block.Block bukkitBlock) {
// Silent ender chest is API-only
- if (silentchest && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
bukkitPlayer.incrementStatistic(Statistic.ENDERCHEST_OPENED);
return true;
@@ -248,7 +248,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -266,7 +266,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/InventoryAccess.java b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/InventoryAccess.java
index eca054c..60022cf 100644
--- a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/InventoryAccess.java
+++ b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/InventoryAccess.java
@@ -23,11 +23,12 @@ import com.lishid.openinv.util.InternalAccessor;
import net.minecraft.server.v1_13_R2.IInventory;
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftInventory;
import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public ISpecialEnderChest getSpecialEnderChest(final Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -42,7 +43,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(final Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull final Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -57,7 +58,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(final Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -66,7 +67,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialPlayerInventory(final Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull final Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
diff --git a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/PlayerDataManager.java b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/PlayerDataManager.java
index 8db7a45..79fd697 100644
--- a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/PlayerDataManager.java
+++ b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/PlayerDataManager.java
@@ -18,6 +18,8 @@ package com.lishid.openinv.internal.v1_13_R2;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.mojang.authlib.GameProfile;
+import java.util.Collection;
+import java.util.UUID;
import net.minecraft.server.v1_13_R2.DimensionManager;
import net.minecraft.server.v1_13_R2.EntityPlayer;
import net.minecraft.server.v1_13_R2.MinecraftServer;
@@ -28,9 +30,7 @@ import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_13_R2.CraftServer;
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer;
import org.bukkit.entity.Player;
-
-import java.util.Collection;
-import java.util.UUID;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@@ -54,18 +54,19 @@ public class PlayerDataManager implements IPlayerDataManager {
return nmsPlayer;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
@Override
- public OfflinePlayer getPlayerByID(final String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull final String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
// Ensure player is a real player, otherwise return null
- if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
+ if (!player.hasPlayedBefore() && !player.isOnline()) {
return null;
}
return player;
@@ -75,15 +76,16 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
- public String getPlayerDataID(final OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull final OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public Player loadPlayer(final OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull final OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
diff --git a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialEnderChest.java b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialEnderChest.java
index 95e54e0..44969fb 100644
--- a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialEnderChest.java
+++ b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialEnderChest.java
@@ -17,17 +17,29 @@
package com.lishid.openinv.internal.v1_13_R2;
import com.lishid.openinv.internal.ISpecialEnderChest;
-import net.minecraft.server.v1_13_R2.*;
+import java.util.List;
+import javax.annotation.Nullable;
+import net.minecraft.server.v1_13_R2.AutoRecipeOutput;
+import net.minecraft.server.v1_13_R2.AutoRecipeStackManager;
+import net.minecraft.server.v1_13_R2.ContainerUtil;
+import net.minecraft.server.v1_13_R2.EntityHuman;
+import net.minecraft.server.v1_13_R2.EntityPlayer;
+import net.minecraft.server.v1_13_R2.IChatBaseComponent;
+import net.minecraft.server.v1_13_R2.IInventory;
+import net.minecraft.server.v1_13_R2.IInventoryListener;
+import net.minecraft.server.v1_13_R2.InventoryEnderChest;
+import net.minecraft.server.v1_13_R2.ItemStack;
+import net.minecraft.server.v1_13_R2.NonNullList;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftInventory;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
-
-import javax.annotation.Nullable;
-import java.util.List;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest implements IInventory, ISpecialEnderChest, AutoRecipeOutput {
@@ -44,9 +56,31 @@ public class SpecialEnderChest implements IInventory, ISpecialEnderChest, AutoRe
this.items = this.owner.getEnderChest().items;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @NotNull
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @NotNull
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @NotNull
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @NotNull
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
@@ -60,7 +94,7 @@ public class SpecialEnderChest implements IInventory, ISpecialEnderChest, AutoRe
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
try {
this.owner = PlayerDataManager.getHandle(player);
diff --git a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialPlayerInventory.java b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialPlayerInventory.java
index ef47dba..cb904ff 100644
--- a/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialPlayerInventory.java
+++ b/internal/v1_13_R2/src/main/java/com/lishid/openinv/internal/v1_13_R2/SpecialPlayerInventory.java
@@ -18,6 +18,11 @@ package com.lishid.openinv.internal.v1_13_R2;
import com.google.common.collect.ImmutableList;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.function.Predicate;
+import javax.annotation.Nullable;
import net.minecraft.server.v1_13_R2.AutoRecipeStackManager;
import net.minecraft.server.v1_13_R2.ChatMessage;
import net.minecraft.server.v1_13_R2.ContainerUtil;
@@ -42,14 +47,11 @@ import org.bukkit.craftbukkit.v1_13_R2.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftInventory;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
-
-import javax.annotation.Nullable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.function.Predicate;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -68,7 +70,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
@Override
- public void setPlayerOnline(final Player player) {
+ public void setPlayerOnline(@NotNull final Player player) {
if (!this.playerOnline) {
EntityPlayer entityPlayer = PlayerDataManager.getHandle(player);
entityPlayer.inventory.transaction.addAll(this.transaction);
@@ -86,9 +88,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
return true;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return this.inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @NotNull
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @NotNull
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @NotNull
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @NotNull
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
@@ -614,7 +638,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
int j = nbttagcompound.getByte("Slot") & 255;
ItemStack itemstack = ItemStack.a(nbttagcompound);
if (!itemstack.isEmpty()) {
- if (j >= 0 && j < this.items.size()) {
+ if (j < this.items.size()) {
this.items.set(j, itemstack);
} else if (j >= 100 && j < this.armor.size() + 100) {
this.armor.set(j - 100, itemstack);
diff --git a/internal/v1_4_R1/pom.xml b/internal/v1_4_R1/pom.xml
index fca07a5..98bd6b8 100644
--- a/internal/v1_4_R1/pom.xml
+++ b/internal/v1_4_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_4_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentContainer.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentContainer.java
index 8308155..052d011 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentContainer.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_4_R1;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_R1.AxisAlignedBB;
import net.minecraft.server.v1_4_R1.BlockEnderChest;
import net.minecraft.server.v1_4_R1.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_4_R1.Packet100OpenWindow;
import net.minecraft.server.v1_4_R1.TileEntityChest;
import net.minecraft.server.v1_4_R1.TileEntityEnderChest;
import net.minecraft.server.v1_4_R1.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_4_R1.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
index e452647..ebf7e28 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
index 071c429..827a3cf 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java
@@ -16,30 +16,27 @@
package com.lishid.openinv.internal.v1_4_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_4_R1.EntityPlayer;
import net.minecraft.server.v1_4_R1.MinecraftServer;
import net.minecraft.server.v1_4_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_4_R1.CraftServer;
import org.bukkit.craftbukkit.v1_4_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -50,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -59,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -74,7 +72,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
index 04be0cb..f4c436d 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_4_R1.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.f();
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
index 5deeee7..d662411 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_4_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_4_R1.EntityPlayer;
import net.minecraft.server.v1_4_R1.IInventory;
import net.minecraft.server.v1_4_R1.InventoryEnderChest;
import net.minecraft.server.v1_4_R1.InventorySubcontainer;
import net.minecraft.server.v1_4_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_4_R1.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_4_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -56,13 +55,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -71,7 +88,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
index ca45c7a..5bd5233 100644
--- a/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
+++ b/internal/v1_4_R1/src/main/java/com/lishid/openinv/internal/v1_4_R1/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_4_R1;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_4_R1.ItemStack;
import net.minecraft.server.v1_4_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_5_R2/pom.xml b/internal/v1_5_R2/pom.xml
index 9412b40..0051f26 100644
--- a/internal/v1_5_R2/pom.xml
+++ b/internal/v1_5_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_5_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentContainer.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentContainer.java
index 57162f5..812c890 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentContainer.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_5_R2;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_5_R2.AxisAlignedBB;
import net.minecraft.server.v1_5_R2.BlockEnderChest;
import net.minecraft.server.v1_5_R2.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_5_R2.Packet100OpenWindow;
import net.minecraft.server.v1_5_R2.TileEntityChest;
import net.minecraft.server.v1_5_R2.TileEntityEnderChest;
import net.minecraft.server.v1_5_R2.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_5_R2.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
index 487e8c7..4c4a9a8 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_5_R2.IInventory;
-
import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
index 58862d3..e6248c8 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_5_R2;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_5_R2.EntityPlayer;
import net.minecraft.server.v1_5_R2.MinecraftServer;
import net.minecraft.server.v1_5_R2.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_5_R2.CraftServer;
import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
index f5832ee..0c6f634 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_5_R2.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.g();
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
index 375e0c4..7c835e6 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_5_R2;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_5_R2.EntityPlayer;
import net.minecraft.server.v1_5_R2.IInventory;
import net.minecraft.server.v1_5_R2.InventoryEnderChest;
import net.minecraft.server.v1_5_R2.InventorySubcontainer;
import net.minecraft.server.v1_5_R2.ItemStack;
-
import org.bukkit.craftbukkit.v1_5_R2.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
index f599172..20f82d6 100644
--- a/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
+++ b/internal/v1_5_R2/src/main/java/com/lishid/openinv/internal/v1_5_R2/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_5_R2;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_5_R2.ItemStack;
import net.minecraft.server.v1_5_R2.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_5_R3/pom.xml b/internal/v1_5_R3/pom.xml
index 3adfb30..41dcb0c 100644
--- a/internal/v1_5_R3/pom.xml
+++ b/internal/v1_5_R3/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_5_R3
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentContainer.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentContainer.java
index 6a68365..f138bcd 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentContainer.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_5_R3;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_5_R3.AxisAlignedBB;
import net.minecraft.server.v1_5_R3.BlockEnderChest;
import net.minecraft.server.v1_5_R3.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_5_R3.Packet100OpenWindow;
import net.minecraft.server.v1_5_R3.TileEntityChest;
import net.minecraft.server.v1_5_R3.TileEntityEnderChest;
import net.minecraft.server.v1_5_R3.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
index 3177516..f7dab0f 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_5_R3.IInventory;
-
import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
index 455cfb1..1054c49 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_5_R3;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_5_R3.EntityPlayer;
import net.minecraft.server.v1_5_R3.MinecraftServer;
import net.minecraft.server.v1_5_R3.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_5_R3.CraftServer;
import org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
index b80ed18..a65a051 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_5_R3.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.g();
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
index 816e5b7..bc524e4 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_5_R3;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_5_R3.EntityPlayer;
import net.minecraft.server.v1_5_R3.IInventory;
import net.minecraft.server.v1_5_R3.InventoryEnderChest;
import net.minecraft.server.v1_5_R3.InventorySubcontainer;
import net.minecraft.server.v1_5_R3.ItemStack;
-
import org.bukkit.craftbukkit.v1_5_R3.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
index a0b44d0..4f9703a 100644
--- a/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
+++ b/internal/v1_5_R3/src/main/java/com/lishid/openinv/internal/v1_5_R3/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_5_R3;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_5_R3.ItemStack;
import net.minecraft.server.v1_5_R3.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_6_R1/pom.xml b/internal/v1_6_R1/pom.xml
index cea569b..72f6d38 100644
--- a/internal/v1_6_R1/pom.xml
+++ b/internal/v1_6_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_6_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentContainer.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentContainer.java
index 81ab633..8451e89 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentContainer.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_6_R1;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R1.AxisAlignedBB;
import net.minecraft.server.v1_6_R1.BlockEnderChest;
import net.minecraft.server.v1_6_R1.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_6_R1.Packet100OpenWindow;
import net.minecraft.server.v1_6_R1.TileEntityChest;
import net.minecraft.server.v1_6_R1.TileEntityEnderChest;
import net.minecraft.server.v1_6_R1.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_6_R1.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
index 11859fd..768f1b4 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
index fb7b230..75a55f8 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_6_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R1.EntityPlayer;
import net.minecraft.server.v1_6_R1.MinecraftServer;
import net.minecraft.server.v1_6_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_6_R1.CraftServer;
import org.bukkit.craftbukkit.v1_6_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
index 56630e2..1f17c6e 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_6_R1.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.g();
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
index 10534d4..8935f95 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_6_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_6_R1.EntityPlayer;
import net.minecraft.server.v1_6_R1.IInventory;
import net.minecraft.server.v1_6_R1.InventoryEnderChest;
import net.minecraft.server.v1_6_R1.InventorySubcontainer;
import net.minecraft.server.v1_6_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_6_R1.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_6_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
index 7791a58..851024c 100644
--- a/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
+++ b/internal/v1_6_R1/src/main/java/com/lishid/openinv/internal/v1_6_R1/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_6_R1;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R1.ItemStack;
import net.minecraft.server.v1_6_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_6_R2/pom.xml b/internal/v1_6_R2/pom.xml
index ea26aeb..9fd049b 100644
--- a/internal/v1_6_R2/pom.xml
+++ b/internal/v1_6_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_6_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentContainer.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentContainer.java
index fd40053..63ae036 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentContainer.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_6_R2;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R2.AxisAlignedBB;
import net.minecraft.server.v1_6_R2.BlockEnderChest;
import net.minecraft.server.v1_6_R2.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_6_R2.Packet100OpenWindow;
import net.minecraft.server.v1_6_R2.TileEntityChest;
import net.minecraft.server.v1_6_R2.TileEntityEnderChest;
import net.minecraft.server.v1_6_R2.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
index 24ea8a3..e01d6f0 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R2.IInventory;
-
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
index 100f447..2fdf434 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_6_R2;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R2.EntityPlayer;
import net.minecraft.server.v1_6_R2.MinecraftServer;
import net.minecraft.server.v1_6_R2.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_6_R2.CraftServer;
import org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
index f128e6b..426a6b3 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_6_R2.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.g();
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
index d0810d0..4ab38bf 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_6_R2;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_6_R2.EntityPlayer;
import net.minecraft.server.v1_6_R2.IInventory;
import net.minecraft.server.v1_6_R2.InventoryEnderChest;
import net.minecraft.server.v1_6_R2.InventorySubcontainer;
import net.minecraft.server.v1_6_R2.ItemStack;
-
import org.bukkit.craftbukkit.v1_6_R2.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
index 48a6909..0c32d1c 100644
--- a/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
+++ b/internal/v1_6_R2/src/main/java/com/lishid/openinv/internal/v1_6_R2/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_6_R2;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R2.ItemStack;
import net.minecraft.server.v1_6_R2.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_6_R3/pom.xml b/internal/v1_6_R3/pom.xml
index 652fd68..791e004 100644
--- a/internal/v1_6_R3/pom.xml
+++ b/internal/v1_6_R3/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_6_R3
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentContainer.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentContainer.java
index 580de75..26f8921 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentContainer.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_6_R3;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R3.AxisAlignedBB;
import net.minecraft.server.v1_6_R3.BlockEnderChest;
import net.minecraft.server.v1_6_R3.Container;
@@ -34,43 +29,46 @@ import net.minecraft.server.v1_6_R3.Packet100OpenWindow;
import net.minecraft.server.v1_6_R3.TileEntityChest;
import net.minecraft.server.v1_6_R3.TileEntityEnderChest;
import net.minecraft.server.v1_6_R3.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_6_R3.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
// If block next to chest is chest and has a block or ocelot on top
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -93,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -123,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = world.getTypeId(block.getX(), block.getY(), block.getZ());
+ int id = world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
- if (world.getTypeId(block.getX(), block.getY(), block.getZ() + 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if (world.getTypeId(block.getX(), block.getY(), block.getZ() - 1) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (world.getTypeId(block.getX() + 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (world.getTypeId(block.getX() - 1, block.getY(), block.getZ()) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if (world.getTypeId(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (world.getTypeId(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (world.getTypeId(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -160,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
index b11c4a0..ae411ec 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R3.IInventory;
-
import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
index 4843ab3..5ae8ab7 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java
@@ -16,29 +16,26 @@
package com.lishid.openinv.internal.v1_6_R3;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_6_R3.EntityPlayer;
import net.minecraft.server.v1_6_R3.MinecraftServer;
import net.minecraft.server.v1_6_R3.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_6_R3.CraftServer;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -49,7 +46,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -58,13 +55,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -73,7 +71,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
index 9d6c56e..fc4f245 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_6_R3.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.g();
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
index a5dfeab..ff6f0c4 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_6_R3;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_6_R3.EntityPlayer;
import net.minecraft.server.v1_6_R3.IInventory;
import net.minecraft.server.v1_6_R3.InventoryEnderChest;
import net.minecraft.server.v1_6_R3.InventorySubcontainer;
import net.minecraft.server.v1_6_R3.ItemStack;
-
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
index a1d0702..1c4dfd0 100644
--- a/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
+++ b/internal/v1_6_R3/src/main/java/com/lishid/openinv/internal/v1_6_R3/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_6_R3;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_6_R3.ItemStack;
import net.minecraft.server.v1_6_R3.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_7_R1/pom.xml b/internal/v1_7_R1/pom.xml
index 6d697b6..70f40a6 100644
--- a/internal/v1_7_R1/pom.xml
+++ b/internal/v1_7_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_7_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentContainer.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentContainer.java
index 3b31a04..0908f23 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentContainer.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_7_R1;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R1.AxisAlignedBB;
import net.minecraft.server.v1_7_R1.Block;
import net.minecraft.server.v1_7_R1.BlockEnderChest;
@@ -35,43 +30,45 @@ import net.minecraft.server.v1_7_R1.PacketPlayOutOpenWindow;
import net.minecraft.server.v1_7_R1.TileEntityChest;
import net.minecraft.server.v1_7_R1.TileEntityEnderChest;
import net.minecraft.server.v1_7_R1.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
// If block next to chest is chest and has a block or ocelot on top
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -94,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -124,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -161,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
index 8490c0c..b814c1a 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
index ca746d8..a90e3e8 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java
@@ -16,30 +16,27 @@
package com.lishid.openinv.internal.v1_7_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R1.EntityPlayer;
import net.minecraft.server.v1_7_R1.MinecraftServer;
import net.minecraft.server.v1_7_R1.PlayerInteractManager;
import net.minecraft.util.com.mojang.authlib.GameProfile;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_7_R1.CraftServer;
import org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -50,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -59,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -74,7 +72,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
index 90bb62d..bb8c4f1 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_7_R1.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.l_();
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
index bfbb711..2427c47 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_7_R1;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_7_R1.EntityPlayer;
import net.minecraft.server.v1_7_R1.IInventory;
import net.minecraft.server.v1_7_R1.InventoryEnderChest;
import net.minecraft.server.v1_7_R1.InventorySubcontainer;
import net.minecraft.server.v1_7_R1.ItemStack;
-
import org.bukkit.craftbukkit.v1_7_R1.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
index b16870f..4ab6947 100644
--- a/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
+++ b/internal/v1_7_R1/src/main/java/com/lishid/openinv/internal/v1_7_R1/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_7_R1;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R1.ItemStack;
import net.minecraft.server.v1_7_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_7_R2/pom.xml b/internal/v1_7_R2/pom.xml
index cda25d8..75ed361 100644
--- a/internal/v1_7_R2/pom.xml
+++ b/internal/v1_7_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_7_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentContainer.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentContainer.java
index 622f2a2..18897db 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentContainer.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_7_R2;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R2.AxisAlignedBB;
import net.minecraft.server.v1_7_R2.Block;
import net.minecraft.server.v1_7_R2.BlockEnderChest;
@@ -35,43 +30,45 @@ import net.minecraft.server.v1_7_R2.PacketPlayOutOpenWindow;
import net.minecraft.server.v1_7_R2.TileEntityChest;
import net.minecraft.server.v1_7_R2.TileEntityEnderChest;
import net.minecraft.server.v1_7_R2.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_7_R2.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
// If block next to chest is chest and has a block or ocelot on top
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -94,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -124,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -161,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
index 022379a..906fad9 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R2.IInventory;
-
import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
index cfe40d5..f8100c0 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java
@@ -16,31 +16,28 @@
package com.lishid.openinv.internal.v1_7_R2;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R2.EntityPlayer;
import net.minecraft.server.v1_7_R2.MinecraftServer;
import net.minecraft.server.v1_7_R2.PlayerInteractManager;
import net.minecraft.util.com.mojang.authlib.GameProfile;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_7_R2.CraftServer;
import org.bukkit.craftbukkit.v1_7_R2.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
@SuppressWarnings("deprecation") // Deprecated methods are used properly and will not change.
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +48,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +57,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getName();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
OfflinePlayer player = Bukkit.getOfflinePlayer(identifier);
// Ensure player is a real player, otherwise return null
if (player == null || !player.hasPlayedBefore() && !player.isOnline()) {
@@ -75,7 +73,8 @@ public class PlayerDataManager implements IPlayerDataManager {
return player;
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
index f04e1e3..fd28ed9 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_7_R2.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.l_();
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
index 4ee26f6..4807da1 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_7_R2;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_7_R2.EntityPlayer;
import net.minecraft.server.v1_7_R2.IInventory;
import net.minecraft.server.v1_7_R2.InventoryEnderChest;
import net.minecraft.server.v1_7_R2.InventorySubcontainer;
import net.minecraft.server.v1_7_R2.ItemStack;
-
import org.bukkit.craftbukkit.v1_7_R2.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_7_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
index 6302cb6..4185d03 100644
--- a/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
+++ b/internal/v1_7_R2/src/main/java/com/lishid/openinv/internal/v1_7_R2/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_7_R2;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R2.ItemStack;
import net.minecraft.server.v1_7_R2.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_7_R3/pom.xml b/internal/v1_7_R3/pom.xml
index c07bf14..5610e64 100644
--- a/internal/v1_7_R3/pom.xml
+++ b/internal/v1_7_R3/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_7_R3
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentContainer.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentContainer.java
index 8d13937..219e93a 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentContainer.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_7_R3;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R3.AxisAlignedBB;
import net.minecraft.server.v1_7_R3.Block;
import net.minecraft.server.v1_7_R3.BlockEnderChest;
@@ -35,43 +30,46 @@ import net.minecraft.server.v1_7_R3.PacketPlayOutOpenWindow;
import net.minecraft.server.v1_7_R3.TileEntityChest;
import net.minecraft.server.v1_7_R3.TileEntityEnderChest;
import net.minecraft.server.v1_7_R3.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
World world = player.world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
// If block next to chest is chest and has a block or ocelot on top
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -94,18 +92,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -124,20 +122,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = Block.b(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
- if (Block.b(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if(Block.b(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (Block.b(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (Block.b(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if(Block.b(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (Block.b(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (Block.b(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -161,12 +159,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
index bdce49a..aa0cacb 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R3.IInventory;
-
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
index 3fa9363..eec7474 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java
@@ -16,31 +16,28 @@
package com.lishid.openinv.internal.v1_7_R3;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Arrays;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R3.EntityPlayer;
import net.minecraft.server.v1_7_R3.MinecraftServer;
import net.minecraft.server.v1_7_R3.PlayerInteractManager;
import net.minecraft.util.com.mojang.authlib.GameProfile;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_7_R3.CraftServer;
import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +48,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +57,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +79,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Arrays.asList(Bukkit.getOnlinePlayers());
}
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
index 7397564..57d88c9 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_7_R3.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
i2.l_();
}
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
index 0110821..90041f3 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_7_R3;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_7_R3.EntityPlayer;
import net.minecraft.server.v1_7_R3.IInventory;
import net.minecraft.server.v1_7_R3.InventoryEnderChest;
import net.minecraft.server.v1_7_R3.InventorySubcontainer;
import net.minecraft.server.v1_7_R3.ItemStack;
-
import org.bukkit.craftbukkit.v1_7_R3.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
index 18c1797..23e7a7d 100644
--- a/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
+++ b/internal/v1_7_R3/src/main/java/com/lishid/openinv/internal/v1_7_R3/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_7_R3;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R3.ItemStack;
import net.minecraft.server.v1_7_R3.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_7_R4/pom.xml b/internal/v1_7_R4/pom.xml
index 1a1d7fe..807d3bf 100644
--- a/internal/v1_7_R4/pom.xml
+++ b/internal/v1_7_R4/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_7_R4
@@ -43,7 +43,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentContainer.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentContainer.java
index 4a967c5..17d8e11 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentContainer.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/AnySilentContainer.java
@@ -17,11 +17,6 @@
package com.lishid.openinv.internal.v1_7_R4;
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R4.AxisAlignedBB;
import net.minecraft.server.v1_7_R4.Block;
import net.minecraft.server.v1_7_R4.BlockEnderChest;
@@ -35,43 +30,45 @@ import net.minecraft.server.v1_7_R4.PacketPlayOutOpenWindow;
import net.minecraft.server.v1_7_R4.TileEntityChest;
import net.minecraft.server.v1_7_R4.TileEntityEnderChest;
import net.minecraft.server.v1_7_R4.World;
-
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block block) {
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
// FOR REFERENCE, LOOK AT net.minecraft.server.BlockChest
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
- if (block instanceof BlockEnderChest) {
+ if (bukkitBlock instanceof BlockEnderChest) {
// Ender chests are not blocked by ocelots.
- return world.t(block.getX(), block.getY() + 1, block.getZ());
+ return world.t(bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
// If block or ocelot on top
- if (isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ())) {
+ if (isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ())) {
return true;
}
- int id = Block.getId(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
// If block next to chest is chest and has a block or ocelot on top
- if (Block.getId(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() + 1);
- } else if(Block.getId(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- return isBlockedChest(world, block.getX(), block.getY() + 1, block.getZ() - 1);
- } else if (Block.getId(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() + 1, block.getY() + 1, block.getZ());
- } else if (Block.getId(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- return isBlockedChest(world, block.getX() - 1, block.getY() + 1, block.getZ());
+ if (Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() + 1);
+ } else if(Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ return isBlockedChest(world, bukkitBlock.getX(), bukkitBlock.getY() + 1, bukkitBlock.getZ() - 1);
+ } else if (Block.getId(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() + 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
+ } else if (Block.getId(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ return isBlockedChest(world, bukkitBlock.getX() - 1, bukkitBlock.getY() + 1, bukkitBlock.getZ());
}
return false;
@@ -94,18 +91,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block block) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && block.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- Object tile = world.getTileEntity(block.getX(), block.getY(), block.getZ());
+ Object tile = world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
if (tile == null) {
return false;
@@ -124,20 +121,20 @@ public class AnySilentContainer implements IAnySilentContainer {
}
IInventory inventory = (IInventory) tile;
- int id = Block.getId(world.getType(block.getX(), block.getY(), block.getZ()));
+ int id = Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ()));
- if (Block.getId(world.getType(block.getX(), block.getY(), block.getZ() + 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() + 1));
- } else if(Block.getId(world.getType(block.getX(), block.getY(), block.getZ() - 1)) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX(), block.getY(), block.getZ() - 1), inventory);
- } else if (Block.getId(world.getType(block.getX() + 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(block.getX() + 1, block.getY(), block.getZ()));
- } else if (Block.getId(world.getType(block.getX() - 1, block.getY(), block.getZ())) == id) {
- inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(block.getX() - 1, block.getY(), block.getZ()), inventory);
+ if (Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() + 1));
+ } else if(Block.getId(world.getType(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1)) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ() - 1), inventory);
+ } else if (Block.getId(world.getType(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", inventory, (TileEntityChest) world.getTileEntity(bukkitBlock.getX() + 1, bukkitBlock.getY(), bukkitBlock.getZ()));
+ } else if (Block.getId(world.getType(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ())) == id) {
+ inventory = new InventoryLargeChest("container.chestDouble", (TileEntityChest) world.getTileEntity(bukkitBlock.getX() - 1, bukkitBlock.getY(), bukkitBlock.getZ()), inventory);
}
// AnyChest only
- if (!silentchest) {
+ if (!silent) {
player.openContainer(inventory);
return true;
}
@@ -161,12 +158,12 @@ public class AnySilentContainer implements IAnySilentContainer {
return true;
} catch (Exception e) {
e.printStackTrace();
- p.sendMessage(ChatColor.RED + "Error while sending silent container.");
+ bukkitPlayer.sendMessage(ChatColor.RED + "Error while sending silent container.");
return false;
}
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {}
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {}
}
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
index fd7c8e1..9027674 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R4.IInventory;
-
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
index acddbdf..ba130ed 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java
@@ -16,30 +16,27 @@
package com.lishid.openinv.internal.v1_7_R4;
+import com.lishid.openinv.internal.IPlayerDataManager;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_7_R4.EntityPlayer;
import net.minecraft.server.v1_7_R4.MinecraftServer;
import net.minecraft.server.v1_7_R4.PlayerInteractManager;
import net.minecraft.util.com.mojang.authlib.GameProfile;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_7_R4.CraftServer;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -50,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -59,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -80,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
index 0126208..47e27c3 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SilentContainerChest.java
@@ -24,7 +24,7 @@ import net.minecraft.server.v1_7_R4.PlayerInventory;
class SilentContainerChest extends ContainerChest {
- public SilentContainerChest(IInventory i1, IInventory i2) {
+ SilentContainerChest(IInventory i1, IInventory i2) {
super(i1, i2);
// Send close signal
i2.closeContainer();
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
index 78010da..9fde84f 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialEnderChest.java
@@ -16,26 +16,25 @@
package com.lishid.openinv.internal.v1_7_R4;
+import com.lishid.openinv.internal.ISpecialEnderChest;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
-
-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;
-
import net.minecraft.server.v1_7_R4.EntityPlayer;
import net.minecraft.server.v1_7_R4.IInventory;
import net.minecraft.server.v1_7_R4.InventoryEnderChest;
import net.minecraft.server.v1_7_R4.InventorySubcontainer;
import net.minecraft.server.v1_7_R4.ItemStack;
-
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftHumanEntity;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -57,13 +56,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -72,7 +89,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
index b8925a3..62612e5 100644
--- a/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
+++ b/internal/v1_7_R4/src/main/java/com/lishid/openinv/internal/v1_7_R4/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_7_R4;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_7_R4.ItemStack;
import net.minecraft.server.v1_7_R4.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_8_R1/pom.xml b/internal/v1_8_R1/pom.xml
index 1802d0f..166d811 100644
--- a/internal/v1_8_R1/pom.xml
+++ b/internal/v1_8_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_8_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/AnySilentContainer.java b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/AnySilentContainer.java
index 12009d1..05e1b99 100644
--- a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/AnySilentContainer.java
+++ b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/AnySilentContainer.java
@@ -16,14 +16,8 @@
package com.lishid.openinv.internal.v1_8_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R1.AxisAlignedBB;
import net.minecraft.server.v1_8_R1.Block;
import net.minecraft.server.v1_8_R1.BlockChest;
@@ -41,6 +35,10 @@ import net.minecraft.server.v1_8_R1.TileEntity;
import net.minecraft.server.v1_8_R1.TileEntityChest;
import net.minecraft.server.v1_8_R1.TileEntityEnderChest;
import net.minecraft.server.v1_8_R1.World;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -57,15 +55,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -125,18 +123,18 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silentchest, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silentchest && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -207,7 +205,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/InventoryAccess.java b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/InventoryAccess.java
index 7597149..7cdf976 100644
--- a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/InventoryAccess.java
+++ b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java
index a9ee9f8..413eab4 100644
--- a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java
+++ b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_8_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_8_R1.EntityPlayer;
import net.minecraft.server.v1_8_R1.MinecraftServer;
import net.minecraft.server.v1_8_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_8_R1.CraftServer;
import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialEnderChest.java b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialEnderChest.java
index 9e28b7a..9159ccf 100644
--- a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialEnderChest.java
+++ b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialEnderChest.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_8_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R1.EntityPlayer;
import net.minecraft.server.v1_8_R1.IInventory;
import net.minecraft.server.v1_8_R1.InventoryEnderChest;
import net.minecraft.server.v1_8_R1.InventorySubcontainer;
-
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -47,13 +47,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -62,7 +80,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialPlayerInventory.java b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialPlayerInventory.java
index ce38472..5a98553 100644
--- a/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialPlayerInventory.java
+++ b/internal/v1_8_R1/src/main/java/com/lishid/openinv/internal/v1_8_R1/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_8_R1;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R1.ItemStack;
import net.minecraft.server.v1_8_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_8_R2/pom.xml b/internal/v1_8_R2/pom.xml
index 7d2419f..c076d42 100644
--- a/internal/v1_8_R2/pom.xml
+++ b/internal/v1_8_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_8_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/AnySilentContainer.java b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/AnySilentContainer.java
index 3e08935..2169fbf 100644
--- a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/AnySilentContainer.java
+++ b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/AnySilentContainer.java
@@ -16,15 +16,8 @@
package com.lishid.openinv.internal.v1_8_R2;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import net.minecraft.server.v1_8_R2.WorldSettings;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R2.AxisAlignedBB;
import net.minecraft.server.v1_8_R2.Block;
import net.minecraft.server.v1_8_R2.BlockChest;
@@ -43,7 +36,12 @@ import net.minecraft.server.v1_8_R2.TileEntity;
import net.minecraft.server.v1_8_R2.TileEntityChest;
import net.minecraft.server.v1_8_R2.TileEntityEnderChest;
import net.minecraft.server.v1_8_R2.World;
+import net.minecraft.server.v1_8_R2.WorldSettings;
import net.minecraft.server.v1_8_R2.WorldSettings.EnumGamemode;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -60,15 +58,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -123,19 +121,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.V);
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -191,7 +189,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == WorldSettings.EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == WorldSettings.EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -209,7 +207,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/InventoryAccess.java b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/InventoryAccess.java
index 0c02956..ff9736e 100644
--- a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/InventoryAccess.java
+++ b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R2.IInventory;
-
import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java
index a81b0cf..3ba11c6 100644
--- a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java
+++ b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_8_R2;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_8_R2.EntityPlayer;
import net.minecraft.server.v1_8_R2.MinecraftServer;
import net.minecraft.server.v1_8_R2.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_8_R2.CraftServer;
import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialEnderChest.java b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialEnderChest.java
index 4c9f3b8..9fc0fdf 100644
--- a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialEnderChest.java
+++ b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialEnderChest.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_8_R2;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R2.EntityPlayer;
import net.minecraft.server.v1_8_R2.IInventory;
import net.minecraft.server.v1_8_R2.InventoryEnderChest;
import net.minecraft.server.v1_8_R2.InventorySubcontainer;
-
import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -47,13 +47,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -62,7 +80,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialPlayerInventory.java b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialPlayerInventory.java
index cb12205..16dd136 100644
--- a/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialPlayerInventory.java
+++ b/internal/v1_8_R2/src/main/java/com/lishid/openinv/internal/v1_8_R2/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_8_R2;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R2.ItemStack;
import net.minecraft.server.v1_8_R2.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_8_R3/pom.xml b/internal/v1_8_R3/pom.xml
index 851a9ae..61e67f1 100644
--- a/internal/v1_8_R3/pom.xml
+++ b/internal/v1_8_R3/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_8_R3
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/AnySilentContainer.java b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/AnySilentContainer.java
index d252d7e..e574d51 100644
--- a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/AnySilentContainer.java
+++ b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/AnySilentContainer.java
@@ -16,14 +16,8 @@
package com.lishid.openinv.internal.v1_8_R3;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R3.AxisAlignedBB;
import net.minecraft.server.v1_8_R3.Block;
import net.minecraft.server.v1_8_R3.BlockChest;
@@ -43,6 +37,10 @@ import net.minecraft.server.v1_8_R3.TileEntityChest;
import net.minecraft.server.v1_8_R3.TileEntityEnderChest;
import net.minecraft.server.v1_8_R3.World;
import net.minecraft.server.v1_8_R3.WorldSettings.EnumGamemode;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -59,15 +57,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -122,19 +120,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.V);
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -190,7 +188,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -208,7 +206,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/InventoryAccess.java b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/InventoryAccess.java
index 5fe208d..537437a 100644
--- a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/InventoryAccess.java
+++ b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R3.IInventory;
-
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java
index ee1b091..85852fd 100644
--- a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java
+++ b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_8_R3;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_8_R3.EntityPlayer;
import net.minecraft.server.v1_8_R3.MinecraftServer;
import net.minecraft.server.v1_8_R3.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialEnderChest.java b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialEnderChest.java
index 3cabcd2..159af2a 100644
--- a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialEnderChest.java
+++ b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialEnderChest.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_8_R3;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_8_R3.EntityPlayer;
import net.minecraft.server.v1_8_R3.IInventory;
import net.minecraft.server.v1_8_R3.InventoryEnderChest;
import net.minecraft.server.v1_8_R3.InventorySubcontainer;
-
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -47,13 +47,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -62,7 +80,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialPlayerInventory.java b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialPlayerInventory.java
index c38d875..960779f 100644
--- a/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialPlayerInventory.java
+++ b/internal/v1_8_R3/src/main/java/com/lishid/openinv/internal/v1_8_R3/SpecialPlayerInventory.java
@@ -17,14 +17,15 @@
package com.lishid.openinv.internal.v1_8_R3;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_8_R3.ItemStack;
import net.minecraft.server.v1_8_R3.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -39,13 +40,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
this.armor = player.inventory.armor;
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
this.player.inventory.items = this.items;
diff --git a/internal/v1_9_R1/pom.xml b/internal/v1_9_R1/pom.xml
index dcc4b9d..f196a99 100644
--- a/internal/v1_9_R1/pom.xml
+++ b/internal/v1_9_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_9_R1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/AnySilentContainer.java b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/AnySilentContainer.java
index 6ac66fb..fe27588 100644
--- a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/AnySilentContainer.java
+++ b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/AnySilentContainer.java
@@ -16,14 +16,8 @@
package com.lishid.openinv.internal.v1_9_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_9_R1.AxisAlignedBB;
import net.minecraft.server.v1_9_R1.Block;
import net.minecraft.server.v1_9_R1.BlockChest;
@@ -43,6 +37,10 @@ import net.minecraft.server.v1_9_R1.TileEntityChest;
import net.minecraft.server.v1_9_R1.TileEntityEnderChest;
import net.minecraft.server.v1_9_R1.World;
import net.minecraft.server.v1_9_R1.WorldSettings.EnumGamemode;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -59,15 +57,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -122,19 +120,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.X);
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -190,7 +188,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -208,7 +206,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/InventoryAccess.java b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/InventoryAccess.java
index 991df8a..0849e07 100644
--- a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/InventoryAccess.java
+++ b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_9_R1.IInventory;
-
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java
index 43db944..b7dd8b2 100644
--- a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java
+++ b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_9_R1;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_9_R1.EntityPlayer;
import net.minecraft.server.v1_9_R1.MinecraftServer;
import net.minecraft.server.v1_9_R1.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_9_R1.CraftServer;
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure the player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialEnderChest.java b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialEnderChest.java
index ee7d2dc..d1b10ef 100644
--- a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialEnderChest.java
+++ b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialEnderChest.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_9_R1;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_9_R1.EntityPlayer;
import net.minecraft.server.v1_9_R1.IInventory;
import net.minecraft.server.v1_9_R1.InventoryEnderChest;
import net.minecraft.server.v1_9_R1.InventorySubcontainer;
-
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -47,13 +47,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -62,7 +80,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialPlayerInventory.java b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialPlayerInventory.java
index 1e3f8de..9dfc2b9 100644
--- a/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialPlayerInventory.java
+++ b/internal/v1_9_R1/src/main/java/com/lishid/openinv/internal/v1_9_R1/SpecialPlayerInventory.java
@@ -16,18 +16,18 @@
package com.lishid.openinv.internal.v1_9_R1;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_9_R1.ItemStack;
import net.minecraft.server.v1_9_R1.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -78,13 +78,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
setItemArrays(this.player.inventory, items, armor, extraSlots);
diff --git a/internal/v1_9_R2/pom.xml b/internal/v1_9_R2/pom.xml
index 89c032d..bafa59f 100644
--- a/internal/v1_9_R2/pom.xml
+++ b/internal/v1_9_R2/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvinternal
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvadapter1_9_R2
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/AnySilentContainer.java b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/AnySilentContainer.java
index 45f63c4..4ca5e61 100644
--- a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/AnySilentContainer.java
+++ b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/AnySilentContainer.java
@@ -16,14 +16,8 @@
package com.lishid.openinv.internal.v1_9_R2;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.IAnySilentContainer;
-
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.InventoryView;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_9_R2.AxisAlignedBB;
import net.minecraft.server.v1_9_R2.Block;
import net.minecraft.server.v1_9_R2.BlockChest;
@@ -43,6 +37,10 @@ import net.minecraft.server.v1_9_R2.TileEntityChest;
import net.minecraft.server.v1_9_R2.TileEntityEnderChest;
import net.minecraft.server.v1_9_R2.World;
import net.minecraft.server.v1_9_R2.WorldSettings.EnumGamemode;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class AnySilentContainer implements IAnySilentContainer {
@@ -59,15 +57,15 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean isAnySilentContainer(org.bukkit.block.Block block) {
- return block.getType() == Material.ENDER_CHEST || block.getState() instanceof org.bukkit.block.Chest;
+ public boolean isAnySilentContainer(@NotNull org.bukkit.block.Block bukkitBlock) {
+ return bukkitBlock.getType() == Material.ENDER_CHEST || bukkitBlock.getState() instanceof org.bukkit.block.Chest;
}
@Override
- public boolean isAnyContainerNeeded(Player p, org.bukkit.block.Block b) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
- World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ public boolean isAnyContainerNeeded(@NotNull Player bukkitPlayer, @NotNull org.bukkit.block.Block bukkitBlock) {
+
+ World world = PlayerDataManager.getHandle(bukkitPlayer).world;
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Block block = world.getType(blockPosition).getBlock();
if (block instanceof BlockEnderChest) {
@@ -122,19 +120,19 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public boolean activateContainer(Player p, boolean silentchest, org.bukkit.block.Block b) {
+ public boolean activateContainer(@NotNull Player bukkitPlayer, boolean silent, @NotNull org.bukkit.block.Block bukkitBlock) {
- EntityPlayer player = PlayerDataManager.getHandle(p);
+ EntityPlayer player = PlayerDataManager.getHandle(bukkitPlayer);
// Silent ender chest is pretty much API-only
- if (silentchest && b.getType() == Material.ENDER_CHEST) {
- p.openInventory(p.getEnderChest());
+ if (silent && bukkitBlock.getType() == Material.ENDER_CHEST) {
+ bukkitPlayer.openInventory(bukkitPlayer.getEnderChest());
player.b(StatisticList.X);
return true;
}
World world = player.world;
- BlockPosition blockPosition = new BlockPosition(b.getX(), b.getY(), b.getZ());
+ BlockPosition blockPosition = new BlockPosition(bukkitBlock.getX(), bukkitBlock.getY(), bukkitBlock.getZ());
Object tile = world.getTileEntity(blockPosition);
if (tile == null) {
@@ -190,7 +188,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
// AnyChest only - SilentChest not active, container unsupported, or unnecessary.
- if (!silentchest || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
+ if (!silent || player.playerInteractManager.getGameMode() == EnumGamemode.SPECTATOR) {
player.openContainer(tileInventory);
return true;
}
@@ -208,7 +206,7 @@ public class AnySilentContainer implements IAnySilentContainer {
}
@Override
- public void deactivateContainer(final Player bukkitPlayer) {
+ public void deactivateContainer(@NotNull final Player bukkitPlayer) {
if (this.playerInteractManagerGamemode == null) {
return;
}
diff --git a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/InventoryAccess.java b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/InventoryAccess.java
index 14d0a01..386258f 100644
--- a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/InventoryAccess.java
+++ b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/InventoryAccess.java
@@ -20,17 +20,15 @@ import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.InternalAccessor;
-
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_9_R2.IInventory;
-
import org.bukkit.craftbukkit.v1_9_R2.inventory.CraftInventory;
+import org.bukkit.inventory.Inventory;
+import org.jetbrains.annotations.NotNull;
public class InventoryAccess implements IInventoryAccess {
@Override
- public boolean isSpecialPlayerInventory(Inventory inventory) {
+ public boolean isSpecialPlayerInventory(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialPlayerInventory;
}
@@ -38,7 +36,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialPlayerInventory getSpecialPlayerInventory(Inventory inventory) {
+ public ISpecialPlayerInventory getSpecialPlayerInventory(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
@@ -53,7 +51,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public boolean isSpecialEnderChest(Inventory inventory) {
+ public boolean isSpecialEnderChest(@NotNull Inventory inventory) {
if (inventory instanceof CraftInventory) {
return ((CraftInventory) inventory).getInventory() instanceof ISpecialEnderChest;
}
@@ -61,7 +59,7 @@ public class InventoryAccess implements IInventoryAccess {
}
@Override
- public ISpecialEnderChest getSpecialEnderChest(Inventory inventory) {
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull Inventory inventory) {
IInventory inv;
if (inventory instanceof CraftInventory) {
inv = ((CraftInventory) inventory).getInventory();
diff --git a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/PlayerDataManager.java b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/PlayerDataManager.java
index 74199f3..8eecdb6 100644
--- a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/PlayerDataManager.java
+++ b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/PlayerDataManager.java
@@ -16,31 +16,27 @@
package com.lishid.openinv.internal.v1_9_R2;
+import com.lishid.openinv.internal.IPlayerDataManager;
+import com.mojang.authlib.GameProfile;
import java.util.Collection;
import java.util.UUID;
-
-import com.lishid.openinv.internal.IPlayerDataManager;
-
-import com.mojang.authlib.GameProfile;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.Server;
-import org.bukkit.entity.Player;
-
import net.minecraft.server.v1_9_R2.EntityPlayer;
import net.minecraft.server.v1_9_R2.MinecraftServer;
import net.minecraft.server.v1_9_R2.PlayerInteractManager;
-
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.Server;
import org.bukkit.craftbukkit.v1_9_R2.CraftServer;
import org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
public class PlayerDataManager implements IPlayerDataManager {
@Override
- public Player loadPlayer(OfflinePlayer offline) {
+ public Player loadPlayer(@NotNull OfflinePlayer offline) {
// Ensure player has data
- if (offline == null || !offline.hasPlayedBefore()) {
+ if (!offline.hasPlayedBefore()) {
return null;
}
@@ -51,7 +47,7 @@ public class PlayerDataManager implements IPlayerDataManager {
new PlayerInteractManager(server.getWorldServer(0)));
// Get the bukkit entity
- Player target = (entity == null) ? null : entity.getBukkitEntity();
+ Player target = entity.getBukkitEntity();
if (target != null) {
// Load data
target.loadData();
@@ -60,13 +56,14 @@ public class PlayerDataManager implements IPlayerDataManager {
return target;
}
- @Override
- public String getPlayerDataID(OfflinePlayer offline) {
+ @NotNull
+ @Override
+ public String getPlayerDataID(@NotNull OfflinePlayer offline) {
return offline.getUniqueId().toString();
}
@Override
- public OfflinePlayer getPlayerByID(String identifier) {
+ public OfflinePlayer getPlayerByID(@NotNull String identifier) {
try {
UUID uuid = UUID.fromString(identifier);
OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
@@ -81,7 +78,8 @@ public class PlayerDataManager implements IPlayerDataManager {
}
}
- @Override
+ @NotNull
+ @Override
public Collection extends Player> getOnlinePlayers() {
return Bukkit.getOnlinePlayers();
}
diff --git a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialEnderChest.java b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialEnderChest.java
index 83bcec6..cf21a3e 100644
--- a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialEnderChest.java
+++ b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialEnderChest.java
@@ -16,19 +16,19 @@
package com.lishid.openinv.internal.v1_9_R2;
-import java.lang.reflect.Field;
-
import com.lishid.openinv.internal.ISpecialEnderChest;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
+import java.lang.reflect.Field;
import net.minecraft.server.v1_9_R2.EntityPlayer;
import net.minecraft.server.v1_9_R2.IInventory;
import net.minecraft.server.v1_9_R2.InventoryEnderChest;
import net.minecraft.server.v1_9_R2.InventorySubcontainer;
-
import org.bukkit.craftbukkit.v1_9_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
@@ -47,13 +47,31 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
this.items = enderChest.getContents();
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.ENDER_CHEST;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
try {
EntityPlayer nmsPlayer = PlayerDataManager.getHandle(player);
@@ -62,7 +80,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
Field field = playerEnderChest.getClass().getField("items");
field.setAccessible(true);
field.set(playerEnderChest, this.items);
- } catch (Exception e) {}
+ } catch (Exception ignored) {}
playerOnline = true;
}
}
diff --git a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialPlayerInventory.java b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialPlayerInventory.java
index ad146d4..22a000c 100644
--- a/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialPlayerInventory.java
+++ b/internal/v1_9_R2/src/main/java/com/lishid/openinv/internal/v1_9_R2/SpecialPlayerInventory.java
@@ -16,18 +16,18 @@
package com.lishid.openinv.internal.v1_9_R2;
+import com.lishid.openinv.internal.ISpecialPlayerInventory;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-
-import com.lishid.openinv.internal.ISpecialPlayerInventory;
-
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
-
import net.minecraft.server.v1_9_R2.ItemStack;
import net.minecraft.server.v1_9_R2.PlayerInventory;
-
import org.bukkit.craftbukkit.v1_9_R2.inventory.CraftInventory;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryView;
+import org.jetbrains.annotations.NotNull;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
@@ -78,13 +78,31 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
}
}
+ @NotNull
@Override
- public Inventory getBukkitInventory() {
- return inventory;
+ public InventoryView getBukkitView(final Player viewer) {
+ return new InventoryView() {
+ @Override
+ public Inventory getTopInventory() {
+ return inventory;
+ }
+ @Override
+ public Inventory getBottomInventory() {
+ return viewer.getInventory();
+ }
+ @Override
+ public HumanEntity getPlayer() {
+ return viewer;
+ }
+ @Override
+ public InventoryType getType() {
+ return InventoryType.PLAYER;
+ }
+ };
}
@Override
- public void setPlayerOnline(Player player) {
+ public void setPlayerOnline(@NotNull Player player) {
if (!playerOnline) {
this.player = PlayerDataManager.getHandle(player);
setItemArrays(this.player.inventory, items, armor, extraSlots);
diff --git a/plugin/plugin-core/pom.xml b/plugin/plugin-core/pom.xml
index 1ab74b4..ac104d3 100644
--- a/plugin/plugin-core/pom.xml
+++ b/plugin/plugin-core/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvplugin
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvplugincore
@@ -38,12 +38,12 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
com.lishid
openinvpluginv1_10_r1
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/OpenInv.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/OpenInv.java
index e37127e..415294c 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/OpenInv.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/OpenInv.java
@@ -16,20 +16,8 @@
package com.lishid.openinv;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
-import javax.annotation.Nullable;
-
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.Multimap;
import com.lishid.openinv.commands.AnyChestPluginCommand;
import com.lishid.openinv.commands.OpenEnderPluginCommand;
import com.lishid.openinv.commands.OpenInvPluginCommand;
@@ -50,10 +38,18 @@ import com.lishid.openinv.util.ConfigUpdater;
import com.lishid.openinv.util.Function;
import com.lishid.openinv.util.InternalAccessor;
import com.lishid.openinv.util.Permissions;
-
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Multimap;
-
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+import javax.annotation.Nullable;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.PluginCommand;
@@ -64,6 +60,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
+import org.jetbrains.annotations.NotNull;
/**
* Open other player's inventory
@@ -94,18 +91,18 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
// Check if inventory is stored, and if it is, remove it and eject all viewers
if (OpenInv.this.inventories.containsKey(key)) {
- Inventory inv = OpenInv.this.inventories.remove(key).getBukkitInventory();
+ Inventory inv = OpenInv.this.inventories.remove(key).getBukkitView(null).getTopInventory();
List viewers = inv.getViewers();
- for (HumanEntity entity : viewers.toArray(new HumanEntity[viewers.size()])) {
+ for (HumanEntity entity : viewers.toArray(new HumanEntity[0])) {
entity.closeInventory();
}
}
// Check if ender chest is stored, and if it is, remove it and eject all viewers
if (OpenInv.this.enderChests.containsKey(key)) {
- Inventory inv = OpenInv.this.enderChests.remove(key).getBukkitInventory();
+ Inventory inv = OpenInv.this.enderChests.remove(key).getBukkitView(null).getTopInventory();
List viewers = inv.getViewers();
- for (HumanEntity entity : viewers.toArray(new HumanEntity[viewers.size()])) {
+ for (HumanEntity entity : viewers.toArray(new HumanEntity[0])) {
entity.closeInventory();
}
}
@@ -134,7 +131,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
if (this.inventories.containsKey(key)) {
- Iterator iterator = this.inventories.get(key).getBukkitInventory().getViewers().iterator();
+ Iterator iterator = this.inventories.get(key).getBukkitView(null).getTopInventory().getViewers().iterator();
while (iterator.hasNext()) {
HumanEntity human = iterator.next();
// If player has permission or is in the same world, allow continued access
@@ -148,7 +145,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
if (this.enderChests.containsKey(key)) {
- Iterator iterator = this.enderChests.get(key).getBukkitInventory().getViewers().iterator();
+ Iterator iterator = this.enderChests.get(key).getBukkitView(null).getTopInventory().getViewers().iterator();
while (iterator.hasNext()) {
HumanEntity human = iterator.next();
if (Permissions.CROSSWORLD.hasPermission(human) || human.getWorld() == null
@@ -165,33 +162,13 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
return this.getConfig().getBoolean("settings.disable-saving", false);
}
+ @NotNull
@Override
public IAnySilentContainer getAnySilentContainer() {
return this.accessor.getAnySilentContainer();
}
- @Deprecated
- @Override
- public ISpecialEnderChest getEnderChest(final Player player, final boolean online) {
- try {
- return this.getSpecialEnderChest(player, online);
- } catch (InstantiationException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- @Deprecated
- @Override
- public ISpecialPlayerInventory getInventory(final Player player, final boolean online) {
- try {
- return this.getSpecialInventory(player, online);
- } catch (InstantiationException e) {
- e.printStackTrace();
- return null;
- }
- }
-
+ @NotNull
@Override
public IInventoryAccess getInventoryAccess() {
return this.accessor.getInventoryAccess();
@@ -272,7 +249,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public boolean getPlayerAnyChestStatus(final OfflinePlayer player) {
+ public boolean getPlayerAnyChestStatus(@NotNull final OfflinePlayer player) {
boolean defaultState = false;
if (player.isOnline()) {
@@ -285,27 +262,29 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
return this.getConfig().getBoolean("toggles.any-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(player), defaultState);
}
+ @NotNull
@Override
- public String getPlayerID(final OfflinePlayer offline) {
+ public String getPlayerID(@NotNull final OfflinePlayer offline) {
return this.accessor.getPlayerDataManager().getPlayerDataID(offline);
}
@Override
- public boolean getPlayerSilentChestStatus(final OfflinePlayer player) {
+ public boolean getPlayerSilentChestStatus(@NotNull final OfflinePlayer offline) {
boolean defaultState = false;
- if (player.isOnline()) {
- Player onlinePlayer = player.getPlayer();
+ if (offline.isOnline()) {
+ Player onlinePlayer = offline.getPlayer();
if (onlinePlayer != null) {
defaultState = Permissions.SILENT_DEFAULT.hasPermission(onlinePlayer);
}
}
- return this.getConfig().getBoolean("toggles.silent-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(player), defaultState);
+ return this.getConfig().getBoolean("toggles.silent-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(offline), defaultState);
}
+ @NotNull
@Override
- public ISpecialEnderChest getSpecialEnderChest(final Player player, final boolean online)
+ public ISpecialEnderChest getSpecialEnderChest(@NotNull final Player player, final boolean online)
throws InstantiationException {
String id = this.accessor.getPlayerDataManager().getPlayerDataID(player);
if (this.enderChests.containsKey(id)) {
@@ -317,8 +296,9 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
return inv;
}
+ @NotNull
@Override
- public ISpecialPlayerInventory getSpecialInventory(final Player player, final boolean online)
+ public ISpecialPlayerInventory getSpecialInventory(@NotNull final Player player, final boolean online)
throws InstantiationException {
String id = this.accessor.getPlayerDataManager().getPlayerDataID(player);
if (this.inventories.containsKey(id)) {
@@ -337,11 +317,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
@Nullable
@Override
- public Player loadPlayer(final OfflinePlayer offline) {
-
- if (offline == null) {
- return null;
- }
+ public Player loadPlayer(@NotNull final OfflinePlayer offline) {
String key = this.accessor.getPlayerDataManager().getPlayerDataID(offline);
if (this.playerCache.containsKey(key)) {
@@ -407,7 +383,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
@Nullable
@Override
- public OfflinePlayer matchPlayer(final String name) {
+ public OfflinePlayer matchPlayer(@NotNull final String name) {
// Warn if called on the main thread - if we resort to searching offline players, this may take several seconds.
if (this.getServer().isPrimaryThread()) {
@@ -557,7 +533,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public void releasePlayer(final Player player, final Plugin plugin) {
+ public void releasePlayer(@NotNull final Player player, @NotNull final Plugin plugin) {
String key = this.accessor.getPlayerDataManager().getPlayerDataID(player);
if (!this.pluginUsage.containsEntry(key, plugin.getClass())) {
@@ -568,7 +544,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public void retainPlayer(final Player player, final Plugin plugin) {
+ public void retainPlayer(@NotNull final Player player, @NotNull final Plugin plugin) {
String key = this.accessor.getPlayerDataManager().getPlayerDataID(player);
if (this.pluginUsage.containsEntry(key, plugin.getClass())) {
@@ -579,8 +555,8 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public void setPlayerAnyChestStatus(final OfflinePlayer player, final boolean status) {
- this.getConfig().set("toggles.any-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(player), status);
+ public void setPlayerAnyChestStatus(@NotNull final OfflinePlayer offline, final boolean status) {
+ this.getConfig().set("toggles.any-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(offline), status);
this.saveConfig();
}
@@ -644,8 +620,8 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public void setPlayerSilentChestStatus(final OfflinePlayer player, final boolean status) {
- this.getConfig().set("toggles.silent-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(player), status);
+ public void setPlayerSilentChestStatus(@NotNull final OfflinePlayer offline, final boolean status) {
+ this.getConfig().set("toggles.silent-chest." + this.accessor.getPlayerDataManager().getPlayerDataID(offline), status);
this.saveConfig();
}
@@ -685,8 +661,8 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
}
@Override
- public void unload(final OfflinePlayer player) {
- this.playerCache.invalidate(this.accessor.getPlayerDataManager().getPlayerDataID(player));
+ public void unload(@NotNull final OfflinePlayer offline) {
+ this.playerCache.invalidate(this.accessor.getPlayerDataManager().getPlayerDataID(offline));
}
}
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java
index ae132e8..a0253a9 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/AnyChestPluginCommand.java
@@ -17,7 +17,6 @@
package com.lishid.openinv.commands;
import com.lishid.openinv.OpenInv;
-
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java
index cfc8672..9bd1f41 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java
@@ -16,12 +16,10 @@
package com.lishid.openinv.commands;
-import java.util.HashMap;
-
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.util.Permissions;
-
+import java.util.HashMap;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@@ -144,7 +142,7 @@ public class OpenEnderPluginCommand implements CommandExecutor {
}
// Open the inventory
- player.openInventory(chest.getBukkitInventory());
+ player.openInventory(chest.getBukkitView(player));
}
}
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java
index 69d7e46..7a38846 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java
@@ -16,12 +16,10 @@
package com.lishid.openinv.commands;
-import java.util.HashMap;
-
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.util.Permissions;
-
+import java.util.HashMap;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@@ -153,7 +151,7 @@ public class OpenInvPluginCommand implements CommandExecutor {
}
// Open the inventory
- player.openInventory(inv.getBukkitInventory());
+ player.openInventory(inv.getBukkitView(player));
}
}
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchEnchantPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchEnchantPluginCommand.java
index 522107b..ce2f687 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchEnchantPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchEnchantPluginCommand.java
@@ -17,7 +17,6 @@
package com.lishid.openinv.commands;
import com.lishid.openinv.OpenInv;
-
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java
index 267d1ad..98c9912 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SearchInvPluginCommand.java
@@ -17,7 +17,6 @@
package com.lishid.openinv.commands;
import com.lishid.openinv.OpenInv;
-
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java
index 1019234..cade3f1 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/commands/SilentChestPluginCommand.java
@@ -16,14 +16,13 @@
package com.lishid.openinv.commands;
+import com.lishid.openinv.OpenInv;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import com.lishid.openinv.OpenInv;
-
public class SilentChestPluginCommand implements CommandExecutor {
private final OpenInv plugin;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryClickListener.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryClickListener.java
index 63a4718..e806214 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryClickListener.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryClickListener.java
@@ -18,7 +18,6 @@ package com.lishid.openinv.listeners;
import com.lishid.openinv.IOpenInv;
import com.lishid.openinv.util.Permissions;
-
import org.bukkit.entity.HumanEntity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryCloseListener.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryCloseListener.java
index 988a3d8..a6bf404 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryCloseListener.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/InventoryCloseListener.java
@@ -17,7 +17,6 @@
package com.lishid.openinv.listeners;
import com.lishid.openinv.IOpenInv;
-
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PlayerListener.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PlayerListener.java
index b34914f..acc3e3d 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PlayerListener.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PlayerListener.java
@@ -18,7 +18,6 @@ package com.lishid.openinv.listeners;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.util.Permissions;
-
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Result;
import org.bukkit.event.EventHandler;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PluginListener.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PluginListener.java
index 158a434..01a53fd 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PluginListener.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/listeners/PluginListener.java
@@ -17,7 +17,6 @@
package com.lishid.openinv.listeners;
import com.lishid.openinv.OpenInv;
-
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
diff --git a/plugin/plugin-core/src/main/java/com/lishid/openinv/util/ConfigUpdater.java b/plugin/plugin-core/src/main/java/com/lishid/openinv/util/ConfigUpdater.java
index f917699..3658d67 100644
--- a/plugin/plugin-core/src/main/java/com/lishid/openinv/util/ConfigUpdater.java
+++ b/plugin/plugin-core/src/main/java/com/lishid/openinv/util/ConfigUpdater.java
@@ -16,14 +16,12 @@
package com.lishid.openinv.util;
+import com.lishid.openinv.OpenInv;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-
-import com.lishid.openinv.OpenInv;
-
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.configuration.ConfigurationSection;
@@ -107,12 +105,12 @@ public class ConfigUpdater {
}
}.runTask(plugin);
- updateToggles("AnyChest", ".toggle", "toggles.any-chest");
- updateToggles("ItemOpenInv", ".toggle", "toggles.items.open-inv");
- updateToggles("SilentChest", ".toggle", "toggles.silent-chest");
+ updateToggles("AnyChest", "toggles.any-chest");
+ updateToggles("ItemOpenInv", "toggles.items.open-inv");
+ updateToggles("SilentChest", "toggles.silent-chest");
}
- private void updateToggles(final String sectionName, String suffix, final String newSectionName) {
+ private void updateToggles(final String sectionName, final String newSectionName) {
// Ensure section exists
if (!plugin.getConfig().isConfigurationSection(sectionName)) {
return;
@@ -130,8 +128,9 @@ public class ConfigUpdater {
for (String playerName : keys) {
OfflinePlayer player = plugin.matchPlayer(playerName);
- String dataID = plugin.getPlayerID(player);
- toggles.put(dataID, section.getBoolean(playerName + suffix, false));
+ if (player != null) {
+ toggles.put(plugin.getPlayerID(player), section.getBoolean(playerName + ".toggle", false));
+ }
}
new BukkitRunnable() {
diff --git a/plugin/plugin-v1_10_R1/pom.xml b/plugin/plugin-v1_10_R1/pom.xml
index 005df7e..d43228f 100644
--- a/plugin/plugin-v1_10_R1/pom.xml
+++ b/plugin/plugin-v1_10_R1/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvplugin
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvpluginv1_10_r1
@@ -37,7 +37,7 @@
com.lishid
openinvcommon
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
diff --git a/plugin/plugin-v1_10_R1/src/main/java/com/lishid/openinv/listeners/InventoryDragListener.java b/plugin/plugin-v1_10_R1/src/main/java/com/lishid/openinv/listeners/InventoryDragListener.java
index 520b762..603073f 100644
--- a/plugin/plugin-v1_10_R1/src/main/java/com/lishid/openinv/listeners/InventoryDragListener.java
+++ b/plugin/plugin-v1_10_R1/src/main/java/com/lishid/openinv/listeners/InventoryDragListener.java
@@ -18,7 +18,6 @@ package com.lishid.openinv.listeners;
import com.lishid.openinv.IOpenInv;
import com.lishid.openinv.util.Permissions;
-
import org.bukkit.entity.HumanEntity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
diff --git a/plugin/pom.xml b/plugin/pom.xml
index ccb3c7b..f48283e 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -21,7 +21,7 @@
com.lishid
openinvparent
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
openinvplugin
diff --git a/pom.xml b/pom.xml
index 707a3c3..3236a43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
openinvparent
OpenInvParent
http://dev.bukkit.org/bukkit-plugins/openinv/
- 3.3.8-SNAPSHOT
+ 4.0.0-SNAPSHOT
pom
@@ -84,6 +84,14 @@
+
+
+ org.jetbrains
+ annotations
+ 17.0.0
+
+
+