From 3032572f1805e50d2ec15ce2e5751be237e0760f Mon Sep 17 00:00:00 2001 From: NuclearW Date: Tue, 15 May 2012 01:43:34 -0400 Subject: [PATCH] New factories means more jobs for a better economy --- src/main/java/com/gmail/nossr50/mcMMO.java | 7 +++++-- .../nossr50/util/blockmeta/ChunkletManagerFactory.java | 8 ++++++++ .../nossr50/util/blockmeta/ChunkletStoreFactory.java | 8 ++++++++ .../gmail/nossr50/util/blockmeta/HashChunkletManager.java | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletManagerFactory.java create mode 100644 src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletStoreFactory.java diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index ff400410c..11e522d89 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -15,7 +15,7 @@ import com.gmail.nossr50.util.Leaderboard; import com.gmail.nossr50.util.Metrics; import com.gmail.nossr50.util.Users; import com.gmail.nossr50.util.blockmeta.ChunkletManager; -import com.gmail.nossr50.util.blockmeta.HashChunkletManager; +import com.gmail.nossr50.util.blockmeta.ChunkletManagerFactory; import com.gmail.nossr50.listeners.BlockListener; import com.gmail.nossr50.listeners.EntityListener; import com.gmail.nossr50.listeners.HardcoreListener; @@ -54,7 +54,7 @@ public class mcMMO extends JavaPlugin { public static Database database; public static mcMMO p; - public static ChunkletManager placeStore = new HashChunkletManager(); + public static ChunkletManager placeStore; /* Jar Stuff */ public File mcmmo; @@ -132,6 +132,9 @@ public class mcMMO extends JavaPlugin { System.out.println("Failed to submit stats."); } } + + // Get our ChunkletManager + placeStore = ChunkletManagerFactory.getChunkletManager(); } public void setupFilePaths() { diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletManagerFactory.java b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletManagerFactory.java new file mode 100644 index 000000000..2910f801c --- /dev/null +++ b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletManagerFactory.java @@ -0,0 +1,8 @@ +package com.gmail.nossr50.util.blockmeta; + +public class ChunkletManagerFactory { + public static ChunkletManager getChunkletManager() { + // TODO: Add in loading from config what type of manager we want. + return new HashChunkletManager(); + } +} diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletStoreFactory.java b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletStoreFactory.java new file mode 100644 index 000000000..aae2d3ff1 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkletStoreFactory.java @@ -0,0 +1,8 @@ +package com.gmail.nossr50.util.blockmeta; + +public class ChunkletStoreFactory { + protected static ChunkletStore getChunkletStore() { + // TODO: Add in loading from config what type of store we want. + return new PrimitiveChunkletStore(); + } +} diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/HashChunkletManager.java b/src/main/java/com/gmail/nossr50/util/blockmeta/HashChunkletManager.java index ee225be73..900b9df99 100644 --- a/src/main/java/com/gmail/nossr50/util/blockmeta/HashChunkletManager.java +++ b/src/main/java/com/gmail/nossr50/util/blockmeta/HashChunkletManager.java @@ -132,7 +132,7 @@ public class HashChunkletManager implements ChunkletManager { ChunkletStore cStore; if(!store.containsKey(world.getName() + "," + cx + "," + cz + "," + cy)) { - cStore = new PrimitiveChunkletStore(); + cStore = ChunkletStoreFactory.getChunkletStore(); store.put(world.getName() + "," + cx + "," + cz + "," + cy, cStore); }