diff --git a/src/com/massivecraft/massivecore/MassiveCore.java b/src/com/massivecraft/massivecore/MassiveCore.java index 42898289..46669979 100644 --- a/src/com/massivecraft/massivecore/MassiveCore.java +++ b/src/com/massivecraft/massivecore/MassiveCore.java @@ -55,6 +55,10 @@ import com.massivecraft.massivecore.engine.EngineMassiveCoreScheduledTeleport; import com.massivecraft.massivecore.engine.EngineMassiveCoreTeleportMixinCause; import com.massivecraft.massivecore.engine.EngineMassiveCoreVariable; import com.massivecraft.massivecore.engine.EngineMassiveCoreWorldNameSet; +import com.massivecraft.massivecore.entity.AspectColl; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConfColl; +import com.massivecraft.massivecore.entity.MultiverseColl; import com.massivecraft.massivecore.entity.migrator.MigratorMassiveCoreMConf001CleanInactivity; import com.massivecraft.massivecore.integration.vault.IntegrationVault; import com.massivecraft.massivecore.mixin.MixinActionbar; diff --git a/src/com/massivecraft/massivecore/MassiveCoreTaskDeleteFiles.java b/src/com/massivecraft/massivecore/MassiveCoreTaskDeleteFiles.java index 982f0b9e..01e8d262 100644 --- a/src/com/massivecraft/massivecore/MassiveCoreTaskDeleteFiles.java +++ b/src/com/massivecraft/massivecore/MassiveCoreTaskDeleteFiles.java @@ -1,5 +1,7 @@ package com.massivecraft.massivecore; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; + import java.io.File; public class MassiveCoreTaskDeleteFiles implements Runnable diff --git a/src/com/massivecraft/massivecore/MassivePlugin.java b/src/com/massivecraft/massivecore/MassivePlugin.java index 7649ab10..f6b1a10d 100644 --- a/src/com/massivecraft/massivecore/MassivePlugin.java +++ b/src/com/massivecraft/massivecore/MassivePlugin.java @@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.command.MassiveCommand; import com.massivecraft.massivecore.engine.EngineMassiveCoreCommandRegistration; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.mixin.Mixin; import com.massivecraft.massivecore.mixin.MixinMessage; import com.massivecraft.massivecore.predicate.Predicate; diff --git a/src/com/massivecraft/massivecore/chestgui/ChestGui.java b/src/com/massivecraft/massivecore/chestgui/ChestGui.java index 1b5439fc..3b1c8934 100644 --- a/src/com/massivecraft/massivecore/chestgui/ChestGui.java +++ b/src/com/massivecraft/massivecore/chestgui/ChestGui.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.chestgui; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.SoundEffect; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.collections.MassiveMap; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCore.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCore.java index 0ed20dbb..cf84dae6 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCore.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCore.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.MassiveCorePerm; import com.massivecraft.massivecore.command.MassiveCommandVersion; import com.massivecraft.massivecore.command.editor.CommandEditAbstract; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreBuffer.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreBuffer.java index 31442690..43ef9b25 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreBuffer.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreBuffer.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import java.util.List; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreClick.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreClick.java index a6b5fb0e..a67675fb 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreClick.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreClick.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.type.TypeStringCommand; import com.massivecraft.massivecore.mixin.MixinCommand; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreCmdurl.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreCmdurl.java index 6f44758f..c15de53c 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreCmdurl.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreCmdurl.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.requirement.RequirementIsPlayer; import com.massivecraft.massivecore.command.type.primitive.TypeString; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreStore.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreStore.java index ed6988c8..b32be20c 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreStore.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreStore.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import java.util.List; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsys.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsys.java index 1172c00f..35ec2e3a 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsys.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsys.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import java.util.List; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectList.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectList.java index 4f7227eb..5e9a409b 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectList.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectList.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.Aspect; -import com.massivecraft.massivecore.AspectColl; +import com.massivecraft.massivecore.entity.Aspect; +import com.massivecraft.massivecore.entity.AspectColl; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.Parameter; import com.massivecraft.massivecore.pager.Pager; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectShow.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectShow.java index 231d9ed4..1a86cb2d 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectShow.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectShow.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.Aspect; +import com.massivecraft.massivecore.entity.Aspect; import com.massivecraft.massivecore.MassiveException; import com.massivecraft.massivecore.command.type.store.TypeAspect; import com.massivecraft.massivecore.util.Txt; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectUse.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectUse.java index b1c58c25..3b3e28a2 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectUse.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysAspectUse.java @@ -1,8 +1,8 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.Aspect; +import com.massivecraft.massivecore.entity.Aspect; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.store.TypeAspect; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseDel.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseDel.java index c43a9e7f..e4d488fe 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseDel.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseDel.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveCore; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; public class CmdMassiveCoreUsysMultiverseDel extends MassiveCoreCommand diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseList.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseList.java index 64ac1dca..4a1b6f7f 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseList.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseList.java @@ -1,8 +1,8 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; -import com.massivecraft.massivecore.MultiverseColl; +import com.massivecraft.massivecore.entity.Multiverse; +import com.massivecraft.massivecore.entity.MultiverseColl; import com.massivecraft.massivecore.command.Parameter; import com.massivecraft.massivecore.pager.Pager; import com.massivecraft.massivecore.pager.Stringifier; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseNew.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseNew.java index 6d53f24e..879665b0 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseNew.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseNew.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.MultiverseColl; +import com.massivecraft.massivecore.entity.MultiverseColl; import com.massivecraft.massivecore.command.type.primitive.TypeString; public class CmdMassiveCoreUsysMultiverseNew extends MassiveCoreCommand diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseShow.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseShow.java index 75029906..ccce80a9 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseShow.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysMultiverseShow.java @@ -1,9 +1,9 @@ package com.massivecraft.massivecore.cmd; -import com.massivecraft.massivecore.Aspect; +import com.massivecraft.massivecore.entity.Aspect; import com.massivecraft.massivecore.MassiveCore; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; import com.massivecraft.massivecore.util.Txt; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseClear.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseClear.java index 34d8f4f0..a7a532e6 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseClear.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseClear.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveCore; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.primitive.TypeString; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseDel.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseDel.java index 3839a767..5e1a9625 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseDel.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseDel.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveCore; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.primitive.TypeString; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseNew.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseNew.java index 08f2d008..cea14de1 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseNew.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysUniverseNew.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.primitive.TypeString; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; diff --git a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysWorld.java b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysWorld.java index 15f33576..fbef72e1 100755 --- a/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysWorld.java +++ b/src/com/massivecraft/massivecore/cmd/CmdMassiveCoreUsysWorld.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.cmd; import com.massivecraft.massivecore.MassiveException; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.command.type.primitive.TypeString; import com.massivecraft.massivecore.command.type.store.TypeMultiverse; diff --git a/src/com/massivecraft/massivecore/command/MassiveCoreBukkitCommand.java b/src/com/massivecraft/massivecore/command/MassiveCoreBukkitCommand.java index b12e566c..2bb7c3ce 100644 --- a/src/com/massivecraft/massivecore/command/MassiveCoreBukkitCommand.java +++ b/src/com/massivecraft/massivecore/command/MassiveCoreBukkitCommand.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.command; import com.massivecraft.massivecore.Lang; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.mixin.MixinMessage; import com.massivecraft.massivecore.util.MUtil; diff --git a/src/com/massivecraft/massivecore/command/type/TypeUniverse.java b/src/com/massivecraft/massivecore/command/type/TypeUniverse.java index 1d085f41..4c64893b 100644 --- a/src/com/massivecraft/massivecore/command/type/TypeUniverse.java +++ b/src/com/massivecraft/massivecore/command/type/TypeUniverse.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.command.type; -import com.massivecraft.massivecore.Aspect; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Aspect; +import com.massivecraft.massivecore.entity.Multiverse; import java.util.Collection; diff --git a/src/com/massivecraft/massivecore/command/type/store/TypeAspect.java b/src/com/massivecraft/massivecore/command/type/store/TypeAspect.java index c5048048..96ffacb6 100644 --- a/src/com/massivecraft/massivecore/command/type/store/TypeAspect.java +++ b/src/com/massivecraft/massivecore/command/type/store/TypeAspect.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.command.type.store; -import com.massivecraft.massivecore.Aspect; -import com.massivecraft.massivecore.AspectColl; +import com.massivecraft.massivecore.entity.Aspect; +import com.massivecraft.massivecore.entity.AspectColl; import com.massivecraft.massivecore.MassiveCorePerm; import org.bukkit.command.CommandSender; diff --git a/src/com/massivecraft/massivecore/command/type/store/TypeMultiverse.java b/src/com/massivecraft/massivecore/command/type/store/TypeMultiverse.java index 273aa0c9..73ad0de4 100644 --- a/src/com/massivecraft/massivecore/command/type/store/TypeMultiverse.java +++ b/src/com/massivecraft/massivecore/command/type/store/TypeMultiverse.java @@ -1,8 +1,8 @@ package com.massivecraft.massivecore.command.type.store; import com.massivecraft.massivecore.MassiveCorePerm; -import com.massivecraft.massivecore.Multiverse; -import com.massivecraft.massivecore.MultiverseColl; +import com.massivecraft.massivecore.entity.Multiverse; +import com.massivecraft.massivecore.entity.MultiverseColl; import org.bukkit.command.CommandSender; public class TypeMultiverse extends TypeEntity diff --git a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreClean.java b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreClean.java index 6a2a77c9..96a4f5c0 100644 --- a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreClean.java +++ b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreClean.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.engine; import com.massivecraft.massivecore.Engine; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.event.EventMassiveCorePlayerCleanInactivityToleranceMillis; import com.massivecraft.massivecore.store.Coll; import com.massivecraft.massivecore.store.cleanable.CleaningUtil; diff --git a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreLorePriority.java b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreLorePriority.java index 1cce0984..74269558 100644 --- a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreLorePriority.java +++ b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreLorePriority.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.engine; import com.massivecraft.massivecore.Engine; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.event.EventMassiveCoreLorePriority; import com.massivecraft.massivecore.util.InventoryUtil; import com.massivecraft.massivecore.util.MUtil; diff --git a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreMain.java b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreMain.java index f8945662..9c37b779 100644 --- a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreMain.java +++ b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreMain.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.engine; import com.massivecraft.massivecore.Engine; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.SenderPresence; import com.massivecraft.massivecore.SenderType; import com.massivecraft.massivecore.event.EventMassiveCoreAfterPlayerRespawn; diff --git a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreVariable.java b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreVariable.java index 310dd912..b46cc314 100644 --- a/src/com/massivecraft/massivecore/engine/EngineMassiveCoreVariable.java +++ b/src/com/massivecraft/massivecore/engine/EngineMassiveCoreVariable.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.engine; import com.massivecraft.massivecore.Engine; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.MassiveCorePerm; import com.massivecraft.massivecore.util.IdUtil; import com.massivecraft.massivecore.util.InventoryUtil; diff --git a/src/com/massivecraft/massivecore/Aspect.java b/src/com/massivecraft/massivecore/entity/Aspect.java similarity index 94% rename from src/com/massivecraft/massivecore/Aspect.java rename to src/com/massivecraft/massivecore/entity/Aspect.java index 20034234..0e4b55ae 100644 --- a/src/com/massivecraft/massivecore/Aspect.java +++ b/src/com/massivecraft/massivecore/entity/Aspect.java @@ -1,59 +1,60 @@ -package com.massivecraft.massivecore; - -import com.google.gson.annotations.SerializedName; -import com.massivecraft.massivecore.store.Entity; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; - -public class Aspect extends Entity -{ - // -------------------------------------------- // - // META - // -------------------------------------------- // - - public static Aspect get(Object oid) - { - return AspectColl.get().get(oid); - } - - // -------------------------------------------- // - // TRANSIENT FIELDS - // -------------------------------------------- // - - private transient boolean registered = false; - public boolean isRegistered() { return this.registered; } - public void register() { this.registered = true; } - - private transient Collection desc = new ArrayList<>(); - public Collection getDesc() { return this.desc; } - public void setDesc(Collection val) { this.desc = val; } - public void setDesc(String... val) { this.desc = Arrays.asList(val); } - - // -------------------------------------------- // - // STORED FIELDS - // -------------------------------------------- // - - @SerializedName("mid") - private String multiverseId; - public String getMultiverseId() { return this.multiverseId; } - public void setMultiverseId(String multiverseId) { this.multiverseId = multiverseId; } - public Multiverse getMultiverse() - { - Multiverse ret = MultiverseColl.get().get(this.multiverseId); - if (ret == null) ret = MultiverseColl.get().get(MassiveCore.DEFAULT); - return ret; - } - public void setMultiverse(Multiverse val) { this.multiverseId = val.getId(); } - - // -------------------------------------------- // - // CONSTRUCT - // -------------------------------------------- // - - public Aspect() - { - - } - -} +package com.massivecraft.massivecore.entity; + +import com.google.gson.annotations.SerializedName; +import com.massivecraft.massivecore.MassiveCore; +import com.massivecraft.massivecore.store.Entity; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; + +public class Aspect extends Entity +{ + // -------------------------------------------- // + // META + // -------------------------------------------- // + + public static Aspect get(Object oid) + { + return AspectColl.get().get(oid); + } + + // -------------------------------------------- // + // TRANSIENT FIELDS + // -------------------------------------------- // + + private transient boolean registered = false; + public boolean isRegistered() { return this.registered; } + public void register() { this.registered = true; } + + private transient Collection desc = new ArrayList<>(); + public Collection getDesc() { return this.desc; } + public void setDesc(Collection val) { this.desc = val; } + public void setDesc(String... val) { this.desc = Arrays.asList(val); } + + // -------------------------------------------- // + // STORED FIELDS + // -------------------------------------------- // + + @SerializedName("mid") + private String multiverseId; + public String getMultiverseId() { return this.multiverseId; } + public void setMultiverseId(String multiverseId) { this.multiverseId = multiverseId; } + public Multiverse getMultiverse() + { + Multiverse ret = MultiverseColl.get().get(this.multiverseId); + if (ret == null) ret = MultiverseColl.get().get(MassiveCore.DEFAULT); + return ret; + } + public void setMultiverse(Multiverse val) { this.multiverseId = val.getId(); } + + // -------------------------------------------- // + // CONSTRUCT + // -------------------------------------------- // + + public Aspect() + { + + } + +} diff --git a/src/com/massivecraft/massivecore/AspectColl.java b/src/com/massivecraft/massivecore/entity/AspectColl.java similarity index 93% rename from src/com/massivecraft/massivecore/AspectColl.java rename to src/com/massivecraft/massivecore/entity/AspectColl.java index 111fabb2..569c582a 100644 --- a/src/com/massivecraft/massivecore/AspectColl.java +++ b/src/com/massivecraft/massivecore/entity/AspectColl.java @@ -1,54 +1,54 @@ -package com.massivecraft.massivecore; - -import com.massivecraft.massivecore.store.Coll; - -import java.util.ArrayList; -import java.util.List; - -public class AspectColl extends Coll -{ - // -------------------------------------------- // - // INSTANCE & CONSTRUCT - // -------------------------------------------- // - - private static AspectColl i = new AspectColl(); - public static AspectColl get() { return i; } - - // -------------------------------------------- // - // STACK TRACEABILITY - // -------------------------------------------- // - - @Override - public void onTick() - { - super.onTick(); - } - - // -------------------------------------------- // - // EXTRAS - // -------------------------------------------- // - - public List getAllRegistered() - { - List ret = new ArrayList<>(); - for (Aspect aspect : this.getAll()) - { - if (aspect.isRegistered() == false) continue; - ret.add(aspect); - } - return ret; - } - - public List getAllRegisteredForMultiverse(Multiverse multiverse, boolean normal) - { - List ret = new ArrayList<>(); - for (Aspect aspect : this.getAll()) - { - if (aspect.isRegistered() == false) continue; - if ((aspect.getMultiverse() != multiverse) == normal) continue; - ret.add(aspect); - } - return ret; - } - -} +package com.massivecraft.massivecore.entity; + +import com.massivecraft.massivecore.store.Coll; + +import java.util.ArrayList; +import java.util.List; + +public class AspectColl extends Coll +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static AspectColl i = new AspectColl(); + public static AspectColl get() { return i; } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } + + // -------------------------------------------- // + // EXTRAS + // -------------------------------------------- // + + public List getAllRegistered() + { + List ret = new ArrayList<>(); + for (Aspect aspect : this.getAll()) + { + if (aspect.isRegistered() == false) continue; + ret.add(aspect); + } + return ret; + } + + public List getAllRegisteredForMultiverse(Multiverse multiverse, boolean normal) + { + List ret = new ArrayList<>(); + for (Aspect aspect : this.getAll()) + { + if (aspect.isRegistered() == false) continue; + if ((aspect.getMultiverse() != multiverse) == normal) continue; + ret.add(aspect); + } + return ret; + } + +} diff --git a/src/com/massivecraft/massivecore/MassiveCoreMConf.java b/src/com/massivecraft/massivecore/entity/MassiveCoreMConf.java similarity index 96% rename from src/com/massivecraft/massivecore/MassiveCoreMConf.java rename to src/com/massivecraft/massivecore/entity/MassiveCoreMConf.java index c5a5a28c..d9984efa 100644 --- a/src/com/massivecraft/massivecore/MassiveCoreMConf.java +++ b/src/com/massivecraft/massivecore/entity/MassiveCoreMConf.java @@ -1,195 +1,196 @@ -package com.massivecraft.massivecore; - -import com.massivecraft.massivecore.collections.MassiveMap; -import com.massivecraft.massivecore.command.editor.annotation.EditorName; -import com.massivecraft.massivecore.command.editor.annotation.EditorType; -import com.massivecraft.massivecore.command.type.TypeMillisDiff; -import com.massivecraft.massivecore.command.type.primitive.TypeBooleanOn; -import com.massivecraft.massivecore.store.Entity; -import com.massivecraft.massivecore.util.MUtil; -import com.massivecraft.massivecore.util.PermissionUtil; -import com.massivecraft.massivecore.util.TimeUnit; -import com.mongodb.WriteConcern; -import org.bukkit.permissions.Permissible; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -@EditorName("config") -public class MassiveCoreMConf extends Entity -{ - // -------------------------------------------- // - // META - // -------------------------------------------- // - - protected static transient MassiveCoreMConf i; - public static MassiveCoreMConf get() { return i; } - - // -------------------------------------------- // - // VERSION - // -------------------------------------------- // - - public int version = 1; - - // -------------------------------------------- // - // ALIASES - // -------------------------------------------- // - // Base command aliases. - - public List aliasesMcore = MUtil.list("massivecore", "mcore"); - public List aliasesUsys = MUtil.list("usys"); - public List aliasesMstore = MUtil.list("massivestore", "mstore"); - public List aliasesBuffer = MUtil.list("buffer"); - public List aliasesCmdurl = MUtil.list("cmdurl"); - - // -------------------------------------------- // - // GENERAL - // -------------------------------------------- // - // General configuration options. - - public String taskServerId = null; - public boolean versionSynchronizationEnabled = true; - public int tabCompletionLimit = 100; - public boolean recipientChatEventEnabled = true; - public boolean consoleColorsEnabled = true; - - // -------------------------------------------- // - // PERMISSIONS FORMATS - // -------------------------------------------- // - // Permission denied formatting. - - public Map permissionDeniedFormats = MUtil.map( - "some.awesome.permission.node", "You must be awesome to %s.", - "some.derp.permission.node.1", "derp", - "some.derp.permission.node.2", "derp", - "some.derp.permission.node.3", "derp", - "derp", "Only derp people can %s.\nAsk a moderator to become derp." - ); - - public String getPermissionDeniedFormat(String permissionName) - { - Map map = this.permissionDeniedFormats; - String ret = map.get(permissionName); - if (ret == null) return null; - ret = MUtil.recurseResolveMap(ret, map); - return ret; - } - - // -------------------------------------------- // - // TP DELAY - // -------------------------------------------- // - // Teleportation delay permissions. - - public Map permissionToTpdelay = MUtil.map( - "massivecore.notpdelay", 0, - "default", 10 - ); - - public int getTpdelay(Permissible permissible) - { - Integer ret = PermissionUtil.pickFirstVal(permissible, permissionToTpdelay); - if (ret == null) ret = 0; - return ret; - } - - // -------------------------------------------- // - // DELETE FILES - // -------------------------------------------- // - // Delete certain files for system cleanliness. - - public List deleteFiles = new ArrayList<>(); - - // -------------------------------------------- // - // VARIABLES - // -------------------------------------------- // - // Chat and command variables. - - public String variableBookName = "***book***"; - public boolean variableBookEnabled = true; - - public String variableBufferName = "***buffer***"; - public boolean variableBufferEnabled = true; - - // -------------------------------------------- // - // CLICK - // -------------------------------------------- // - // Button click sound configuration. - - public SoundEffect clickSound = SoundEffect.valueOf("UI_BUTTON_CLICK", 0.75f, 1.0f); - - // -------------------------------------------- // - // MSTORE - // -------------------------------------------- // - // The database system. - - @EditorType(TypeMillisDiff.class) - public volatile long millisBetweenLocalPoll = TimeUnit.MILLIS_PER_MINUTE * 5; - @EditorType(TypeMillisDiff.class) - public volatile long millisBetweenRemotePollWithoutPusher = TimeUnit.MILLIS_PER_SECOND * 10; - @EditorType(TypeMillisDiff.class) - public volatile long millisBetweenRemotePollWithPusher = TimeUnit.MILLIS_PER_MINUTE * 1; - - @EditorType(TypeBooleanOn.class) - public boolean warnOnLocalAlter = false; - - @EditorType(TypeBooleanOn.class) - public boolean advancedLocalPollingDebug = false; - - // -------------------------------------------- // - // CLEAN - // -------------------------------------------- // - - // How often should the task run? - // When set to 0 this feature is disabled. Meaning no cleaning will be done. - // Default: 1 day (Per default once a day.) - public long cleanTaskPeriodMillis = TimeUnit.MILLIS_PER_DAY; - - // This is used to decide at what time of the day the task will run. - // For Example: If the taskPeriodMillis is 24 hours: - // Set it to 0 for UTC midnight. - // Set it to 3600000 for UTC midnight + 1 hour. - public long cleanTaskOffsetMillis = 0; - - // When did the task last run? - // This need not be modified by the server owner. - // It will be set for you automatically. - // 0 means it never ran before. - public long cleanTaskLastMillis = 0; - - // -------------------------------------------- // - // MONGODB - // -------------------------------------------- // - // The database system MongoDB driver. - - public boolean catchingMongoDbErrorsOnSave = true; - public boolean catchingMongoDbErrorsOnDelete = true; - - public static WriteConcern getMongoDbWriteConcern(boolean catchingErrors) { return catchingErrors ? WriteConcern.ACKNOWLEDGED : WriteConcern.UNACKNOWLEDGED; } - public WriteConcern getMongoDbWriteConcernSave() { return getMongoDbWriteConcern(this.catchingMongoDbErrorsOnSave); } - public WriteConcern getMongoDbWriteConcernDelete() { return getMongoDbWriteConcern(this.catchingMongoDbErrorsOnDelete); } - - // -------------------------------------------- // - // DEVELOPER - // -------------------------------------------- // - - public boolean debugEnabled = false; - - // -------------------------------------------- // - // METRICS - // -------------------------------------------- // - // URL connections to https://bstats.org - - public boolean metricsEnabled = true; - - // -------------------------------------------- // - // LORE SORTING - // -------------------------------------------- // - - public boolean loreSortOnInventoryClick = false; - public boolean loreSortOnInventoryOpen = false; - - public Map lorePrioritiesPrefix = new MassiveMap<>(); - public Map lorePrioritiesRegex = new MassiveMap<>(); - -} +package com.massivecraft.massivecore.entity; + +import com.massivecraft.massivecore.SoundEffect; +import com.massivecraft.massivecore.collections.MassiveMap; +import com.massivecraft.massivecore.command.editor.annotation.EditorName; +import com.massivecraft.massivecore.command.editor.annotation.EditorType; +import com.massivecraft.massivecore.command.type.TypeMillisDiff; +import com.massivecraft.massivecore.command.type.primitive.TypeBooleanOn; +import com.massivecraft.massivecore.store.Entity; +import com.massivecraft.massivecore.util.MUtil; +import com.massivecraft.massivecore.util.PermissionUtil; +import com.massivecraft.massivecore.util.TimeUnit; +import com.mongodb.WriteConcern; +import org.bukkit.permissions.Permissible; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@EditorName("config") +public class MassiveCoreMConf extends Entity +{ + // -------------------------------------------- // + // META + // -------------------------------------------- // + + protected static transient MassiveCoreMConf i; + public static MassiveCoreMConf get() { return i; } + + // -------------------------------------------- // + // VERSION + // -------------------------------------------- // + + public int version = 1; + + // -------------------------------------------- // + // ALIASES + // -------------------------------------------- // + // Base command aliases. + + public List aliasesMcore = MUtil.list("massivecore", "mcore"); + public List aliasesUsys = MUtil.list("usys"); + public List aliasesMstore = MUtil.list("massivestore", "mstore"); + public List aliasesBuffer = MUtil.list("buffer"); + public List aliasesCmdurl = MUtil.list("cmdurl"); + + // -------------------------------------------- // + // GENERAL + // -------------------------------------------- // + // General configuration options. + + public String taskServerId = null; + public boolean versionSynchronizationEnabled = true; + public int tabCompletionLimit = 100; + public boolean recipientChatEventEnabled = true; + public boolean consoleColorsEnabled = true; + + // -------------------------------------------- // + // PERMISSIONS FORMATS + // -------------------------------------------- // + // Permission denied formatting. + + public Map permissionDeniedFormats = MUtil.map( + "some.awesome.permission.node", "You must be awesome to %s.", + "some.derp.permission.node.1", "derp", + "some.derp.permission.node.2", "derp", + "some.derp.permission.node.3", "derp", + "derp", "Only derp people can %s.\nAsk a moderator to become derp." + ); + + public String getPermissionDeniedFormat(String permissionName) + { + Map map = this.permissionDeniedFormats; + String ret = map.get(permissionName); + if (ret == null) return null; + ret = MUtil.recurseResolveMap(ret, map); + return ret; + } + + // -------------------------------------------- // + // TP DELAY + // -------------------------------------------- // + // Teleportation delay permissions. + + public Map permissionToTpdelay = MUtil.map( + "massivecore.notpdelay", 0, + "default", 10 + ); + + public int getTpdelay(Permissible permissible) + { + Integer ret = PermissionUtil.pickFirstVal(permissible, permissionToTpdelay); + if (ret == null) ret = 0; + return ret; + } + + // -------------------------------------------- // + // DELETE FILES + // -------------------------------------------- // + // Delete certain files for system cleanliness. + + public List deleteFiles = new ArrayList<>(); + + // -------------------------------------------- // + // VARIABLES + // -------------------------------------------- // + // Chat and command variables. + + public String variableBookName = "***book***"; + public boolean variableBookEnabled = true; + + public String variableBufferName = "***buffer***"; + public boolean variableBufferEnabled = true; + + // -------------------------------------------- // + // CLICK + // -------------------------------------------- // + // Button click sound configuration. + + public SoundEffect clickSound = SoundEffect.valueOf("UI_BUTTON_CLICK", 0.75f, 1.0f); + + // -------------------------------------------- // + // MSTORE + // -------------------------------------------- // + // The database system. + + @EditorType(TypeMillisDiff.class) + public volatile long millisBetweenLocalPoll = TimeUnit.MILLIS_PER_MINUTE * 5; + @EditorType(TypeMillisDiff.class) + public volatile long millisBetweenRemotePollWithoutPusher = TimeUnit.MILLIS_PER_SECOND * 10; + @EditorType(TypeMillisDiff.class) + public volatile long millisBetweenRemotePollWithPusher = TimeUnit.MILLIS_PER_MINUTE * 1; + + @EditorType(TypeBooleanOn.class) + public boolean warnOnLocalAlter = false; + + @EditorType(TypeBooleanOn.class) + public boolean advancedLocalPollingDebug = false; + + // -------------------------------------------- // + // CLEAN + // -------------------------------------------- // + + // How often should the task run? + // When set to 0 this feature is disabled. Meaning no cleaning will be done. + // Default: 1 day (Per default once a day.) + public long cleanTaskPeriodMillis = TimeUnit.MILLIS_PER_DAY; + + // This is used to decide at what time of the day the task will run. + // For Example: If the taskPeriodMillis is 24 hours: + // Set it to 0 for UTC midnight. + // Set it to 3600000 for UTC midnight + 1 hour. + public long cleanTaskOffsetMillis = 0; + + // When did the task last run? + // This need not be modified by the server owner. + // It will be set for you automatically. + // 0 means it never ran before. + public long cleanTaskLastMillis = 0; + + // -------------------------------------------- // + // MONGODB + // -------------------------------------------- // + // The database system MongoDB driver. + + public boolean catchingMongoDbErrorsOnSave = true; + public boolean catchingMongoDbErrorsOnDelete = true; + + public static WriteConcern getMongoDbWriteConcern(boolean catchingErrors) { return catchingErrors ? WriteConcern.ACKNOWLEDGED : WriteConcern.UNACKNOWLEDGED; } + public WriteConcern getMongoDbWriteConcernSave() { return getMongoDbWriteConcern(this.catchingMongoDbErrorsOnSave); } + public WriteConcern getMongoDbWriteConcernDelete() { return getMongoDbWriteConcern(this.catchingMongoDbErrorsOnDelete); } + + // -------------------------------------------- // + // DEVELOPER + // -------------------------------------------- // + + public boolean debugEnabled = false; + + // -------------------------------------------- // + // METRICS + // -------------------------------------------- // + // URL connections to https://bstats.org + + public boolean metricsEnabled = true; + + // -------------------------------------------- // + // LORE SORTING + // -------------------------------------------- // + + public boolean loreSortOnInventoryClick = false; + public boolean loreSortOnInventoryOpen = false; + + public Map lorePrioritiesPrefix = new MassiveMap<>(); + public Map lorePrioritiesRegex = new MassiveMap<>(); + +} diff --git a/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java b/src/com/massivecraft/massivecore/entity/MassiveCoreMConfColl.java similarity index 90% rename from src/com/massivecraft/massivecore/MassiveCoreMConfColl.java rename to src/com/massivecraft/massivecore/entity/MassiveCoreMConfColl.java index f2878047..6fb8b1f2 100644 --- a/src/com/massivecraft/massivecore/MassiveCoreMConfColl.java +++ b/src/com/massivecraft/massivecore/entity/MassiveCoreMConfColl.java @@ -1,42 +1,43 @@ -package com.massivecraft.massivecore; - -import com.massivecraft.massivecore.store.Coll; - -public class MassiveCoreMConfColl extends Coll -{ - // -------------------------------------------- // - // INSTANCE & CONSTRUCT - // -------------------------------------------- // - - private static MassiveCoreMConfColl i = new MassiveCoreMConfColl(); - public static MassiveCoreMConfColl get() { return i; } - private MassiveCoreMConfColl() - { - super("massivecore_mconf"); - } - - // -------------------------------------------- // - // STACK TRACEABILITY - // -------------------------------------------- // - - @Override - public void onTick() - { - super.onTick(); - } - - // -------------------------------------------- // - // OVERRIDE - // -------------------------------------------- // - - @Override - public void setActive(boolean active) - { - super.setActive(active); - - if ( ! active) return; - - MassiveCoreMConf.i = this.get(MassiveCore.INSTANCE, true); - } - -} +package com.massivecraft.massivecore.entity; + +import com.massivecraft.massivecore.MassiveCore; +import com.massivecraft.massivecore.store.Coll; + +public class MassiveCoreMConfColl extends Coll +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static MassiveCoreMConfColl i = new MassiveCoreMConfColl(); + public static MassiveCoreMConfColl get() { return i; } + private MassiveCoreMConfColl() + { + super("massivecore_mconf"); + } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } + + // -------------------------------------------- // + // OVERRIDE + // -------------------------------------------- // + + @Override + public void setActive(boolean active) + { + super.setActive(active); + + if ( ! active) return; + + MassiveCoreMConf.i = this.get(MassiveCore.INSTANCE, true); + } + +} diff --git a/src/com/massivecraft/massivecore/Multiverse.java b/src/com/massivecraft/massivecore/entity/Multiverse.java similarity index 94% rename from src/com/massivecraft/massivecore/Multiverse.java rename to src/com/massivecraft/massivecore/entity/Multiverse.java index cf8272e5..0c0a4297 100644 --- a/src/com/massivecraft/massivecore/Multiverse.java +++ b/src/com/massivecraft/massivecore/entity/Multiverse.java @@ -1,186 +1,187 @@ -package com.massivecraft.massivecore; - -import com.massivecraft.massivecore.command.type.TypeUniverse; -import com.massivecraft.massivecore.store.Entity; -import com.massivecraft.massivecore.util.MUtil; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; - -public class Multiverse extends Entity -{ - // -------------------------------------------- // - // META - // -------------------------------------------- // - - public static Multiverse get(Object oid) - { - return MultiverseColl.get().get(oid); - } - - // -------------------------------------------- // - // FIELDS - // -------------------------------------------- // - - protected Map> uw = new HashMap<>(); - - - // -------------------------------------------- // - // CONSTRUCT - // -------------------------------------------- // - - public Multiverse() - { - - } - - // -------------------------------------------- // - // ASPECTS - // -------------------------------------------- // - - public List myAspects() - { - return AspectColl.get().getAllRegisteredForMultiverse(this, true); - } - - public List otherAspects() - { - return AspectColl.get().getAllRegisteredForMultiverse(this, false); - } - - // -------------------------------------------- // - // UNIVERSE - // -------------------------------------------- // - - public boolean containsUniverse(String universe) - { - return this.getUniverses().contains(universe); - } - - public Set newUniverse(String universe) - { - if (universe.equals(MassiveCore.DEFAULT)) return null; - Set ret = this.uw.get(universe); - if (ret == null) - { - ret = new HashSet<>(); - this.uw.put(universe, ret); - this.changed(); - } - return ret; - } - - public Set delUniverse(String universe) - { - this.changed(); - return this.uw.remove(universe); - } - - public Set getUniverses() - { - Set ret = new TreeSet<>(); - ret.addAll(this.uw.keySet()); - ret.add(MassiveCore.DEFAULT); - return ret; - } - - public String getUniverseForWorldName(String worldName) - { - for (Entry> entry : this.uw.entrySet()) - { - String universe = entry.getKey(); - Set worlds = entry.getValue(); - if (worlds.contains(worldName)) return universe; - } - return MassiveCore.DEFAULT; - } - - public String getUniverse(Object worldNameExtractable) - { - String worldName = MUtil.extract(String.class, "worldName", worldNameExtractable); - return this.getUniverseForWorldName(worldName); - } - - // -------------------------------------------- // - // UNIVERSE AND WORLD - // -------------------------------------------- // - - public boolean clearUniverse(String universe) - { - Set worlds = this.uw.get(universe); - if (worlds == null) return false; - worlds.clear(); - this.changed(); - return true; - } - - public boolean setWorldUniverse(String worldName, String universe) - { - if (this.getUniverseForWorldName(worldName).equals(universe)) return false; - this.removeWorld(worldName); - if ( ! universe.equals(MassiveCore.DEFAULT)) - { - this.newUniverse(universe).add(worldName); - } - this.changed(); - return true; - } - - // -------------------------------------------- // - // WORLD - // -------------------------------------------- // - - public boolean containsWorld(String worldName) - { - return this.getWorlds().contains(worldName); - } - - public Set getWorlds() - { - Set ret = new TreeSet<>(); - for (Set uworlds : this.uw.values()) - { - ret.addAll(uworlds); - } - return ret; - } - - public Set getWorlds(String universe) - { - Set orig = this.uw.get(universe); - if (orig == null) return null; - - Set ret = new TreeSet<>(); - ret.addAll(orig); - - return ret; - } - - public boolean removeWorld(String worldName) - { - for (Set worldNames : this.uw.values()) - { - if (worldNames.remove(worldName)) - { - this.changed(); - return true; - } - } - return false; - } - - // -------------------------------------------- // - // ARG READERS - // -------------------------------------------- // - - public TypeUniverse typeUniverse() - { - return new TypeUniverse(this); - } - -} +package com.massivecraft.massivecore.entity; + +import com.massivecraft.massivecore.MassiveCore; +import com.massivecraft.massivecore.command.type.TypeUniverse; +import com.massivecraft.massivecore.store.Entity; +import com.massivecraft.massivecore.util.MUtil; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; + +public class Multiverse extends Entity +{ + // -------------------------------------------- // + // META + // -------------------------------------------- // + + public static Multiverse get(Object oid) + { + return MultiverseColl.get().get(oid); + } + + // -------------------------------------------- // + // FIELDS + // -------------------------------------------- // + + protected Map> uw = new HashMap<>(); + + + // -------------------------------------------- // + // CONSTRUCT + // -------------------------------------------- // + + public Multiverse() + { + + } + + // -------------------------------------------- // + // ASPECTS + // -------------------------------------------- // + + public List myAspects() + { + return AspectColl.get().getAllRegisteredForMultiverse(this, true); + } + + public List otherAspects() + { + return AspectColl.get().getAllRegisteredForMultiverse(this, false); + } + + // -------------------------------------------- // + // UNIVERSE + // -------------------------------------------- // + + public boolean containsUniverse(String universe) + { + return this.getUniverses().contains(universe); + } + + public Set newUniverse(String universe) + { + if (universe.equals(MassiveCore.DEFAULT)) return null; + Set ret = this.uw.get(universe); + if (ret == null) + { + ret = new HashSet<>(); + this.uw.put(universe, ret); + this.changed(); + } + return ret; + } + + public Set delUniverse(String universe) + { + this.changed(); + return this.uw.remove(universe); + } + + public Set getUniverses() + { + Set ret = new TreeSet<>(); + ret.addAll(this.uw.keySet()); + ret.add(MassiveCore.DEFAULT); + return ret; + } + + public String getUniverseForWorldName(String worldName) + { + for (Entry> entry : this.uw.entrySet()) + { + String universe = entry.getKey(); + Set worlds = entry.getValue(); + if (worlds.contains(worldName)) return universe; + } + return MassiveCore.DEFAULT; + } + + public String getUniverse(Object worldNameExtractable) + { + String worldName = MUtil.extract(String.class, "worldName", worldNameExtractable); + return this.getUniverseForWorldName(worldName); + } + + // -------------------------------------------- // + // UNIVERSE AND WORLD + // -------------------------------------------- // + + public boolean clearUniverse(String universe) + { + Set worlds = this.uw.get(universe); + if (worlds == null) return false; + worlds.clear(); + this.changed(); + return true; + } + + public boolean setWorldUniverse(String worldName, String universe) + { + if (this.getUniverseForWorldName(worldName).equals(universe)) return false; + this.removeWorld(worldName); + if ( ! universe.equals(MassiveCore.DEFAULT)) + { + this.newUniverse(universe).add(worldName); + } + this.changed(); + return true; + } + + // -------------------------------------------- // + // WORLD + // -------------------------------------------- // + + public boolean containsWorld(String worldName) + { + return this.getWorlds().contains(worldName); + } + + public Set getWorlds() + { + Set ret = new TreeSet<>(); + for (Set uworlds : this.uw.values()) + { + ret.addAll(uworlds); + } + return ret; + } + + public Set getWorlds(String universe) + { + Set orig = this.uw.get(universe); + if (orig == null) return null; + + Set ret = new TreeSet<>(); + ret.addAll(orig); + + return ret; + } + + public boolean removeWorld(String worldName) + { + for (Set worldNames : this.uw.values()) + { + if (worldNames.remove(worldName)) + { + this.changed(); + return true; + } + } + return false; + } + + // -------------------------------------------- // + // ARG READERS + // -------------------------------------------- // + + public TypeUniverse typeUniverse() + { + return new TypeUniverse(this); + } + +} diff --git a/src/com/massivecraft/massivecore/MultiverseColl.java b/src/com/massivecraft/massivecore/entity/MultiverseColl.java similarity index 90% rename from src/com/massivecraft/massivecore/MultiverseColl.java rename to src/com/massivecraft/massivecore/entity/MultiverseColl.java index 8363a235..6060f82d 100644 --- a/src/com/massivecraft/massivecore/MultiverseColl.java +++ b/src/com/massivecraft/massivecore/entity/MultiverseColl.java @@ -1,43 +1,44 @@ -package com.massivecraft.massivecore; - -import com.massivecraft.massivecore.store.Coll; - -public class MultiverseColl extends Coll -{ - // -------------------------------------------- // - // INSTANCE & CONSTRUCT - // -------------------------------------------- // - - private static MultiverseColl i = new MultiverseColl(); - public static MultiverseColl get() { return i; } - private MultiverseColl() - { - super("massivecore_multiverse"); - } - - // -------------------------------------------- // - // STACK TRACEABILITY - // -------------------------------------------- // - - @Override - public void onTick() - { - super.onTick(); - } - - // -------------------------------------------- // - // EXTRAS - // -------------------------------------------- // - - @Override - public void setActive(boolean active) - { - super.setActive(active); - - if ( ! active) return; - - // Ensure the default multiverse exits - this.get(MassiveCore.DEFAULT, true); - } - -} +package com.massivecraft.massivecore.entity; + +import com.massivecraft.massivecore.MassiveCore; +import com.massivecraft.massivecore.store.Coll; + +public class MultiverseColl extends Coll +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static MultiverseColl i = new MultiverseColl(); + public static MultiverseColl get() { return i; } + private MultiverseColl() + { + super("massivecore_multiverse"); + } + + // -------------------------------------------- // + // STACK TRACEABILITY + // -------------------------------------------- // + + @Override + public void onTick() + { + super.onTick(); + } + + // -------------------------------------------- // + // EXTRAS + // -------------------------------------------- // + + @Override + public void setActive(boolean active) + { + super.setActive(active); + + if ( ! active) return; + + // Ensure the default multiverse exits + this.get(MassiveCore.DEFAULT, true); + } + +} diff --git a/src/com/massivecraft/massivecore/entity/migrator/MigratorMassiveCoreMConf001CleanInactivity.java b/src/com/massivecraft/massivecore/entity/migrator/MigratorMassiveCoreMConf001CleanInactivity.java index 67bb131f..9919aa90 100644 --- a/src/com/massivecraft/massivecore/entity/migrator/MigratorMassiveCoreMConf001CleanInactivity.java +++ b/src/com/massivecraft/massivecore/entity/migrator/MigratorMassiveCoreMConf001CleanInactivity.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.entity.migrator; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.store.migrator.MigratorFieldRename; import com.massivecraft.massivecore.store.migrator.MigratorRoot; diff --git a/src/com/massivecraft/massivecore/mixin/Mixin.java b/src/com/massivecraft/massivecore/mixin/Mixin.java index 4569c8f2..45b2a9d4 100644 --- a/src/com/massivecraft/massivecore/mixin/Mixin.java +++ b/src/com/massivecraft/massivecore/mixin/Mixin.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.mixin; import com.massivecraft.massivecore.Engine; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.collections.MassiveMap; import com.massivecraft.massivecore.util.ReflectionUtil; diff --git a/src/com/massivecraft/massivecore/mixin/MixinTeleport.java b/src/com/massivecraft/massivecore/mixin/MixinTeleport.java index 69e8ba28..c6f00fa0 100644 --- a/src/com/massivecraft/massivecore/mixin/MixinTeleport.java +++ b/src/com/massivecraft/massivecore/mixin/MixinTeleport.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.mixin; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.engine.EngineMassiveCoreTeleportMixinCause; import com.massivecraft.massivecore.event.EventMassiveCorePlayerPSTeleport; import com.massivecraft.massivecore.ps.PS; diff --git a/src/com/massivecraft/massivecore/nms/NmsChat.java b/src/com/massivecraft/massivecore/nms/NmsChat.java index 8e82a63c..afca98e8 100644 --- a/src/com/massivecraft/massivecore/nms/NmsChat.java +++ b/src/com/massivecraft/massivecore/nms/NmsChat.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.nms; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.mixin.Mixin; import com.massivecraft.massivecore.mson.Mson; import com.massivecraft.massivecore.util.IdUtil; diff --git a/src/com/massivecraft/massivecore/ps/PS.java b/src/com/massivecraft/massivecore/ps/PS.java index 429984a0..74b6bf5d 100644 --- a/src/com/massivecraft/massivecore/ps/PS.java +++ b/src/com/massivecraft/massivecore/ps/PS.java @@ -3,9 +3,9 @@ package com.massivecraft.massivecore.ps; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.annotations.SerializedName; -import com.massivecraft.massivecore.Aspect; +import com.massivecraft.massivecore.entity.Aspect; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.collections.MassiveSet; import com.massivecraft.massivecore.comparator.ComparatorSmart; import com.massivecraft.massivecore.util.MUtil; diff --git a/src/com/massivecraft/massivecore/store/Coll.java b/src/com/massivecraft/massivecore/store/Coll.java index c71b2483..edc55c19 100644 --- a/src/com/massivecraft/massivecore/store/Coll.java +++ b/src/com/massivecraft/massivecore/store/Coll.java @@ -6,7 +6,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; import com.massivecraft.massivecore.ConfServer; import com.massivecraft.massivecore.MassiveCore; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.MassivePlugin; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.comparator.ComparatorNaturalOrder; diff --git a/src/com/massivecraft/massivecore/store/Colls.java b/src/com/massivecraft/massivecore/store/Colls.java index b82aa76e..45e88b45 100644 --- a/src/com/massivecraft/massivecore/store/Colls.java +++ b/src/com/massivecraft/massivecore/store/Colls.java @@ -1,9 +1,9 @@ package com.massivecraft.massivecore.store; import com.massivecraft.massivecore.Active; -import com.massivecraft.massivecore.Aspect; +import com.massivecraft.massivecore.entity.Aspect; import com.massivecraft.massivecore.MassivePlugin; -import com.massivecraft.massivecore.Multiverse; +import com.massivecraft.massivecore.entity.Multiverse; import com.massivecraft.massivecore.util.MUtil; import java.util.ArrayList; diff --git a/src/com/massivecraft/massivecore/store/DriverMongo.java b/src/com/massivecraft/massivecore/store/DriverMongo.java index fdbdab70..632a4000 100644 --- a/src/com/massivecraft/massivecore/store/DriverMongo.java +++ b/src/com/massivecraft/massivecore/store/DriverMongo.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.store; import com.google.gson.JsonObject; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.collections.MassiveMap; import com.mongodb.BasicDBObject; import com.mongodb.DB; diff --git a/src/com/massivecraft/massivecore/store/Entity.java b/src/com/massivecraft/massivecore/store/Entity.java index f2cfb222..606c4157 100644 --- a/src/com/massivecraft/massivecore/store/Entity.java +++ b/src/com/massivecraft/massivecore/store/Entity.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.store; import com.google.gson.JsonObject; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.util.MUtil; import java.util.List; diff --git a/src/com/massivecraft/massivecore/store/MStore.java b/src/com/massivecraft/massivecore/store/MStore.java index 302adbd3..eb7570a3 100644 --- a/src/com/massivecraft/massivecore/store/MStore.java +++ b/src/com/massivecraft/massivecore/store/MStore.java @@ -2,7 +2,7 @@ package com.massivecraft.massivecore.store; import com.google.gson.JsonElement; import com.massivecraft.massivecore.ConfServer; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import java.net.URI; import java.net.URISyntaxException; diff --git a/src/com/massivecraft/massivecore/store/ModificationPollerLocal.java b/src/com/massivecraft/massivecore/store/ModificationPollerLocal.java index 35a58a61..02633341 100644 --- a/src/com/massivecraft/massivecore/store/ModificationPollerLocal.java +++ b/src/com/massivecraft/massivecore/store/ModificationPollerLocal.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.store; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; /* * This class polls for local changes in all colls. diff --git a/src/com/massivecraft/massivecore/store/ModificationPollerRemote.java b/src/com/massivecraft/massivecore/store/ModificationPollerRemote.java index 98395a30..2e8babc3 100644 --- a/src/com/massivecraft/massivecore/store/ModificationPollerRemote.java +++ b/src/com/massivecraft/massivecore/store/ModificationPollerRemote.java @@ -1,6 +1,6 @@ package com.massivecraft.massivecore.store; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; /* * This class polls for remote changes in colls. diff --git a/src/com/massivecraft/massivecore/test/Test.java b/src/com/massivecraft/massivecore/test/Test.java index 87a56472..726570b0 100644 --- a/src/com/massivecraft/massivecore/test/Test.java +++ b/src/com/massivecraft/massivecore/test/Test.java @@ -1,7 +1,7 @@ package com.massivecraft.massivecore.test; import com.massivecraft.massivecore.Engine; -import com.massivecraft.massivecore.MassiveCoreMConf; +import com.massivecraft.massivecore.entity.MassiveCoreMConf; import com.massivecraft.massivecore.collections.MassiveList; import com.massivecraft.massivecore.mixin.MixinMessage; import com.massivecraft.massivecore.util.IdUtil;