Fixed stupid memory lag. Managers are now using Singleton-pattern!

This commit is contained in:
0xSeb
2015-10-29 01:26:08 +01:00
parent 676bc0aed9
commit 13353094e3
3 changed files with 20 additions and 3 deletions
@@ -107,7 +107,7 @@ public class CraftingKeys {
if (currentScreen instanceof GuiCrafting) { if (currentScreen instanceof GuiCrafting) {
ContainerManager con = new CraftingManager( ContainerManager con = CraftingManager.getInstance(
((GuiCrafting) currentScreen).inventorySlots); ((GuiCrafting) currentScreen).inventorySlots);
con.acceptKey(); con.acceptKey();
@@ -21,7 +21,7 @@ public abstract class ContainerManager {
* *
* @param container The container to work with * @param container The container to work with
*/ */
public ContainerManager(Container container) { protected ContainerManager(Container container) {
this.container = container; this.container = container;
} }
@@ -12,15 +12,32 @@ import org.lwjgl.input.Keyboard;
public class CraftingManager extends ContainerManager { public class CraftingManager extends ContainerManager {
private static CraftingManager instance = null;
/** /**
* Creates a new Crafting Manager with the given container. * Creates a new Crafting Manager with the given container.
* *
* @param container The container from a crafting GUI * @param container The container from a crafting GUI
*/ */
public CraftingManager(Container container) { private CraftingManager(Container container) {
super(container); super(container);
} }
/**
* Returns a Crafting Manager Instance operating on the given container
*
* @param container A container from a GUI
* @return manager-singleton
*/
public static CraftingManager getInstance(Container container) {
if (instance == null) {
instance = new CraftingManager(container);
} else {
instance.container = container;
}
return instance;
}
@Override @Override
public void acceptKey() { public void acceptKey() {