Configuration to disable saving of offline players, bugfixing

Edits made to online players will still work. Edits made to offline players will work if they log in before the ISpecialPlayerInventory is unloaded (currently before the plugin unloads).
Closes #6
Refactored IPlayerDataManager to PlayerDataManager, it's no longer an interface.
Fixed a bug with players' online state initially being inverted
This commit is contained in:
Jikoo
2016-04-18 14:37:05 -04:00
parent 7256494df3
commit a929eeeb69
56 changed files with 319 additions and 197 deletions

View File

@@ -4,9 +4,10 @@ This fork of OpenInv was created when the lag caused by offline player lookups p
### Changes of Note ### Changes of Note
- Removed updater - Removed updater
- Removed wand - Removed wand
- New configuration option `DisableSaving`: Inventory edits will not be saved unless the user is online.
## Previous Versions ## Previous Versions
Any version of Minecraft this fork has been existent for should have a [release](https://github.com/Jikoo/OpenInv/releases) tagged. Features are not backported, however. This fork supports any version after 1.4.5. Binaries are available in the [releases tab](https://github.com/Jikoo/OpenInv/releases). Please allow a brief period after the release of a new version for updates.
## License ## License
``` ```

View File

@@ -34,10 +34,10 @@ import com.lishid.openinv.commands.SearchInvPluginCommand;
import com.lishid.openinv.commands.SilentChestPluginCommand; import com.lishid.openinv.commands.SilentChestPluginCommand;
import com.lishid.openinv.internal.IAnySilentChest; import com.lishid.openinv.internal.IAnySilentChest;
import com.lishid.openinv.internal.IInventoryAccess; import com.lishid.openinv.internal.IInventoryAccess;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
import com.lishid.openinv.internal.InternalAccessor; import com.lishid.openinv.internal.InternalAccessor;
import com.lishid.openinv.internal.PlayerDataManager;
/** /**
* Open other player's inventory * Open other player's inventory
@@ -50,7 +50,7 @@ public class OpenInv extends JavaPlugin {
private final Map<String, ISpecialEnderChest> enderChests = new HashMap<String, ISpecialEnderChest>(); private final Map<String, ISpecialEnderChest> enderChests = new HashMap<String, ISpecialEnderChest>();
private InternalAccessor accessor; private InternalAccessor accessor;
private IPlayerDataManager playerLoader; private PlayerDataManager playerLoader;
private IInventoryAccess inventoryAccess; private IInventoryAccess inventoryAccess;
private IAnySilentChest anySilentChest; private IAnySilentChest anySilentChest;
@@ -73,12 +73,26 @@ public class OpenInv extends JavaPlugin {
anySilentChest = accessor.newAnySilentChest(); anySilentChest = accessor.newAnySilentChest();
FileConfiguration config = getConfig(); FileConfiguration config = getConfig();
config.set("NotifySilentChest", config.getBoolean("NotifySilentChest", true)); boolean dirtyConfig = false;
config.set("NotifyAnyChest", config.getBoolean("NotifyAnyChest", true)); if (!config.isBoolean("NotifySilentChest")) {
config.set("NotifySilentChest", true);
dirtyConfig = true;
}
if (!config.isBoolean("NotifyAnyChest")) {
config.set("NotifyAnyChest", true);
dirtyConfig = true;
}
if (!config.isBoolean("DisableSaving")) {
config.set("DisableSaving", false);
dirtyConfig = true;
}
config.addDefault("NotifySilentChest", true); config.addDefault("NotifySilentChest", true);
config.addDefault("NotifyAnyChest", true); config.addDefault("NotifyAnyChest", true);
config.addDefault("DisableSaving", false);
config.options().copyDefaults(true); config.options().copyDefaults(true);
saveConfig(); if (dirtyConfig) {
saveConfig();
}
pm.registerEvents(new OpenInvPlayerListener(this), this); pm.registerEvents(new OpenInvPlayerListener(this), this);
pm.registerEvents(new OpenInvInventoryListener(this), this); pm.registerEvents(new OpenInvInventoryListener(this), this);
@@ -95,7 +109,7 @@ public class OpenInv extends JavaPlugin {
return this.accessor; return this.accessor;
} }
public IPlayerDataManager getPlayerLoader() { public PlayerDataManager getPlayerLoader() {
return this.playerLoader; return this.playerLoader;
} }
@@ -115,12 +129,12 @@ public class OpenInv extends JavaPlugin {
return null; return null;
} }
public ISpecialPlayerInventory getOrCreateInventoryFor(Player player, boolean offline) { public ISpecialPlayerInventory getOrCreateInventoryFor(Player player, boolean online) {
String id = getPlayerLoader().getPlayerDataID(player); String id = getPlayerLoader().getPlayerDataID(player);
if (inventories.containsKey(id)) { if (inventories.containsKey(id)) {
return inventories.get(id); return inventories.get(id);
} }
ISpecialPlayerInventory inv = getInternalAccessor().newSpecialPlayerInventory(player, offline); ISpecialPlayerInventory inv = getInternalAccessor().newSpecialPlayerInventory(player, online);
inventories.put(id, inv); inventories.put(id, inv);
return inv; return inv;
} }
@@ -140,12 +154,12 @@ public class OpenInv extends JavaPlugin {
return null; return null;
} }
public ISpecialEnderChest getOrCreateEnderChestFor(Player player, boolean offline) { public ISpecialEnderChest getOrCreateEnderChestFor(Player player, boolean online) {
String id = getPlayerLoader().getPlayerDataID(player); String id = getPlayerLoader().getPlayerDataID(player);
if (enderChests.containsKey(id)) { if (enderChests.containsKey(id)) {
return enderChests.get(id); return enderChests.get(id);
} }
ISpecialEnderChest inv = getInternalAccessor().newSpecialEnderChest(player, offline); ISpecialEnderChest inv = getInternalAccessor().newSpecialEnderChest(player, online);
enderChests.put(id, inv); enderChests.put(id, inv);
return inv; return inv;
} }
@@ -157,6 +171,10 @@ public class OpenInv extends JavaPlugin {
} }
} }
public boolean disableSaving() {
return getConfig().getBoolean("DisableSaving", false);
}
public boolean notifySilentChest() { public boolean notifySilentChest() {
return getConfig().getBoolean("NotifySilentChest", true); return getConfig().getBoolean("NotifySilentChest", true);
} }

View File

@@ -32,13 +32,9 @@ public class OpenInvInventoryListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL) @EventHandler(priority = EventPriority.NORMAL)
public void onInventoryClick(InventoryClickEvent event) { public void onInventoryClick(InventoryClickEvent event) {
// If this is the top inventory
// if (event.getView().convertSlot(event.getRawSlot()) == event.getRawSlot())
// {
if (!plugin.getInventoryAccess().check(event.getInventory(), event.getWhoClicked())) { if (!plugin.getInventoryAccess().check(event.getInventory(), event.getWhoClicked())) {
event.setCancelled(true); event.setCancelled(true);
} }
// }
} }
@EventHandler(priority = EventPriority.NORMAL) @EventHandler(priority = EventPriority.NORMAL)

View File

@@ -107,7 +107,9 @@ public class OpenEnderPluginCommand implements CommandExecutor {
private void openInventory(Player player, OfflinePlayer target) { private void openInventory(Player player, OfflinePlayer target) {
Player onlineTarget; Player onlineTarget;
if (!target.isOnline()) { boolean online = target.isOnline();
if (!online) {
// Try loading the player's data // Try loading the player's data
onlineTarget = plugin.getPlayerLoader().loadPlayer(target); onlineTarget = plugin.getPlayerLoader().loadPlayer(target);
@@ -129,7 +131,7 @@ public class OpenEnderPluginCommand implements CommandExecutor {
openEnderHistory.put(player, onlineTarget.getName()); openEnderHistory.put(player, onlineTarget.getName());
// Create the inventory // Create the inventory
ISpecialEnderChest chest = plugin.getOrCreateEnderChestFor(onlineTarget, !target.isOnline()); ISpecialEnderChest chest = plugin.getOrCreateEnderChestFor(onlineTarget, online);
// Open the inventory // Open the inventory
player.openInventory(chest.getBukkitInventory()); player.openInventory(chest.getBukkitInventory());

View File

@@ -108,8 +108,9 @@ public class OpenInvPluginCommand implements CommandExecutor {
Player onlineTarget; Player onlineTarget;
boolean online = target.isOnline();
if (!target.isOnline()) { if (!online) {
// Try loading the player's data // Try loading the player's data
onlineTarget = plugin.getPlayerLoader().loadPlayer(target); onlineTarget = plugin.getPlayerLoader().loadPlayer(target);
@@ -143,7 +144,7 @@ public class OpenInvPluginCommand implements CommandExecutor {
openInvHistory.put(player, onlineTarget.getName()); openInvHistory.put(player, onlineTarget.getName());
// Create the inventory // Create the inventory
ISpecialPlayerInventory inv = plugin.getOrCreateInventoryFor(onlineTarget, !target.isOnline()); ISpecialPlayerInventory inv = plugin.getOrCreateInventoryFor(onlineTarget, online);
// Open the inventory // Open the inventory
player.openInventory(inv.getBukkitInventory()); player.openInventory(inv.getBukkitInventory());

View File

@@ -55,8 +55,8 @@ public class InternalAccessor {
plugin.getLogger().warning("OpenInv encountered an error with the CraftBukkit version \"" + version + "\". Please look for an updated version of OpenInv."); plugin.getLogger().warning("OpenInv encountered an error with the CraftBukkit version \"" + version + "\". Please look for an updated version of OpenInv.");
} }
public IPlayerDataManager newPlayerDataManager() { public PlayerDataManager newPlayerDataManager() {
return (IPlayerDataManager) createObject(IPlayerDataManager.class, "PlayerDataManager"); return (PlayerDataManager) createObject(PlayerDataManager.class, "PlayerDataManager");
} }
public IInventoryAccess newInventoryAccess() { public IInventoryAccess newInventoryAccess() {
@@ -71,7 +71,9 @@ public class InternalAccessor {
try { try {
Class<?> internalClass = Class.forName("com.lishid.openinv.internal." + version + ".SpecialPlayerInventory"); Class<?> internalClass = Class.forName("com.lishid.openinv.internal." + version + ".SpecialPlayerInventory");
if (ISpecialPlayerInventory.class.isAssignableFrom(internalClass)) { if (ISpecialPlayerInventory.class.isAssignableFrom(internalClass)) {
return (ISpecialPlayerInventory) internalClass.getConstructor(Player.class, Boolean.class).newInstance(player, offline); return (ISpecialPlayerInventory) internalClass
.getConstructor(OpenInv.class, Player.class, Boolean.class)
.newInstance(this.plugin, player, offline);
} }
} }
catch (Exception e) { catch (Exception e) {
@@ -86,7 +88,9 @@ public class InternalAccessor {
try { try {
Class<?> internalClass = Class.forName("com.lishid.openinv.internal." + version + ".SpecialEnderChest"); Class<?> internalClass = Class.forName("com.lishid.openinv.internal." + version + ".SpecialEnderChest");
if (ISpecialEnderChest.class.isAssignableFrom(internalClass)) { if (ISpecialEnderChest.class.isAssignableFrom(internalClass)) {
return (ISpecialEnderChest) internalClass.getConstructor(Player.class, Boolean.class).newInstance(player, offline); return (ISpecialEnderChest) internalClass
.getConstructor(OpenInv.class, Player.class, Boolean.class)
.newInstance(this.plugin, player, offline);
} }
} }
catch (Exception e) { catch (Exception e) {

View File

@@ -19,7 +19,7 @@ package com.lishid.openinv.internal;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public abstract class IPlayerDataManager { public abstract class PlayerDataManager {
public final Player loadPlayer(OfflinePlayer offline) { public final Player loadPlayer(OfflinePlayer offline) {
if (offline.isOnline()) { if (offline.isOnline()) {
return offline.getPlayer(); return offline.getPlayer();

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_4_5.EntityPlayer; import net.minecraft.server.v1_4_5.EntityPlayer;
import net.minecraft.server.v1_4_5.ItemInWorldManager; import net.minecraft.server.v1_4_5.ItemInWorldManager;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_4_5.MinecraftServer;
import org.bukkit.craftbukkit.v1_4_5.CraftServer; import org.bukkit.craftbukkit.v1_4_5.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_4_5.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_4_5;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_4_5.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_5.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_4_6.EntityPlayer; import net.minecraft.server.v1_4_6.EntityPlayer;
import net.minecraft.server.v1_4_6.MinecraftServer; import net.minecraft.server.v1_4_6.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_4_6.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_4_6.CraftServer; import org.bukkit.craftbukkit.v1_4_6.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_4_6;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_4_6.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_6.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
import net.minecraft.server.v1_4_R1.EntityPlayer; import net.minecraft.server.v1_4_R1.EntityPlayer;
import net.minecraft.server.v1_4_R1.MinecraftServer; import net.minecraft.server.v1_4_R1.MinecraftServer;
import net.minecraft.server.v1_4_R1.PlayerInteractManager; import net.minecraft.server.v1_4_R1.PlayerInteractManager;
@@ -30,7 +28,7 @@ import net.minecraft.server.v1_4_R1.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_4_R1.CraftServer; import org.bukkit.craftbukkit.v1_4_R1.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
// Volatile // Volatile
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_4_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_4_R1;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
import net.minecraft.server.v1_4_R1.EntityHuman; import net.minecraft.server.v1_4_R1.EntityHuman;
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_4_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_5_R2.EntityPlayer; import net.minecraft.server.v1_5_R2.EntityPlayer;
import net.minecraft.server.v1_5_R2.MinecraftServer; import net.minecraft.server.v1_5_R2.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_5_R2.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_5_R2.CraftServer; import org.bukkit.craftbukkit.v1_5_R2.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_5_R2;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_5_R3.EntityPlayer; import net.minecraft.server.v1_5_R3.EntityPlayer;
import net.minecraft.server.v1_5_R3.MinecraftServer; import net.minecraft.server.v1_5_R3.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_5_R3.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_5_R3.CraftServer; import org.bukkit.craftbukkit.v1_5_R3.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_5_R3;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_5_R3.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_6_R1.EntityPlayer; import net.minecraft.server.v1_6_R1.EntityPlayer;
import net.minecraft.server.v1_6_R1.MinecraftServer; import net.minecraft.server.v1_6_R1.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_6_R1.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_6_R1.CraftServer; import org.bukkit.craftbukkit.v1_6_R1.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_6_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_6_R1;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -32,13 +33,16 @@ import org.bukkit.craftbukkit.v1_6_R1.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -53,7 +57,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_6_R2.EntityPlayer; import net.minecraft.server.v1_6_R2.EntityPlayer;
import net.minecraft.server.v1_6_R2.MinecraftServer; import net.minecraft.server.v1_6_R2.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_6_R2.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_6_R2.CraftServer; import org.bukkit.craftbukkit.v1_6_R2.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_6_R2;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_6_R3.EntityPlayer; import net.minecraft.server.v1_6_R3.EntityPlayer;
import net.minecraft.server.v1_6_R3.MinecraftServer; import net.minecraft.server.v1_6_R3.MinecraftServer;
@@ -29,7 +27,7 @@ import net.minecraft.server.v1_6_R3.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_6_R3.CraftServer; import org.bukkit.craftbukkit.v1_6_R3.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().c(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_6_R3;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_6_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_7_R1.EntityPlayer; import net.minecraft.server.v1_7_R1.EntityPlayer;
import net.minecraft.server.v1_7_R1.MinecraftServer; import net.minecraft.server.v1_7_R1.MinecraftServer;
@@ -30,7 +28,7 @@ import net.minecraft.util.com.mojang.authlib.GameProfile;
import org.bukkit.craftbukkit.v1_7_R1.CraftServer; import org.bukkit.craftbukkit.v1_7_R1.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_7_R1;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_7_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
//Volatile //Volatile
import net.minecraft.server.v1_7_R2.EntityPlayer; import net.minecraft.server.v1_7_R2.EntityPlayer;
import net.minecraft.server.v1_7_R2.MinecraftServer; import net.minecraft.server.v1_7_R2.MinecraftServer;
@@ -30,7 +28,7 @@ import net.minecraft.util.com.mojang.authlib.GameProfile;
import org.bukkit.craftbukkit.v1_7_R2.CraftServer; import org.bukkit.craftbukkit.v1_7_R2.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_7_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_7_R2;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_7_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R2.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_7_R3.EntityPlayer; import net.minecraft.server.v1_7_R3.EntityPlayer;
import net.minecraft.server.v1_7_R3.MinecraftServer; import net.minecraft.server.v1_7_R3.MinecraftServer;
@@ -30,7 +28,7 @@ import net.minecraft.util.com.mojang.authlib.GameProfile;
import org.bukkit.craftbukkit.v1_7_R3.CraftServer; import org.bukkit.craftbukkit.v1_7_R3.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_7_R3;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,8 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
// Volatile // Volatile
import net.minecraft.server.v1_7_R4.EntityPlayer; import net.minecraft.server.v1_7_R4.EntityPlayer;
import net.minecraft.server.v1_7_R4.MinecraftServer; import net.minecraft.server.v1_7_R4.MinecraftServer;
@@ -30,7 +28,7 @@ import net.minecraft.util.com.mojang.authlib.GameProfile;
import org.bukkit.craftbukkit.v1_7_R4.CraftServer; import org.bukkit.craftbukkit.v1_7_R4.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
//Volatile //Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getInventoryName(), ((CraftPlayer) p).getHandle().getEnderChest().k_(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_7_R4;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,7 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
import net.minecraft.server.v1_8_R1.EntityPlayer; import net.minecraft.server.v1_8_R1.EntityPlayer;
@@ -30,7 +29,7 @@ import net.minecraft.server.v1_8_R1.PlayerInteractManager;
//Volatile //Volatile
import org.bukkit.craftbukkit.v1_8_R1.CraftServer; import org.bukkit.craftbukkit.v1_8_R1.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
import net.minecraft.server.v1_8_R1.EntityHuman; import net.minecraft.server.v1_8_R1.EntityHuman;
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_8_R1;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
import net.minecraft.server.v1_8_R1.EntityHuman; import net.minecraft.server.v1_8_R1.EntityHuman;
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,7 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
// Volatile // Volatile
@@ -30,7 +29,7 @@ import net.minecraft.server.v1_8_R2.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_8_R2.CraftServer; import org.bukkit.craftbukkit.v1_8_R2.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_8_R2;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,7 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
import net.minecraft.server.v1_8_R3.EntityPlayer; import net.minecraft.server.v1_8_R3.EntityPlayer;
@@ -30,7 +29,7 @@ import net.minecraft.server.v1_8_R3.PlayerInteractManager;
//Volatile //Volatile
import org.bukkit.craftbukkit.v1_8_R3.CraftServer; import org.bukkit.craftbukkit.v1_8_R3.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -19,6 +19,7 @@ package com.lishid.openinv.internal.v1_8_R3;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
//Volatile //Volatile
@@ -31,13 +32,16 @@ import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[5]; private final ItemStack[] extra = new ItemStack[5];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
this.items = player.inventory.items; this.items = player.inventory.items;
@@ -52,7 +56,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -20,7 +20,6 @@ import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.lishid.openinv.internal.IPlayerDataManager;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
// Volatile // Volatile
@@ -30,7 +29,7 @@ import net.minecraft.server.v1_9_R1.PlayerInteractManager;
import org.bukkit.craftbukkit.v1_9_R1.CraftServer; import org.bukkit.craftbukkit.v1_9_R1.CraftServer;
public class PlayerDataManager extends IPlayerDataManager { public class PlayerDataManager extends com.lishid.openinv.internal.PlayerDataManager {
@Override @Override
public Player loadOfflinePlayer(OfflinePlayer offline) { public Player loadOfflinePlayer(OfflinePlayer offline) {

View File

@@ -25,6 +25,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.InventoryHolder;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialEnderChest; import com.lishid.openinv.internal.ISpecialEnderChest;
// Volatile // Volatile
@@ -39,15 +40,18 @@ import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory;
public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest { public class SpecialEnderChest extends InventorySubcontainer implements IInventory, ISpecialEnderChest {
private final OpenInv plugin;
private final InventoryEnderChest enderChest;
private final CraftInventory inventory = new CraftInventory(this);
public List<HumanEntity> transaction = new ArrayList<HumanEntity>(); public List<HumanEntity> transaction = new ArrayList<HumanEntity>();
public boolean playerOnline = false; public boolean playerOnline = false;
private CraftPlayer owner; private CraftPlayer owner;
private final InventoryEnderChest enderChest;
private int maxStack = MAX_STACK; private int maxStack = MAX_STACK;
private final CraftInventory inventory = new CraftInventory(this);
public SpecialEnderChest(Player p, Boolean online) { public SpecialEnderChest(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize()); super(((CraftPlayer) p).getHandle().getEnderChest().getName(), ((CraftPlayer) p).getHandle().getEnderChest().hasCustomName(), ((CraftPlayer) p).getHandle().getEnderChest().getSize());
this.plugin = plugin;
CraftPlayer player = (CraftPlayer) p; CraftPlayer player = (CraftPlayer) p;
this.enderChest = player.getHandle().getEnderChest(); this.enderChest = player.getHandle().getEnderChest();
this.owner = player; this.owner = player;
@@ -62,7 +66,7 @@ public class SpecialEnderChest extends InventorySubcontainer implements IInvento
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -22,6 +22,7 @@ import java.lang.reflect.Modifier;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import com.lishid.openinv.OpenInv;
import com.lishid.openinv.internal.ISpecialPlayerInventory; import com.lishid.openinv.internal.ISpecialPlayerInventory;
// Volatile // Volatile
@@ -34,13 +35,16 @@ import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory;
public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory { public class SpecialPlayerInventory extends PlayerInventory implements ISpecialPlayerInventory {
CraftPlayer owner;
public boolean playerOnline = false; private final OpenInv plugin;
private final ItemStack[] extra = new ItemStack[4]; private final ItemStack[] extra = new ItemStack[4];
private final CraftInventory inventory = new CraftInventory(this); private final CraftInventory inventory = new CraftInventory(this);
private CraftPlayer owner;
private boolean playerOnline = false;
public SpecialPlayerInventory(Player p, Boolean online) { public SpecialPlayerInventory(OpenInv plugin, Player p, Boolean online) {
super(((CraftPlayer) p).getHandle()); super(((CraftPlayer) p).getHandle());
this.plugin = plugin;
this.owner = ((CraftPlayer) p); this.owner = ((CraftPlayer) p);
this.playerOnline = online; this.playerOnline = online;
setItemArrays(this, player.inventory.items, player.inventory.armor, player.inventory.extraSlots); setItemArrays(this, player.inventory.items, player.inventory.armor, player.inventory.extraSlots);
@@ -91,7 +95,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP
@Override @Override
public boolean inventoryRemovalCheck(boolean save) { public boolean inventoryRemovalCheck(boolean save) {
boolean offline = transaction.isEmpty() && !playerOnline; boolean offline = transaction.isEmpty() && !playerOnline;
if (offline && save) { if (offline && save && !plugin.disableSaving()) {
owner.saveData(); owner.saveData();
} }
return offline; return offline;

View File

@@ -1,6 +1,6 @@
name: OpenInv name: OpenInv
main: com.lishid.openinv.OpenInv main: com.lishid.openinv.OpenInv
version: 2.4.3 version: 2.4.4
author: lishid author: lishid
authors: [Jikoo] authors: [Jikoo]
description: > description: >