From aacf91805845973fbb645292ffb29c253b4deb1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20Ulf=20J=C3=B8rgensen?= Date: Fri, 10 Mar 2017 21:40:31 +0100 Subject: [PATCH] Clean up activation --- src/com/massivecraft/factions/Factions.java | 149 +++----------------- 1 file changed, 18 insertions(+), 131 deletions(-) diff --git a/src/com/massivecraft/factions/Factions.java b/src/com/massivecraft/factions/Factions.java index 8e7bbeea..24fb98ab 100644 --- a/src/com/massivecraft/factions/Factions.java +++ b/src/com/massivecraft/factions/Factions.java @@ -4,69 +4,21 @@ import com.massivecraft.factions.adapter.BoardAdapter; import com.massivecraft.factions.adapter.BoardMapAdapter; import com.massivecraft.factions.adapter.RelAdapter; import com.massivecraft.factions.adapter.TerritoryAccessAdapter; -import com.massivecraft.factions.chat.modifier.ChatModifierLc; -import com.massivecraft.factions.chat.modifier.ChatModifierLp; -import com.massivecraft.factions.chat.modifier.ChatModifierParse; -import com.massivecraft.factions.chat.modifier.ChatModifierRp; -import com.massivecraft.factions.chat.modifier.ChatModifierUc; -import com.massivecraft.factions.chat.modifier.ChatModifierUcf; -import com.massivecraft.factions.chat.tag.ChatTagName; -import com.massivecraft.factions.chat.tag.ChatTagNameforce; -import com.massivecraft.factions.chat.tag.ChatTagRelcolor; -import com.massivecraft.factions.chat.tag.ChatTagRole; -import com.massivecraft.factions.chat.tag.ChatTagRoleprefix; -import com.massivecraft.factions.chat.tag.ChatTagRoleprefixforce; -import com.massivecraft.factions.chat.tag.ChatTagTitle; -import com.massivecraft.factions.cmd.CmdFactions; +import com.massivecraft.factions.chat.ChatActive; import com.massivecraft.factions.cmd.type.TypeFactionChunkChangeType; import com.massivecraft.factions.cmd.type.TypeRel; -import com.massivecraft.factions.engine.EngineCanCombatHappen; -import com.massivecraft.factions.engine.EngineChat; -import com.massivecraft.factions.engine.EngineChunkChange; -import com.massivecraft.factions.engine.EngineDenyCommands; import com.massivecraft.factions.engine.EngineEcon; -import com.massivecraft.factions.engine.EngineExploit; -import com.massivecraft.factions.engine.EngineFlagEndergrief; -import com.massivecraft.factions.engine.EngineFlagExplosion; -import com.massivecraft.factions.engine.EngineFlagFireSpread; -import com.massivecraft.factions.engine.EngineFlagSpawn; -import com.massivecraft.factions.engine.EngineFlagZombiegrief; -import com.massivecraft.factions.engine.EngineLastActivity; -import com.massivecraft.factions.engine.EngineMotd; -import com.massivecraft.factions.engine.EngineMoveChunk; -import com.massivecraft.factions.engine.EnginePermBuild; -import com.massivecraft.factions.engine.EnginePlayerData; -import com.massivecraft.factions.engine.EnginePower; -import com.massivecraft.factions.engine.EngineSeeChunk; -import com.massivecraft.factions.engine.EngineShow; -import com.massivecraft.factions.engine.EngineTeleportHomeOnDeath; -import com.massivecraft.factions.engine.EngineTerritoryShield; -import com.massivecraft.factions.engine.EngineVisualizations; import com.massivecraft.factions.entity.Board; -import com.massivecraft.factions.entity.BoardColl; -import com.massivecraft.factions.entity.FactionColl; -import com.massivecraft.factions.entity.MConfColl; -import com.massivecraft.factions.entity.MFlagColl; -import com.massivecraft.factions.entity.MPermColl; -import com.massivecraft.factions.entity.MPlayerColl; -import com.massivecraft.factions.entity.migrator.MigratorMConf001EnumerationUtil; import com.massivecraft.factions.event.EventFactionsChunkChangeType; -import com.massivecraft.factions.integration.V19.IntegrationV19; -import com.massivecraft.factions.integration.herochat.IntegrationHerochat; -import com.massivecraft.factions.integration.lwc.IntegrationLwc; -import com.massivecraft.factions.integration.spigot.IntegrationSpigot; -import com.massivecraft.factions.integration.worldguard.IntegrationWorldGuard; import com.massivecraft.factions.mixin.PowerMixin; -import com.massivecraft.factions.task.TaskEconLandReward; -import com.massivecraft.factions.task.TaskFlagPermCreate; -import com.massivecraft.factions.task.TaskPlayerDataRemove; -import com.massivecraft.factions.task.TaskPlayerPowerUpdate; import com.massivecraft.massivecore.MassivePlugin; import com.massivecraft.massivecore.command.type.RegistryType; import com.massivecraft.massivecore.util.MUtil; import com.massivecraft.massivecore.xlib.gson.GsonBuilder; import org.bukkit.ChatColor; +import java.util.List; + public class Factions extends MassivePlugin { // -------------------------------------------- // @@ -113,87 +65,22 @@ public class Factions extends MassivePlugin // Register Faction accountId Extractor // TODO: Perhaps this should be placed in the econ integration somewhere? MUtil.registerExtractor(String.class, "accountId", ExtractorFactionAccountId.get()); - - // Activate - this.activate( - // Migrator - MigratorMConf001EnumerationUtil.class, - - // Coll - // MConf should always be activated first for all plugins. It's simply a standard. The config should have no dependencies. - // MFlag and MPerm are both dependency free. - // Next we activate Faction, MPlayer and Board. The order is carefully chosen based on foreign keys and indexing direction. - // MPlayer --> Faction - // We actually only have an index that we maintain for the MPlayer --> Faction one. - // The Board could currently be activated in any order but the current placement is an educated guess. - // In the future we might want to find all chunks from the faction or something similar. - // We also have the /f access system where the player can be granted specific access, possibly supporting the idea of such a reverse index. - MConfColl.class, - MFlagColl.class, - MPermColl.class, - FactionColl.class, - MPlayerColl.class, - BoardColl.class, - - // Command - CmdFactions.class, - - // Engines - EngineCanCombatHappen.class, - EngineChat.class, - EngineChunkChange.class, - EngineDenyCommands.class, - EngineExploit.class, - EngineFlagEndergrief.class, - EngineFlagExplosion.class, - EngineFlagFireSpread.class, - EngineFlagSpawn.class, - EngineFlagZombiegrief.class, - EngineLastActivity.class, - EngineMotd.class, - EngineMoveChunk.class, - EnginePermBuild.class, - EnginePlayerData.class, - EnginePower.class, - EngineSeeChunk.class, - EngineShow.class, - EngineTeleportHomeOnDeath.class, - EngineTerritoryShield.class, - EngineVisualizations.class, - EngineEcon.class, // TODO: Take an extra look and make sure all economy stuff is handled using events. - // Integrate - IntegrationHerochat.class, - IntegrationLwc.class, - IntegrationWorldGuard.class, - IntegrationV19.class, - - // Spigot - IntegrationSpigot.class, - - // Modulo Repeat Tasks - TaskPlayerPowerUpdate.class, - TaskPlayerDataRemove.class, - TaskEconLandReward.class, - TaskFlagPermCreate.class, - - // ChatModifiers - ChatModifierLc.class, - ChatModifierLp.class, - ChatModifierParse.class, - ChatModifierRp.class, - ChatModifierUc.class, - ChatModifierUcf.class, - - // ChatTags, - ChatTagRelcolor.class, - ChatTagRole.class, - ChatTagRoleprefix.class, - ChatTagRoleprefixforce.class, - ChatTagName.class, - ChatTagNameforce.class, - ChatTagTitle.class - ); + // Activate + this.activateAuto(); + this.activate(this.getClassesActive("chat", ChatActive.class)); + + } + + @Override + public List> getClassesActiveEngines() + { + List> ret = super.getClassesActiveEngines(); + + ret.remove(EngineEcon.class); + ret.add(EngineEcon.class); + + return ret; } @Override