Clean up activation
This commit is contained in:
		@@ -4,69 +4,21 @@ import com.massivecraft.factions.adapter.BoardAdapter;
 | 
				
			|||||||
import com.massivecraft.factions.adapter.BoardMapAdapter;
 | 
					import com.massivecraft.factions.adapter.BoardMapAdapter;
 | 
				
			||||||
import com.massivecraft.factions.adapter.RelAdapter;
 | 
					import com.massivecraft.factions.adapter.RelAdapter;
 | 
				
			||||||
import com.massivecraft.factions.adapter.TerritoryAccessAdapter;
 | 
					import com.massivecraft.factions.adapter.TerritoryAccessAdapter;
 | 
				
			||||||
import com.massivecraft.factions.chat.modifier.ChatModifierLc;
 | 
					import com.massivecraft.factions.chat.ChatActive;
 | 
				
			||||||
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.TypeFactionChunkChangeType;
 | 
				
			||||||
import com.massivecraft.factions.cmd.type.TypeRel;
 | 
					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.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.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.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.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.MassivePlugin;
 | 
				
			||||||
import com.massivecraft.massivecore.command.type.RegistryType;
 | 
					import com.massivecraft.massivecore.command.type.RegistryType;
 | 
				
			||||||
import com.massivecraft.massivecore.util.MUtil;
 | 
					import com.massivecraft.massivecore.util.MUtil;
 | 
				
			||||||
import com.massivecraft.massivecore.xlib.gson.GsonBuilder;
 | 
					import com.massivecraft.massivecore.xlib.gson.GsonBuilder;
 | 
				
			||||||
import org.bukkit.ChatColor;
 | 
					import org.bukkit.ChatColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class Factions extends MassivePlugin
 | 
					public class Factions extends MassivePlugin
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	// -------------------------------------------- //
 | 
						// -------------------------------------------- //
 | 
				
			||||||
@@ -115,85 +67,20 @@ public class Factions extends MassivePlugin
 | 
				
			|||||||
		MUtil.registerExtractor(String.class, "accountId", ExtractorFactionAccountId.get());
 | 
							MUtil.registerExtractor(String.class, "accountId", ExtractorFactionAccountId.get());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Activate
 | 
							// Activate
 | 
				
			||||||
		this.activate(
 | 
							this.activateAuto();
 | 
				
			||||||
			// Migrator
 | 
							this.activate(this.getClassesActive("chat", ChatActive.class));
 | 
				
			||||||
			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
 | 
						@Override
 | 
				
			||||||
			CmdFactions.class,
 | 
						public List<Class<?>> getClassesActiveEngines()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							List<Class<?>> ret = super.getClassesActiveEngines();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Engines
 | 
							ret.remove(EngineEcon.class);
 | 
				
			||||||
			EngineCanCombatHappen.class,
 | 
							ret.add(EngineEcon.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
 | 
							return ret;
 | 
				
			||||||
			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
 | 
					 | 
				
			||||||
		);
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user