diff --git a/src/com/massivecraft/massivecore/AspectColl.java b/src/com/massivecraft/massivecore/AspectColl.java index 89850802..31c8086f 100644 --- a/src/com/massivecraft/massivecore/AspectColl.java +++ b/src/com/massivecraft/massivecore/AspectColl.java @@ -18,6 +18,16 @@ public class AspectColl extends Coll { super("massivecore_aspect", Aspect.class, MStore.getDb("default"), MassiveCore.get()); } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } // -------------------------------------------- // // EXTRAS diff --git a/src/com/massivecraft/massivecore/EngineCollTick.java b/src/com/massivecraft/massivecore/EngineCollTick.java new file mode 100644 index 00000000..65efba34 --- /dev/null +++ b/src/com/massivecraft/massivecore/EngineCollTick.java @@ -0,0 +1,45 @@ +package com.massivecraft.massivecore; + +import org.bukkit.plugin.Plugin; + +import com.massivecraft.massivecore.store.Coll; + +public class EngineCollTick extends EngineAbstract +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + protected static EngineCollTick i = new EngineCollTick(); + public static EngineCollTick get() { return i; } + + // -------------------------------------------- // + // OVERRIDE: ENGINE + // -------------------------------------------- // + + @Override + public Plugin getPlugin() + { + return MassiveCore.get(); + } + + @Override + public Long getPeriod() + { + return 1L; + } + + // -------------------------------------------- // + // OVERRIDE: RUNNABLE + // -------------------------------------------- // + + @Override + public void run() + { + for (Coll coll : Coll.getInstances()) + { + coll.onTick(); + } + } + +} diff --git a/src/com/massivecraft/massivecore/MassiveCore.java b/src/com/massivecraft/massivecore/MassiveCore.java index f8620188..f7a165f3 100644 --- a/src/com/massivecraft/massivecore/MassiveCore.java +++ b/src/com/massivecraft/massivecore/MassiveCore.java @@ -44,7 +44,6 @@ import com.massivecraft.massivecore.integration.vault.IntegrationVault; import com.massivecraft.massivecore.mixin.EngineTeleportMixinCause; import com.massivecraft.massivecore.ps.PS; import com.massivecraft.massivecore.ps.PSAdapter; -import com.massivecraft.massivecore.store.Coll; import com.massivecraft.massivecore.store.ExamineThread; import com.massivecraft.massivecore.teleport.EngineScheduledTeleport; import com.massivecraft.massivecore.util.IdUtil; @@ -141,19 +140,6 @@ public class MassiveCore extends MassivePlugin private CmdMassiveCoreCmdurl outerCmdMassiveCoreCmdurl; public CmdMassiveCoreCmdurl getOuterCmdMassiveCoreCmdurl() { return this.outerCmdMassiveCoreCmdurl; } - // Runnables - // TODO: Make this one a singleton - private Runnable collTickTask = new Runnable() - { - public void run() - { - for (Coll coll : Coll.getInstances()) - { - coll.onTick(); - } - } - }; - // -------------------------------------------- // // OVERRIDE // -------------------------------------------- // @@ -178,7 +164,8 @@ public class MassiveCore extends MassivePlugin // Setup IdUtil IdUtil.setup(); - // Register events + // Engine + EngineCollTick.get().activate(); MassiveCoreEngineMain.get().activate(); MassiveCoreEngineVariable.get().activate(); EngineScheduledTeleport.get().activate(); @@ -187,9 +174,6 @@ public class MassiveCore extends MassivePlugin MassiveCoreEngineCommandRegistration.get().activate(); PlayerUtil.get().activate(); - // Tasks - Bukkit.getScheduler().scheduleSyncRepeatingTask(this, this.collTickTask, 1, 1); - // Collections MultiverseColl.get().init(); AspectColl.get().init(); diff --git a/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java b/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java index 5c35a83a..0aaa5a89 100644 --- a/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java +++ b/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java @@ -16,6 +16,16 @@ public class MassiveCoreMConfColl extends Coll { super("massivecore_mconf", MassiveCoreMConf.class, MStore.getDb(ConfServer.dburi), MassiveCore.get()); } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } // -------------------------------------------- // // OVERRIDE diff --git a/src/com/massivecraft/massivecore/MultiverseColl.java b/src/com/massivecraft/massivecore/MultiverseColl.java index 6c4bd137..c4c9bd96 100644 --- a/src/com/massivecraft/massivecore/MultiverseColl.java +++ b/src/com/massivecraft/massivecore/MultiverseColl.java @@ -15,6 +15,16 @@ public class MultiverseColl extends Coll { super("massivecore_multiverse", Multiverse.class, MStore.getDb("default"), MassiveCore.get()); } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } // -------------------------------------------- // // EXTRAS diff --git a/src/com/massivecraft/massivecore/store/SenderColl.java b/src/com/massivecraft/massivecore/store/SenderColl.java index 6353feec..daba4013 100644 --- a/src/com/massivecraft/massivecore/store/SenderColl.java +++ b/src/com/massivecraft/massivecore/store/SenderColl.java @@ -33,6 +33,16 @@ public class SenderColl> extends Coll implements Se { super(name, entityClass, db, plugin, true, true, true); } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } // -------------------------------------------- // // OVERRIDE: Coll