From c2a47926c60353d68c89ed54ce55a673fa1607c2 Mon Sep 17 00:00:00 2001 From: Magnus Ulf Date: Mon, 24 Dec 2018 00:45:59 +0100 Subject: [PATCH] Dont automatically register Actives --- src/com/massivecraft/factions/Factions.java | 166 ++++++++++++++++++-- 1 file changed, 155 insertions(+), 11 deletions(-) diff --git a/src/com/massivecraft/factions/Factions.java b/src/com/massivecraft/factions/Factions.java index af9cdd32..22f156c2 100644 --- a/src/com/massivecraft/factions/Factions.java +++ b/src/com/massivecraft/factions/Factions.java @@ -5,10 +5,45 @@ 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.ChatActive; +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.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.EngineCleanInactivity; +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; @@ -16,10 +51,23 @@ 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.MigratorFaction001Invitations; +import com.massivecraft.factions.entity.migrator.MigratorFaction002Ranks; +import com.massivecraft.factions.entity.migrator.MigratorMConf001EnumerationUtil; +import com.massivecraft.factions.entity.migrator.MigratorMConf002CleanInactivity; +import com.massivecraft.factions.entity.migrator.MigratorMConf003CleanInactivity; +import com.massivecraft.factions.entity.migrator.MigratorMConf004Rank; +import com.massivecraft.factions.entity.migrator.MigratorMPlayer001Ranks; import com.massivecraft.factions.event.EventFactionsChunkChangeType; +import com.massivecraft.factions.integration.V18.IntegrationV18; +import com.massivecraft.factions.integration.V19.IntegrationV19; +import com.massivecraft.factions.integration.lwc.IntegrationLwc; +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.TaskPlayerPowerUpdate; import com.massivecraft.massivecore.MassivePlugin; -import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.command.type.RegistryType; import com.massivecraft.massivecore.store.migrator.MigratorUtil; import com.massivecraft.massivecore.util.MUtil; @@ -78,10 +126,25 @@ public class Factions extends MassivePlugin // Activate this.activateAuto(); - this.activate(this.getClassesActive("chat", ChatActive.class)); + this.activate(getClassesActiveChat()); } + // These are overriden because the reflection trick was buggy and didn't work on all systems + @Override + public List> getClassesActiveMigrators() + { + return MUtil.list( + MigratorFaction001Invitations.class, + MigratorFaction002Ranks.class, + MigratorMConf001EnumerationUtil.class, + MigratorMConf002CleanInactivity.class, + MigratorMConf003CleanInactivity.class, + MigratorMConf004Rank.class, + MigratorMPlayer001Ranks.class + ); + } + @Override public List> getClassesActiveColls() { @@ -93,7 +156,7 @@ public class Factions extends MassivePlugin // 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. - return new MassiveList>( + return MUtil.list( MConfColl.class, MFlagColl.class, MPermColl.class, @@ -103,17 +166,98 @@ public class Factions extends MassivePlugin ); } + @Override + public List> getClassesActiveCommands() + { + return MUtil.list( + CmdFactions.class + ); + } + + @Override + public List> getClassesActiveIntegrations() + { + return MUtil.list( + IntegrationV18.class, + IntegrationV19.class, + IntegrationLwc.class, + IntegrationWorldGuard.class + ); + } + + @Override + public List> getClassesActiveTasks() + { + return MUtil.list( + TaskEconLandReward.class, + TaskFlagPermCreate.class, + TaskPlayerPowerUpdate.class + ); + } + @Override public List> getClassesActiveEngines() { - List> ret = super.getClassesActiveEngines(); - - ret.remove(EngineEcon.class); - ret.add(EngineEcon.class); - - return ret; + return MUtil.list( + EngineCanCombatHappen.class, + EngineChat.class, + EngineChunkChange.class, + EngineCleanInactivity.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 + ); } - + + @Override + public List> getClassesActiveMixins() + { + return MUtil.list( + PowerMixin.class + ); + } + + @Override + public List> getClassesActiveTests() + { + return MUtil.list(); + } + + public List> getClassesActiveChat() + { + return MUtil.list( + ChatModifierLc.class, + ChatModifierLp.class, + ChatModifierParse.class, + ChatModifierRp.class, + ChatModifierUc.class, + ChatModifierUcf.class, + ChatTagName.class, + ChatTagNameforce.class, + ChatTagRelcolor.class, + ChatTagRole.class, + ChatTagRoleprefix.class, + ChatTagRoleprefixforce.class, + ChatTagTitle.class + ); + } + @Override public GsonBuilder getGsonBuilder() {