diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/core/PlatformManager.java b/mcmmo-core/src/main/java/com/gmail/nossr50/core/PlatformManager.java new file mode 100644 index 000000000..52577f163 --- /dev/null +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/core/PlatformManager.java @@ -0,0 +1,34 @@ +package com.gmail.nossr50.core; + +import com.gmail.nossr50.core.adapters.NMS_114.BukkitPlatformAdapter; +import com.gmail.nossr50.core.adapters.PlatformAdapter; +import com.gmail.nossr50.mcMMO; + +public class PlatformManager { + private PlatformAdapter platformAdapter; + private mcMMO pluginRef; + + public PlatformManager(mcMMO pluginRef) { + this.pluginRef = pluginRef; + initAdapters(); + } + + /** + * Initialize the adapters based on the current platform + */ + private void initAdapters() { + pluginRef.getLogger().info("Initializing platform adapters..."); + //Determine which platform we are on and load the correct adapter + //For now this will be hardcoded for testing purposes + platformAdapter = new BukkitPlatformAdapter(); + } + + /** + * Get the current platform adapter implementation + * @return the current platform adapter + */ + public PlatformAdapter getPlatformAdapter() { + return platformAdapter; + } + +} diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitNBTAdapter.java b/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitNBTAdapter.java index 79cd5b4b9..5b8791f95 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitNBTAdapter.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitNBTAdapter.java @@ -1,10 +1,9 @@ package com.gmail.nossr50.core.adapters.NMS_114; import com.gmail.nossr50.core.adapters.NBTAdapter; -import com.gmail.nossr50.core.nbt.*; import com.gmail.nossr50.core.nbt.NBTBase; import com.gmail.nossr50.core.nbt.NBTList; -import com.gmail.nossr50.core.nbt.NBTCompound; +import com.gmail.nossr50.core.nbt.*; import net.minecraft.server.v1_14_R1.*; public class BukkitNBTAdapter implements NBTAdapter { diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitPlatformAdapter.java b/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitPlatformAdapter.java index c97df31bf..5dee0d806 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitPlatformAdapter.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/core/adapters/NMS_114/BukkitPlatformAdapter.java @@ -1,10 +1,6 @@ package com.gmail.nossr50.core.adapters.NMS_114; -import com.gmail.nossr50.core.adapters.NBTAdapter; import com.gmail.nossr50.core.adapters.PlatformAdapter; -import com.gmail.nossr50.core.nbt.NBTBase; -import com.gmail.nossr50.core.nbt.NBTByte; -import net.minecraft.server.v1_14_R1.NBTTagByte; public class BukkitPlatformAdapter extends PlatformAdapter { @@ -12,6 +8,4 @@ public class BukkitPlatformAdapter extends PlatformAdapter { super(new BukkitNBTAdapter()); } - - } diff --git a/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java b/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java index f6d49b4f8..d25edc1a0 100644 --- a/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/mcmmo-core/src/main/java/com/gmail/nossr50/mcMMO.java @@ -11,6 +11,7 @@ import com.gmail.nossr50.config.scoreboard.ConfigScoreboard; import com.gmail.nossr50.core.DynamicSettingsManager; import com.gmail.nossr50.core.MaterialMapStore; import com.gmail.nossr50.core.MetadataConstants; +import com.gmail.nossr50.core.PlatformManager; import com.gmail.nossr50.database.DatabaseManager; import com.gmail.nossr50.database.DatabaseManagerFactory; import com.gmail.nossr50.datatypes.skills.subskills.acrobatics.Roll; @@ -86,6 +87,7 @@ public class mcMMO extends JavaPlugin { private ScoreboardManager scoreboardManager; private SoundManager soundManager; private HardcoreManager hardcoreManager; + private PlatformManager platformManager; /* Not-Managers but my naming scheme sucks */ private DatabaseManagerFactory databaseManagerFactory; @@ -132,6 +134,9 @@ public class mcMMO extends JavaPlugin { try { getLogger().setFilter(new LogFilter(this)); + //Init PlatformManager + platformManager = new PlatformManager(this); + //TODO: Disgusting... MetadataConstants.metadataValue = new FixedMetadataValue(this, true); @@ -862,4 +867,8 @@ public class mcMMO extends JavaPlugin { public NBTManager getNbtManager() { return nbtManager; } + + public PlatformManager getPlatformManager() { + return platformManager; + } }