From e39ab1079765a419fef9dde12de08ea9501a570f Mon Sep 17 00:00:00 2001 From: Jikoo Date: Mon, 11 Apr 2016 15:44:25 -0400 Subject: [PATCH] Don't load from player.dat for online players Fixes lishid#40 and #5 --- .../lishid/openinv/internal/IPlayerDataManager.java | 13 ++++++++++--- .../openinv/internal/v1_4_5/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_4_6/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_4_R1/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_5_R2/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_5_R3/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_6_R1/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_6_R2/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_6_R3/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_7_R1/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_7_R2/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_7_R3/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_7_R4/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_8_R1/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_8_R2/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_8_R3/PlayerDataManager.java | 4 ++-- .../openinv/internal/v1_9_R1/PlayerDataManager.java | 4 ++-- src/main/resources/plugin.yml | 2 +- 18 files changed, 43 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java index f0c34f3..a8dd4e2 100644 --- a/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/IPlayerDataManager.java @@ -19,8 +19,15 @@ package com.lishid.openinv.internal; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; -public interface IPlayerDataManager { - public Player loadPlayer(OfflinePlayer offline); +public abstract class IPlayerDataManager { + public final Player loadPlayer(OfflinePlayer offline) { + if (offline.isOnline()) { + return offline.getPlayer(); + } + return this.loadOfflinePlayer(offline); + } - public String getPlayerDataID(OfflinePlayer player); + protected abstract Player loadOfflinePlayer(OfflinePlayer offline); + + public abstract String getPlayerDataID(OfflinePlayer player); } diff --git a/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java index d3c7ec8..d5c7061 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_4_5/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_4_5.MinecraftServer; import org.bukkit.craftbukkit.v1_4_5.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java index 6ae3b41..604e6d8 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_4_6/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_4_6.PlayerInteractManager; import org.bukkit.craftbukkit.v1_4_6.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java index 15f7272..21b2c5a 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_4_R1/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.server.v1_4_R1.PlayerInteractManager; import org.bukkit.craftbukkit.v1_4_R1.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java index b6ea8a0..59d14d8 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_5_R2/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_5_R2.PlayerInteractManager; import org.bukkit.craftbukkit.v1_5_R2.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java index 679411f..3f6589c 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_5_R3/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_5_R3.PlayerInteractManager; import org.bukkit.craftbukkit.v1_5_R3.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java index a73798c..e0f2b73 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_6_R1/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_6_R1.PlayerInteractManager; import org.bukkit.craftbukkit.v1_6_R1.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java index 351aec5..5256ea6 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_6_R2/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_6_R2.PlayerInteractManager; import org.bukkit.craftbukkit.v1_6_R2.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java index d340d47..c96aea2 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_6_R3/PlayerDataManager.java @@ -29,10 +29,10 @@ import net.minecraft.server.v1_6_R3.PlayerInteractManager; import org.bukkit.craftbukkit.v1_6_R3.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java index 7b67ac5..d9d173a 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_7_R1/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.util.com.mojang.authlib.GameProfile; import org.bukkit.craftbukkit.v1_7_R1.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(null, offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java index b76a257..c262a0a 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_7_R2/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.util.com.mojang.authlib.GameProfile; import org.bukkit.craftbukkit.v1_7_R2.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(null, offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java index 66bc1ae..7ccc30e 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_7_R3/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.util.com.mojang.authlib.GameProfile; import org.bukkit.craftbukkit.v1_7_R3.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(offline.getUniqueId(), offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java index e2c84f4..c9d7b43 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_7_R4/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.util.com.mojang.authlib.GameProfile; import org.bukkit.craftbukkit.v1_7_R4.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(offline.getUniqueId(), offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java index 81465a5..4364ae4 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_8_R1/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.server.v1_8_R1.PlayerInteractManager; //Volatile import org.bukkit.craftbukkit.v1_8_R1.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { GameProfile profile = new GameProfile(offline.getUniqueId(), offline.getName()); MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); // Create an entity to load the player data diff --git a/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java index 8e1815e..0b61df4 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_8_R2/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.server.v1_8_R2.PlayerInteractManager; import org.bukkit.craftbukkit.v1_8_R2.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(offline.getUniqueId(), offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java index 61b136b..e3f2dd4 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_8_R3/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.server.v1_8_R3.PlayerInteractManager; //Volatile import org.bukkit.craftbukkit.v1_8_R3.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { MinecraftServer server = ((CraftServer) Bukkit.getServer()).getServer(); GameProfile profile = new GameProfile(offline.getUniqueId(), offline.getName()); diff --git a/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java b/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java index f78104b..b6aa87c 100644 --- a/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java +++ b/src/main/java/com/lishid/openinv/internal/v1_9_R1/PlayerDataManager.java @@ -30,10 +30,10 @@ import net.minecraft.server.v1_9_R1.PlayerInteractManager; import org.bukkit.craftbukkit.v1_9_R1.CraftServer; -public class PlayerDataManager implements IPlayerDataManager { +public class PlayerDataManager extends IPlayerDataManager { @Override - public Player loadPlayer(OfflinePlayer offline) { + public Player loadOfflinePlayer(OfflinePlayer offline) { if (offline == null || !offline.hasPlayedBefore()) { return null; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 32f59f1..6f2a8fb 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: OpenInv main: com.lishid.openinv.OpenInv -version: 2.3.0 +version: 2.4.1 author: lishid authors: [Jikoo] description: >