MassiveCore - MassivePlugin and Active
This commit is contained in:
parent
e26e174837
commit
6c1bd25ae9
11
src/com/massivecraft/massivecore/Active.java
Normal file
11
src/com/massivecraft/massivecore/Active.java
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
package com.massivecraft.massivecore;
|
||||||
|
|
||||||
|
public interface Active
|
||||||
|
{
|
||||||
|
public boolean isActive();
|
||||||
|
public void setActive(boolean active);
|
||||||
|
|
||||||
|
public MassivePlugin setActivePlugin(MassivePlugin plugin);
|
||||||
|
public MassivePlugin getActivePlugin();
|
||||||
|
|
||||||
|
}
|
@ -1,22 +1,162 @@
|
|||||||
package com.massivecraft.massivecore;
|
package com.massivecraft.massivecore;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.event.block.BlockMultiPlaceEvent;
|
||||||
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
public interface Engine extends Listener, Runnable
|
import com.massivecraft.massivecore.predicate.PredicateStartsWithIgnoreCase;
|
||||||
|
|
||||||
|
public abstract class Engine implements Active, Listener, Runnable
|
||||||
{
|
{
|
||||||
public Plugin getPlugin();
|
// -------------------------------------------- //
|
||||||
|
// PLUGIN
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public void activate();
|
private MassivePlugin plugin = null;
|
||||||
public void deactivate();
|
public MassivePlugin getPlugin() { return this.plugin; }
|
||||||
|
public boolean hasPlugin() { return this.getPlugin() != null; }
|
||||||
|
public void setPlugin(MassivePlugin plugin) { this.plugin = plugin; }
|
||||||
|
public void setPluginSoft(MassivePlugin plugin)
|
||||||
|
{
|
||||||
|
if (this.hasPlugin()) return;
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
public Long getDelay();
|
// -------------------------------------------- //
|
||||||
public Long getPeriod();
|
// TASK
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public Integer getTaskId();
|
private Long delay = 0L;
|
||||||
|
public Long getDelay() { return this.delay; }
|
||||||
|
public void setDelay(Long delay) { this.delay = delay; }
|
||||||
|
|
||||||
public BukkitTask getBukkitTask();
|
private Long period = null;
|
||||||
public boolean isSync();
|
public Long getPeriod() { return this.period; }
|
||||||
|
public void setPeriod(Long period) { this.period = period; }
|
||||||
|
|
||||||
|
private boolean sync = true;
|
||||||
|
public boolean isSync() { return this.sync; }
|
||||||
|
public void setSync(boolean sync) { this.sync = sync; }
|
||||||
|
|
||||||
|
private BukkitTask task = null;
|
||||||
|
public BukkitTask getTask() { return this.task; }
|
||||||
|
public Integer getTaskId() { return this.task == null ? null : this.task.getTaskId(); }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private boolean active = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
return this.active;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setActive(boolean active)
|
||||||
|
{
|
||||||
|
this.setActiveListener(active);
|
||||||
|
this.setActiveTask(active);
|
||||||
|
this.setActiveInner(active);
|
||||||
|
this.active = active;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MassivePlugin setActivePlugin(MassivePlugin activePlugin)
|
||||||
|
{
|
||||||
|
this.setPluginSoft(activePlugin);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MassivePlugin getActivePlugin()
|
||||||
|
{
|
||||||
|
return this.getPlugin();
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE > EVENTS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public void setActiveListener(boolean active)
|
||||||
|
{
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
Bukkit.getPluginManager().registerEvents(this, this.getPlugin());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HandlerList.unregisterAll(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE > TASK
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public void setActiveTask(boolean active)
|
||||||
|
{
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
if (this.getPeriod() != null)
|
||||||
|
{
|
||||||
|
if (this.isSync())
|
||||||
|
{
|
||||||
|
Bukkit.getScheduler().runTaskTimer(this.getPlugin(), this, this.getDelay(), this.getPeriod());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Bukkit.getScheduler().runTaskTimerAsynchronously(this.getPlugin(), this, this.getDelay(), this.getPeriod());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (this.task != null)
|
||||||
|
{
|
||||||
|
this.task.cancel();
|
||||||
|
this.task = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE > INNER
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public void setActiveInner(boolean active)
|
||||||
|
{
|
||||||
|
// NOTE: Here you can add some extra custom logic.
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// UTIL
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public static final PredicateStartsWithIgnoreCase STARTING_WITH_FAKE = PredicateStartsWithIgnoreCase.get("fake");
|
||||||
|
public static boolean isFake(Event event)
|
||||||
|
{
|
||||||
|
final Class<?> clazz = event.getClass();
|
||||||
|
if (event instanceof BlockPlaceEvent)
|
||||||
|
{
|
||||||
|
return ! BlockPlaceEvent.class.equals(clazz) && ! BlockMultiPlaceEvent.class.equals(clazz);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return STARTING_WITH_FAKE.apply(clazz.getSimpleName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,102 +0,0 @@
|
|||||||
package com.massivecraft.massivecore;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
|
||||||
import org.bukkit.event.block.BlockMultiPlaceEvent;
|
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
|
||||||
|
|
||||||
import com.massivecraft.massivecore.predicate.PredicateStartsWithIgnoreCase;
|
|
||||||
|
|
||||||
public abstract class EngineAbstract implements Engine
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private BukkitTask task;
|
|
||||||
@Override public Integer getTaskId() { return this.task.getTaskId(); }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
Bukkit.getPluginManager().registerEvents(this, this.getPlugin());
|
|
||||||
if (this.getPeriod() != null)
|
|
||||||
{
|
|
||||||
if (this.isSync())
|
|
||||||
{
|
|
||||||
Bukkit.getScheduler().runTaskTimer(this.getPlugin(), this, this.getDelay(), this.getPeriod());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Bukkit.getScheduler().runTaskTimerAsynchronously(this.getPlugin(), this, this.getDelay(), this.getPeriod());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deactivate()
|
|
||||||
{
|
|
||||||
HandlerList.unregisterAll(this);
|
|
||||||
if (this.task != null)
|
|
||||||
{
|
|
||||||
this.task.cancel();
|
|
||||||
this.task = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getDelay()
|
|
||||||
{
|
|
||||||
return 0L;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getPeriod()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BukkitTask getBukkitTask()
|
|
||||||
{
|
|
||||||
return this.task;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSync()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FAKE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static final PredicateStartsWithIgnoreCase STARTING_WITH_FAKE = PredicateStartsWithIgnoreCase.get("fake");
|
|
||||||
|
|
||||||
public static boolean isFake(Event event)
|
|
||||||
{
|
|
||||||
final Class<?> clazz = event.getClass();
|
|
||||||
if (event instanceof BlockPlaceEvent)
|
|
||||||
{
|
|
||||||
return ! BlockPlaceEvent.class.equals(clazz) && ! BlockMultiPlaceEvent.class.equals(clazz);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return STARTING_WITH_FAKE.apply(clazz.getSimpleName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
185
src/com/massivecraft/massivecore/Integration.java
Normal file
185
src/com/massivecraft/massivecore/Integration.java
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
package com.massivecraft.massivecore;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.server.PluginDisableEvent;
|
||||||
|
import org.bukkit.event.server.PluginEnableEvent;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.collections.MassiveList;
|
||||||
|
import com.massivecraft.massivecore.predicate.Predicate;
|
||||||
|
import com.massivecraft.massivecore.predicate.PredicateIntegration;
|
||||||
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
|
|
||||||
|
public class Integration extends Engine
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// NAME
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private String name = null;
|
||||||
|
public String getName() { return this.name; }
|
||||||
|
public Integration setName(String name) { this.name = name; return this; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// PREDICATE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private Predicate<Integration> predicate = PredicateIntegration.get();
|
||||||
|
public Predicate<Integration> getPredicate() { return this.predicate; }
|
||||||
|
public Integration setPredicate(Predicate<Integration> predicate) { this.predicate = predicate; return this; }
|
||||||
|
|
||||||
|
private List<String> pluginNames = Collections.emptyList();
|
||||||
|
public List<String> getPluginNames() { return this.pluginNames; }
|
||||||
|
public Integration setPluginNames(Collection<String> pluginNames) { this.pluginNames = new MassiveList<>(pluginNames); return this; }
|
||||||
|
public Integration setPluginNames(String... pluginNames) { return this.setPluginNames(Arrays.asList(pluginNames)); }
|
||||||
|
public Integration setPluginName(String pluginName) { return this.setPluginNames(pluginName); }
|
||||||
|
|
||||||
|
private List<String> classNames = Collections.emptyList();
|
||||||
|
public List<String> getClassNames() { return this.classNames; }
|
||||||
|
public Integration setClassNames(Collection<String> classNames) { this.classNames = new MassiveList<>(classNames); return this; }
|
||||||
|
public Integration setClassNames(String... classNames) { return this.setClassNames(Arrays.asList(classNames)); }
|
||||||
|
public Integration setClassName(String className) { return this.setClassNames(className); }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INTEGRATION ACTIVE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
// NOTE: We must make use of duplicate information to avoid triggering class loads.
|
||||||
|
private boolean integrationActive = false;
|
||||||
|
public boolean isIntegrationActive() { return this.integrationActive; }
|
||||||
|
public void setIntegrationActive(Boolean integrationActive)
|
||||||
|
{
|
||||||
|
// Calc
|
||||||
|
if (integrationActive == null)
|
||||||
|
{
|
||||||
|
integrationActive = this.getPredicate().apply(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// NoChange
|
||||||
|
if (this.isIntegrationActive() == integrationActive) return;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.setIntegrationActiveEngines(integrationActive);
|
||||||
|
this.setIntegrationActiveInner(integrationActive);
|
||||||
|
|
||||||
|
this.integrationActive = integrationActive;
|
||||||
|
|
||||||
|
String message = Txt.parse(integrationActive ? "<g>Activated Integration <h>%s" : "<b>Deactivated Integration <h>%s", this.getName());
|
||||||
|
this.getPlugin().log(message);
|
||||||
|
}
|
||||||
|
catch (Throwable t)
|
||||||
|
{
|
||||||
|
String message = Txt.parse(integrationActive ? "<b>Activating Integration <h>%s<b> FAILED:" : "<b>Deactivating Integration <h>%s<b> FAILED:", this.getName());
|
||||||
|
this.getPlugin().log(message);
|
||||||
|
t.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void setIntegrationActive()
|
||||||
|
{
|
||||||
|
this.setIntegrationActive(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INTEGRATION ACTIVE > ENGINES
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public void setIntegrationActiveEngines(boolean active)
|
||||||
|
{
|
||||||
|
for (Engine engine : this.getEngines())
|
||||||
|
{
|
||||||
|
engine.setPluginSoft(this.getPlugin());
|
||||||
|
engine.setActive(active);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Engine> getEngines()
|
||||||
|
{
|
||||||
|
Engine engine = this.getEngine();
|
||||||
|
if (engine == null) return Collections.emptyList();
|
||||||
|
return Collections.singletonList(engine);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Engine getEngine()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INTEGRATION ACTIVE > INNER
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public void setIntegrationActiveInner(boolean active)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public Integration()
|
||||||
|
{
|
||||||
|
// TODO: Improve upon this one
|
||||||
|
this.setName(this.getClass().getSimpleName());
|
||||||
|
|
||||||
|
// TODO: Is this period fine?
|
||||||
|
this.setPeriod(10L);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// TICK > ACTIVE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setActiveInner(boolean active)
|
||||||
|
{
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
this.setIntegrationActive();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.setIntegrationActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// TICK > RUN
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
this.setIntegrationActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// TICK > EVENT LISTENERS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onPluginDisable(PluginDisableEvent event)
|
||||||
|
{
|
||||||
|
if (this.getPlugin().equals(event.getPlugin()))
|
||||||
|
{
|
||||||
|
this.setIntegrationActive(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.setIntegrationActive();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
public void onPluginEnable(PluginEnableEvent event)
|
||||||
|
{
|
||||||
|
this.setIntegrationActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,7 +1,6 @@
|
|||||||
package com.massivecraft.massivecore;
|
package com.massivecraft.massivecore;
|
||||||
|
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -97,7 +96,10 @@ public class MassiveCore extends MassivePlugin
|
|||||||
|
|
||||||
private static MassiveCore i;
|
private static MassiveCore i;
|
||||||
public static MassiveCore get() { return i; }
|
public static MassiveCore get() { return i; }
|
||||||
public MassiveCore() { i = this; }
|
public MassiveCore()
|
||||||
|
{
|
||||||
|
i = this;
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// STATIC
|
// STATIC
|
||||||
@ -152,26 +154,6 @@ public class MassiveCore extends MassivePlugin
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
// Commands
|
|
||||||
private CmdMassiveCore outerCmdMassiveCore;
|
|
||||||
public CmdMassiveCore getOuterCmdMassiveCore() { return this.outerCmdMassiveCore; }
|
|
||||||
|
|
||||||
private CmdMassiveCoreUsys outerCmdMassiveCoreUsys;
|
|
||||||
public CmdMassiveCoreUsys getOuterCmdMassiveCoreUsys() { return this.outerCmdMassiveCoreUsys; }
|
|
||||||
|
|
||||||
private CmdMassiveCoreStore outerCmdMassiveCoreStore;
|
|
||||||
public CmdMassiveCoreStore getOuterCmdMassiveCoreStore() { return this.outerCmdMassiveCoreStore; }
|
|
||||||
|
|
||||||
private CmdMassiveCoreBuffer outerCmdMassiveCoreBuffer;
|
|
||||||
public CmdMassiveCoreBuffer getOuterCmdMassiveCoreBuffer() { return this.outerCmdMassiveCoreBuffer; }
|
|
||||||
|
|
||||||
private CmdMassiveCoreCmdurl outerCmdMassiveCoreCmdurl;
|
|
||||||
public CmdMassiveCoreCmdurl getOuterCmdMassiveCoreCmdurl() { return this.outerCmdMassiveCoreCmdurl; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// OVERRIDE
|
// OVERRIDE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -185,7 +167,7 @@ public class MassiveCore extends MassivePlugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable()
|
public void onEnableInner()
|
||||||
{
|
{
|
||||||
// This is safe since all plugins using Persist should bukkit-depend this plugin.
|
// This is safe since all plugins using Persist should bukkit-depend this plugin.
|
||||||
// Note this one must be before preEnable. dooh.
|
// Note this one must be before preEnable. dooh.
|
||||||
@ -193,68 +175,57 @@ public class MassiveCore extends MassivePlugin
|
|||||||
// TODO: Test and ensure reload compat.
|
// TODO: Test and ensure reload compat.
|
||||||
// Coll.instances.clear();
|
// Coll.instances.clear();
|
||||||
|
|
||||||
if ( ! preEnable()) return;
|
|
||||||
|
|
||||||
// Load Server Config
|
// Load Server Config
|
||||||
ConfServer.get().load();
|
ConfServer.get().load();
|
||||||
|
|
||||||
// Setup IdUtil
|
// Setup IdUtil
|
||||||
IdUtil.setup();
|
IdUtil.setup();
|
||||||
|
|
||||||
// Engine
|
// Activate
|
||||||
EngineMassiveCoreChestGui.get().activate();
|
this.activate(
|
||||||
EngineMassiveCoreCollTick.get().activate();
|
// Coll
|
||||||
EngineMassiveCoreCommandRegistration.get().activate();
|
MultiverseColl.get(),
|
||||||
EngineMassiveCoreDatabase.get().activate();
|
AspectColl.get(),
|
||||||
EngineMassiveCoreDestination.get().activate();
|
MassiveCoreMConfColl.get(),
|
||||||
EngineMassiveCoreGank.get().activate();
|
|
||||||
EngineMassiveCoreMain.get().activate();
|
|
||||||
EngineMassiveCorePlayerLeave.get().activate();
|
|
||||||
EngineMassiveCorePlayerState.get().activate();
|
|
||||||
EngineMassiveCorePlayerUpdate.get().activate();
|
|
||||||
EngineMassiveCoreScheduledTeleport.get().activate();
|
|
||||||
EngineMassiveCoreTeleportMixinCause.get().activate();
|
|
||||||
EngineMassiveCoreVariable.get().activate();
|
|
||||||
EngineMassiveCoreWorldNameSet.get().activate();
|
|
||||||
|
|
||||||
PlayerUtil.get().activate();
|
// Engine
|
||||||
|
EngineMassiveCoreChestGui.get(),
|
||||||
|
EngineMassiveCoreCollTick.get(),
|
||||||
|
EngineMassiveCoreCommandRegistration.get(),
|
||||||
|
EngineMassiveCoreDatabase.get(),
|
||||||
|
EngineMassiveCoreDestination.get(),
|
||||||
|
EngineMassiveCoreGank.get(),
|
||||||
|
EngineMassiveCoreMain.get(),
|
||||||
|
EngineMassiveCorePlayerLeave.get(),
|
||||||
|
EngineMassiveCorePlayerState.get(),
|
||||||
|
EngineMassiveCorePlayerUpdate.get(),
|
||||||
|
EngineMassiveCoreScheduledTeleport.get(),
|
||||||
|
EngineMassiveCoreTeleportMixinCause.get(),
|
||||||
|
EngineMassiveCoreVariable.get(),
|
||||||
|
EngineMassiveCoreWorldNameSet.get(),
|
||||||
|
|
||||||
// Collections
|
// Util
|
||||||
MultiverseColl.get().init();
|
PlayerUtil.get(),
|
||||||
AspectColl.get().init();
|
|
||||||
MassiveCoreMConfColl.get().init();
|
// Integration
|
||||||
|
IntegrationVault.get(),
|
||||||
|
|
||||||
|
// Command
|
||||||
|
CmdMassiveCore.get(),
|
||||||
|
CmdMassiveCoreUsys.get(),
|
||||||
|
CmdMassiveCoreStore.get(),
|
||||||
|
CmdMassiveCoreBuffer.get(),
|
||||||
|
CmdMassiveCoreCmdurl.get()
|
||||||
|
);
|
||||||
|
|
||||||
// Start the examine threads
|
// Start the examine threads
|
||||||
// Start AFTER initializing the MConf, because they rely on the MConf.
|
// Start AFTER initializing the MConf, because they rely on the MConf.
|
||||||
ModificationPollerLocal.get().start();
|
ModificationPollerLocal.get().start();
|
||||||
ModificationPollerRemote.get().start();
|
ModificationPollerRemote.get().start();
|
||||||
|
|
||||||
// Register commands
|
|
||||||
this.outerCmdMassiveCore = new CmdMassiveCore() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCore; } };
|
|
||||||
this.outerCmdMassiveCore.register(this);
|
|
||||||
|
|
||||||
this.outerCmdMassiveCoreUsys = new CmdMassiveCoreUsys() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreUsys; } };
|
|
||||||
this.outerCmdMassiveCoreUsys.register(this);
|
|
||||||
|
|
||||||
this.outerCmdMassiveCoreStore = new CmdMassiveCoreStore() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreStore; } };
|
|
||||||
this.outerCmdMassiveCoreStore.register(this);
|
|
||||||
|
|
||||||
this.outerCmdMassiveCoreBuffer = new CmdMassiveCoreBuffer() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreBuffer; } };
|
|
||||||
this.outerCmdMassiveCoreBuffer.register(this);
|
|
||||||
|
|
||||||
this.outerCmdMassiveCoreCmdurl = new CmdMassiveCoreCmdurl() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreCmdurl; } };
|
|
||||||
this.outerCmdMassiveCoreCmdurl.register(this);
|
|
||||||
|
|
||||||
// Integration
|
|
||||||
this.integrate(
|
|
||||||
IntegrationVault.get()
|
|
||||||
);
|
|
||||||
|
|
||||||
// Delete Files (at once and additionally after all plugins loaded)
|
// Delete Files (at once and additionally after all plugins loaded)
|
||||||
MassiveCoreTaskDeleteFiles.get().run();
|
MassiveCoreTaskDeleteFiles.get().run();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, MassiveCoreTaskDeleteFiles.get());
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, MassiveCoreTaskDeleteFiles.get());
|
||||||
|
|
||||||
this.postEnable();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -32,13 +32,9 @@ public class MassiveCoreMConf extends Entity<MassiveCoreMConf>
|
|||||||
public int maxTabCompletions = 100;
|
public int maxTabCompletions = 100;
|
||||||
|
|
||||||
public List<String> aliasesOuterMassiveCore = MUtil.list("massivecore", "mcore");
|
public List<String> aliasesOuterMassiveCore = MUtil.list("massivecore", "mcore");
|
||||||
|
|
||||||
public List<String> aliasesOuterMassiveCoreUsys = MUtil.list("usys");
|
public List<String> aliasesOuterMassiveCoreUsys = MUtil.list("usys");
|
||||||
|
|
||||||
public List<String> aliasesOuterMassiveCoreStore = MUtil.list("massivestore", "mstore");
|
public List<String> aliasesOuterMassiveCoreStore = MUtil.list("massivestore", "mstore");
|
||||||
|
|
||||||
public List<String> aliasesOuterMassiveCoreBuffer = MUtil.list("buffer");
|
public List<String> aliasesOuterMassiveCoreBuffer = MUtil.list("buffer");
|
||||||
|
|
||||||
public List<String> aliasesOuterMassiveCoreCmdurl = MUtil.list("cmdurl");
|
public List<String> aliasesOuterMassiveCoreCmdurl = MUtil.list("cmdurl");
|
||||||
|
|
||||||
public boolean usingRecipientChatEvent = true;
|
public boolean usingRecipientChatEvent = true;
|
||||||
|
@ -32,9 +32,12 @@ public class MassiveCoreMConfColl extends Coll<MassiveCoreMConf>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init()
|
public void setActive(boolean active)
|
||||||
{
|
{
|
||||||
super.init();
|
super.setActive(active);
|
||||||
|
|
||||||
|
if ( ! active) return;
|
||||||
|
|
||||||
MassiveCoreMConf.i = this.get(MassiveCore.INSTANCE, true);
|
MassiveCoreMConf.i = this.get(MassiveCore.INSTANCE, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,8 +11,6 @@ import org.bukkit.event.Listener;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.integration.IntegrationGlue;
|
|
||||||
import com.massivecraft.massivecore.integration.Integration;
|
|
||||||
import com.massivecraft.massivecore.store.Coll;
|
import com.massivecraft.massivecore.store.Coll;
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
import com.massivecraft.massivecore.xlib.gson.Gson;
|
import com.massivecraft.massivecore.xlib.gson.Gson;
|
||||||
@ -49,6 +47,9 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener
|
|||||||
|
|
||||||
log("=== ENABLE START ===");
|
log("=== ENABLE START ===");
|
||||||
|
|
||||||
|
// Version Synchronization
|
||||||
|
this.checkVersionSynchronization();
|
||||||
|
|
||||||
// Create Gson
|
// Create Gson
|
||||||
Gson gson = this.getGsonBuilder().create();
|
Gson gson = this.getGsonBuilder().create();
|
||||||
this.setGson(gson);
|
this.setGson(gson);
|
||||||
@ -74,9 +75,6 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener
|
|||||||
public void postEnable()
|
public void postEnable()
|
||||||
{
|
{
|
||||||
long ms = System.currentTimeMillis() - enableTime;
|
long ms = System.currentTimeMillis() - enableTime;
|
||||||
|
|
||||||
this.checkVersionSynchronization();
|
|
||||||
|
|
||||||
log(Txt.parse("=== ENABLE <g>COMPLETE <i>(Took <h>" + ms + "ms<i>) ==="));
|
log(Txt.parse("=== ENABLE <g>COMPLETE <i>(Took <h>" + ms + "ms<i>) ==="));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,9 +118,16 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener
|
|||||||
{
|
{
|
||||||
if ( ! this.preEnable()) return;
|
if ( ! this.preEnable()) return;
|
||||||
|
|
||||||
|
this.onEnableInner();
|
||||||
|
|
||||||
this.postEnable();
|
this.postEnable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onEnableInner()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// DISABLE
|
// DISABLE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -137,7 +142,7 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener
|
|||||||
for (Coll<?> coll : Coll.getInstances())
|
for (Coll<?> coll : Coll.getInstances())
|
||||||
{
|
{
|
||||||
if (coll.getPlugin() != this) continue;
|
if (coll.getPlugin() != this) continue;
|
||||||
coll.deinit();
|
coll.setActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
log("Disabled");
|
log("Disabled");
|
||||||
@ -158,15 +163,16 @@ public abstract class MassivePlugin extends JavaPlugin implements Listener
|
|||||||
|
|
||||||
public void suicide()
|
public void suicide()
|
||||||
{
|
{
|
||||||
log(Txt.parse("<b>Now I suicide!"));
|
this.log(Txt.parse("<b>Now I suicide!"));
|
||||||
Bukkit.getPluginManager().disablePlugin(this);
|
Bukkit.getPluginManager().disablePlugin(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void integrate(Integration... features)
|
public void activate(Active... actives)
|
||||||
{
|
{
|
||||||
for (Integration f : features)
|
for (Active active : actives)
|
||||||
{
|
{
|
||||||
new IntegrationGlue(this, f);
|
active.setActivePlugin(this);
|
||||||
|
active.setActive(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package com.massivecraft.massivecore;
|
|||||||
* This class will allow you to create non-tps-dependent repeating tasks.
|
* This class will allow you to create non-tps-dependent repeating tasks.
|
||||||
* It makes use of the Bukkit scheduler internally.
|
* It makes use of the Bukkit scheduler internally.
|
||||||
*/
|
*/
|
||||||
public abstract class ModuloRepeatTask extends EngineAbstract
|
public abstract class ModuloRepeatTask extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS: RAW
|
// FIELDS: RAW
|
||||||
|
@ -31,9 +31,11 @@ public class MultiverseColl extends Coll<Multiverse>
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init()
|
public void setActive(boolean active)
|
||||||
{
|
{
|
||||||
super.init();
|
super.setActive(active);
|
||||||
|
|
||||||
|
if ( ! active) return;
|
||||||
|
|
||||||
// Ensure the default multiverse exits
|
// Ensure the default multiverse exits
|
||||||
this.get(MassiveCore.DEFAULT, true);
|
this.get(MassiveCore.DEFAULT, true);
|
||||||
|
@ -14,11 +14,14 @@ import java.util.Set;
|
|||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.command.PluginIdentifiableCommand;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.Active;
|
||||||
import com.massivecraft.massivecore.Lang;
|
import com.massivecraft.massivecore.Lang;
|
||||||
import com.massivecraft.massivecore.MassiveException;
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
|
import com.massivecraft.massivecore.MassivePlugin;
|
||||||
import com.massivecraft.massivecore.collections.MassiveList;
|
import com.massivecraft.massivecore.collections.MassiveList;
|
||||||
import com.massivecraft.massivecore.collections.MassiveMap;
|
import com.massivecraft.massivecore.collections.MassiveMap;
|
||||||
import com.massivecraft.massivecore.command.requirement.Requirement;
|
import com.massivecraft.massivecore.command.requirement.Requirement;
|
||||||
@ -30,7 +33,7 @@ import com.massivecraft.massivecore.predicate.PredicateStartsWithIgnoreCase;
|
|||||||
import com.massivecraft.massivecore.util.PermUtil;
|
import com.massivecraft.massivecore.util.PermUtil;
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
|
|
||||||
public class MassiveCommand
|
public class MassiveCommand implements Active, PluginIdentifiableCommand
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REGISTER
|
// REGISTER
|
||||||
@ -49,15 +52,15 @@ public class MassiveCommand
|
|||||||
// When registering again we use the fresh and current aliases.
|
// When registering again we use the fresh and current aliases.
|
||||||
|
|
||||||
// STATIC
|
// STATIC
|
||||||
private static final transient Map<MassiveCommand, Plugin> registry = new LinkedHashMap<MassiveCommand, Plugin>();
|
private static final transient Map<MassiveCommand, MassivePlugin> registry = new LinkedHashMap<MassiveCommand, MassivePlugin>();
|
||||||
public static Map<MassiveCommand, Plugin> getRegistry() { return registry; }
|
public static Map<MassiveCommand, MassivePlugin> getRegistry() { return registry; }
|
||||||
public static Set<MassiveCommand> getRegisteredCommands() { return registry.keySet(); }
|
public static Set<MassiveCommand> getRegisteredCommands() { return registry.keySet(); }
|
||||||
public static void unregister(Plugin plugin)
|
public static void unregister(Plugin plugin)
|
||||||
{
|
{
|
||||||
Iterator<Entry<MassiveCommand, Plugin>> iter = registry.entrySet().iterator();
|
Iterator<Entry<MassiveCommand, MassivePlugin>> iter = registry.entrySet().iterator();
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
Entry<MassiveCommand, Plugin> entry = iter.next();
|
Entry<MassiveCommand, MassivePlugin> entry = iter.next();
|
||||||
if (plugin.equals(entry.getValue()))
|
if (plugin.equals(entry.getValue()))
|
||||||
{
|
{
|
||||||
iter.remove();
|
iter.remove();
|
||||||
@ -65,11 +68,48 @@ public class MassiveCommand
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// INSTANCE
|
// -------------------------------------------- //
|
||||||
public Plugin register(Plugin plugin) { return registry.put(this, plugin); }
|
// ACTIVE
|
||||||
public void unregister() { registry.remove(this); }
|
// -------------------------------------------- //
|
||||||
public boolean isRegistered() { return registry.containsKey(this); }
|
|
||||||
public Plugin getRegisteredPlugin() { return registry.get(this); }
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
return registry.containsKey(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setActive(boolean active)
|
||||||
|
{
|
||||||
|
// NOTE: Not Implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
public MassivePlugin setActivePlugin(MassivePlugin activePlugin)
|
||||||
|
{
|
||||||
|
if (activePlugin == null)
|
||||||
|
{
|
||||||
|
return registry.remove(this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return registry.put(this, activePlugin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public MassivePlugin getActivePlugin()
|
||||||
|
{
|
||||||
|
return registry.get(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// PLUGIN IDENTIFIABLE COMMAND
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Plugin getPlugin()
|
||||||
|
{
|
||||||
|
return this.getActivePlugin();
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
|
@ -47,7 +47,7 @@ public class MassiveCoreBukkitCommand extends Command implements PluginIdentifia
|
|||||||
@Override
|
@Override
|
||||||
public Plugin getPlugin()
|
public Plugin getPlugin()
|
||||||
{
|
{
|
||||||
return this.getMassiveCommand().getRegisteredPlugin();
|
return this.getMassiveCommand().getPlugin();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package com.massivecraft.massivecore.command.massivecore;
|
package com.massivecraft.massivecore.command.massivecore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.command.VersionCommand;
|
import com.massivecraft.massivecore.command.VersionCommand;
|
||||||
@ -8,6 +11,13 @@ import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
|||||||
|
|
||||||
public class CmdMassiveCore extends MassiveCommand
|
public class CmdMassiveCore extends MassiveCommand
|
||||||
{
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static CmdMassiveCore i = new CmdMassiveCore();
|
||||||
|
public static CmdMassiveCore get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -41,4 +51,14 @@ public class CmdMassiveCore extends MassiveCommand
|
|||||||
this.addRequirements(RequirementHasPerm.get(MassiveCorePerm.BASECOMMAND.node));
|
this.addRequirements(RequirementHasPerm.get(MassiveCorePerm.BASECOMMAND.node));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getAliases()
|
||||||
|
{
|
||||||
|
return MassiveCoreMConf.get().aliasesOuterMassiveCore;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,21 @@
|
|||||||
package com.massivecraft.massivecore.command.massivecore;
|
package com.massivecraft.massivecore.command.massivecore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
||||||
|
|
||||||
public class CmdMassiveCoreBuffer extends MassiveCommand
|
public class CmdMassiveCoreBuffer extends MassiveCommand
|
||||||
{
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static CmdMassiveCoreBuffer i = new CmdMassiveCoreBuffer() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreBuffer; } };
|
||||||
|
public static CmdMassiveCoreBuffer get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -8,6 +8,7 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.MassiveException;
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
@ -19,6 +20,13 @@ import com.massivecraft.massivecore.util.WebUtil;
|
|||||||
|
|
||||||
public class CmdMassiveCoreCmdurl extends MassiveCommand
|
public class CmdMassiveCoreCmdurl extends MassiveCommand
|
||||||
{
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static CmdMassiveCoreCmdurl i = new CmdMassiveCoreCmdurl() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreCmdurl; } };
|
||||||
|
public static CmdMassiveCoreCmdurl get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -1,11 +1,21 @@
|
|||||||
package com.massivecraft.massivecore.command.massivecore;
|
package com.massivecraft.massivecore.command.massivecore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
||||||
|
|
||||||
public class CmdMassiveCoreStore extends MassiveCommand
|
public class CmdMassiveCoreStore extends MassiveCommand
|
||||||
{
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static CmdMassiveCoreStore i = new CmdMassiveCoreStore() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreStore; } };
|
||||||
|
public static CmdMassiveCoreStore get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -1,11 +1,21 @@
|
|||||||
package com.massivecraft.massivecore.command.massivecore;
|
package com.massivecraft.massivecore.command.massivecore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
import com.massivecraft.massivecore.command.requirement.RequirementHasPerm;
|
||||||
|
|
||||||
public class CmdMassiveCoreUsys extends MassiveCommand
|
public class CmdMassiveCoreUsys extends MassiveCommand
|
||||||
{
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static CmdMassiveCoreUsys i = new CmdMassiveCoreUsys() { public List<String> getAliases() { return MassiveCoreMConf.get().aliasesOuterMassiveCoreUsys; } };
|
||||||
|
public static CmdMassiveCoreUsys get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -6,16 +6,13 @@ import org.bukkit.event.EventPriority;
|
|||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.chestgui.ChestAction;
|
import com.massivecraft.massivecore.chestgui.ChestAction;
|
||||||
import com.massivecraft.massivecore.chestgui.ChestGui;
|
import com.massivecraft.massivecore.chestgui.ChestGui;
|
||||||
import com.massivecraft.massivecore.mixin.Mixin;
|
import com.massivecraft.massivecore.mixin.Mixin;
|
||||||
import com.massivecraft.massivecore.util.InventoryUtil;
|
import com.massivecraft.massivecore.util.InventoryUtil;
|
||||||
|
|
||||||
public class EngineMassiveCoreChestGui extends EngineAbstract
|
public class EngineMassiveCoreChestGui extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -24,16 +21,6 @@ public class EngineMassiveCoreChestGui extends EngineAbstract
|
|||||||
private static EngineMassiveCoreChestGui i = new EngineMassiveCoreChestGui();
|
private static EngineMassiveCoreChestGui i = new EngineMassiveCoreChestGui();
|
||||||
public static EngineMassiveCoreChestGui get() { return i; }
|
public static EngineMassiveCoreChestGui get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// LISTENER
|
// LISTENER
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -1,34 +1,19 @@
|
|||||||
package com.massivecraft.massivecore.engine;
|
package com.massivecraft.massivecore.engine;
|
||||||
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.store.Coll;
|
import com.massivecraft.massivecore.store.Coll;
|
||||||
|
|
||||||
public class EngineMassiveCoreCollTick extends EngineAbstract
|
public class EngineMassiveCoreCollTick extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
protected static EngineMassiveCoreCollTick i = new EngineMassiveCoreCollTick();
|
private static EngineMassiveCoreCollTick i = new EngineMassiveCoreCollTick();
|
||||||
public static EngineMassiveCoreCollTick get() { return i; }
|
public static EngineMassiveCoreCollTick get() { return i; }
|
||||||
|
public EngineMassiveCoreCollTick()
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE: ENGINE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
{
|
||||||
return MassiveCore.get();
|
this.setPeriod(1L);
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getPeriod()
|
|
||||||
{
|
|
||||||
return 1L;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -12,13 +12,12 @@ import org.bukkit.command.Command;
|
|||||||
import org.bukkit.command.SimpleCommandMap;
|
import org.bukkit.command.SimpleCommandMap;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
import com.massivecraft.massivecore.Engine;
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.command.MassiveCommand;
|
import com.massivecraft.massivecore.command.MassiveCommand;
|
||||||
import com.massivecraft.massivecore.command.MassiveCoreBukkitCommand;
|
import com.massivecraft.massivecore.command.MassiveCoreBukkitCommand;
|
||||||
import com.massivecraft.massivecore.util.ReflectionUtil;
|
import com.massivecraft.massivecore.util.ReflectionUtil;
|
||||||
|
|
||||||
public class EngineMassiveCoreCommandRegistration extends EngineAbstract
|
public class EngineMassiveCoreCommandRegistration extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -26,22 +25,9 @@ public class EngineMassiveCoreCommandRegistration extends EngineAbstract
|
|||||||
|
|
||||||
private static EngineMassiveCoreCommandRegistration i = new EngineMassiveCoreCommandRegistration();
|
private static EngineMassiveCoreCommandRegistration i = new EngineMassiveCoreCommandRegistration();
|
||||||
public static EngineMassiveCoreCommandRegistration get() { return i; }
|
public static EngineMassiveCoreCommandRegistration get() { return i; }
|
||||||
|
public EngineMassiveCoreCommandRegistration()
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
{
|
||||||
return MassiveCore.get();
|
this.setPeriod(20L); // Every second
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getPeriod()
|
|
||||||
{
|
|
||||||
// Every second
|
|
||||||
return 1 * 20L;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -14,9 +14,7 @@ import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
|||||||
import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
import com.massivecraft.massivecore.collections.MassiveMap;
|
import com.massivecraft.massivecore.collections.MassiveMap;
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
||||||
@ -28,7 +26,7 @@ import com.massivecraft.massivecore.util.IdUtil;
|
|||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
||||||
|
|
||||||
public class EngineMassiveCoreDatabase extends EngineAbstract
|
public class EngineMassiveCoreDatabase extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -37,22 +35,6 @@ public class EngineMassiveCoreDatabase extends EngineAbstract
|
|||||||
private static EngineMassiveCoreDatabase i = new EngineMassiveCoreDatabase();
|
private static EngineMassiveCoreDatabase i = new EngineMassiveCoreDatabase();
|
||||||
public static EngineMassiveCoreDatabase get() { return i; }
|
public static EngineMassiveCoreDatabase get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
super.activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// PLAYER AND SENDER REFERENCES
|
// PLAYER AND SENDER REFERENCES
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -9,10 +9,7 @@ import org.bukkit.command.CommandSender;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.MassiveException;
|
import com.massivecraft.massivecore.MassiveException;
|
||||||
import com.massivecraft.massivecore.collections.MassiveSet;
|
import com.massivecraft.massivecore.collections.MassiveSet;
|
||||||
import com.massivecraft.massivecore.command.type.TypePS;
|
import com.massivecraft.massivecore.command.type.TypePS;
|
||||||
@ -31,7 +28,7 @@ import com.massivecraft.massivecore.teleport.DestinationUtil;
|
|||||||
import com.massivecraft.massivecore.teleport.DestinationWorld;
|
import com.massivecraft.massivecore.teleport.DestinationWorld;
|
||||||
import com.massivecraft.massivecore.util.IdUtil;
|
import com.massivecraft.massivecore.util.IdUtil;
|
||||||
|
|
||||||
public class EngineMassiveCoreDestination extends EngineAbstract
|
public class EngineMassiveCoreDestination extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -40,16 +37,6 @@ public class EngineMassiveCoreDestination extends EngineAbstract
|
|||||||
private static EngineMassiveCoreDestination i = new EngineMassiveCoreDestination();
|
private static EngineMassiveCoreDestination i = new EngineMassiveCoreDestination();
|
||||||
public static EngineMassiveCoreDestination get() { return i; }
|
public static EngineMassiveCoreDestination get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// DESTINATION ARG
|
// DESTINATION ARG
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -10,14 +10,11 @@ import org.bukkit.entity.Player;
|
|||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.collections.MassiveMap;
|
import com.massivecraft.massivecore.collections.MassiveMap;
|
||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
|
||||||
public class EngineMassiveCoreGank extends EngineAbstract
|
public class EngineMassiveCoreGank extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -25,17 +22,6 @@ public class EngineMassiveCoreGank extends EngineAbstract
|
|||||||
|
|
||||||
private static EngineMassiveCoreGank i = new EngineMassiveCoreGank();
|
private static EngineMassiveCoreGank i = new EngineMassiveCoreGank();
|
||||||
public static EngineMassiveCoreGank get() { return i; }
|
public static EngineMassiveCoreGank get() { return i; }
|
||||||
public EngineMassiveCoreGank() {}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// PROTECTED
|
// PROTECTED
|
||||||
|
@ -18,9 +18,7 @@ import org.bukkit.event.player.PlayerKickEvent;
|
|||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
import com.massivecraft.massivecore.MassiveCoreMConf;
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.SenderPresence;
|
import com.massivecraft.massivecore.SenderPresence;
|
||||||
@ -36,7 +34,7 @@ import com.massivecraft.massivecore.util.IdUtil;
|
|||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
import com.massivecraft.massivecore.util.SmokeUtil;
|
import com.massivecraft.massivecore.util.SmokeUtil;
|
||||||
|
|
||||||
public class EngineMassiveCoreMain extends EngineAbstract
|
public class EngineMassiveCoreMain extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -45,22 +43,6 @@ public class EngineMassiveCoreMain extends EngineAbstract
|
|||||||
private static EngineMassiveCoreMain i = new EngineMassiveCoreMain();
|
private static EngineMassiveCoreMain i = new EngineMassiveCoreMain();
|
||||||
public static EngineMassiveCoreMain get() { return i; }
|
public static EngineMassiveCoreMain get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
super.activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// RECIPIENT CHAT
|
// RECIPIENT CHAT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -7,14 +7,12 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.player.PlayerKickEvent;
|
import org.bukkit.event.player.PlayerKickEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
|
||||||
public class EngineMassiveCorePlayerLeave extends EngineAbstract
|
public class EngineMassiveCorePlayerLeave extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -23,20 +21,11 @@ public class EngineMassiveCorePlayerLeave extends EngineAbstract
|
|||||||
private static EngineMassiveCorePlayerLeave i = new EngineMassiveCorePlayerLeave();
|
private static EngineMassiveCorePlayerLeave i = new EngineMassiveCorePlayerLeave();
|
||||||
public static EngineMassiveCorePlayerLeave get() { return i; }
|
public static EngineMassiveCorePlayerLeave get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Plugin getPlugin()
|
public void setActiveInner(boolean active)
|
||||||
{
|
{
|
||||||
return MassiveCore.get();
|
if ( ! active) return;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
super.activate();
|
|
||||||
EventMassiveCorePlayerLeave.player2event.clear();
|
EventMassiveCorePlayerLeave.player2event.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,15 +12,13 @@ import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
|||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
import com.massivecraft.massivecore.PlayerState;
|
import com.massivecraft.massivecore.PlayerState;
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
|
||||||
public class EngineMassiveCorePlayerState extends EngineAbstract
|
public class EngineMassiveCorePlayerState extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -34,15 +32,9 @@ public class EngineMassiveCorePlayerState extends EngineAbstract
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Plugin getPlugin()
|
public void setActiveInner(boolean active)
|
||||||
{
|
{
|
||||||
return MassiveCore.get();
|
if ( ! active) return;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
super.activate();
|
|
||||||
|
|
||||||
idToState.clear();
|
idToState.clear();
|
||||||
for (Player player : MUtil.getOnlinePlayers())
|
for (Player player : MUtil.getOnlinePlayers())
|
||||||
|
@ -12,10 +12,7 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
|||||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCoreAfterPlayerRespawn;
|
import com.massivecraft.massivecore.event.EventMassiveCoreAfterPlayerRespawn;
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCoreAfterPlayerTeleport;
|
import com.massivecraft.massivecore.event.EventMassiveCoreAfterPlayerTeleport;
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCorePlayerUpdate;
|
import com.massivecraft.massivecore.event.EventMassiveCorePlayerUpdate;
|
||||||
@ -25,7 +22,7 @@ import com.massivecraft.massivecore.util.MUtil;
|
|||||||
* This event triggers the EventMassiveCorePlayerUpdate on every block change.
|
* This event triggers the EventMassiveCorePlayerUpdate on every block change.
|
||||||
* It also runs it in reset mode rather than update mode upon world change.
|
* It also runs it in reset mode rather than update mode upon world change.
|
||||||
*/
|
*/
|
||||||
public class EngineMassiveCorePlayerUpdate extends EngineAbstract
|
public class EngineMassiveCorePlayerUpdate extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -34,16 +31,6 @@ public class EngineMassiveCorePlayerUpdate extends EngineAbstract
|
|||||||
private static EngineMassiveCorePlayerUpdate i = new EngineMassiveCorePlayerUpdate();
|
private static EngineMassiveCorePlayerUpdate i = new EngineMassiveCorePlayerUpdate();
|
||||||
public static EngineMassiveCorePlayerUpdate get() { return i; }
|
public static EngineMassiveCorePlayerUpdate get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// UPDATE
|
// UPDATE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -13,10 +13,7 @@ import org.bukkit.event.entity.PlayerDeathEvent;
|
|||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
import com.massivecraft.massivecore.event.EventMassiveCorePlayerLeave;
|
||||||
import com.massivecraft.massivecore.mixin.Mixin;
|
import com.massivecraft.massivecore.mixin.Mixin;
|
||||||
import com.massivecraft.massivecore.teleport.ScheduledTeleport;
|
import com.massivecraft.massivecore.teleport.ScheduledTeleport;
|
||||||
@ -24,7 +21,7 @@ import com.massivecraft.massivecore.util.IdUtil;
|
|||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
import com.massivecraft.massivecore.util.TimeUnit;
|
import com.massivecraft.massivecore.util.TimeUnit;
|
||||||
|
|
||||||
public class EngineMassiveCoreScheduledTeleport extends EngineAbstract
|
public class EngineMassiveCoreScheduledTeleport extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -32,6 +29,10 @@ public class EngineMassiveCoreScheduledTeleport extends EngineAbstract
|
|||||||
|
|
||||||
private static EngineMassiveCoreScheduledTeleport i = new EngineMassiveCoreScheduledTeleport();
|
private static EngineMassiveCoreScheduledTeleport i = new EngineMassiveCoreScheduledTeleport();
|
||||||
public static EngineMassiveCoreScheduledTeleport get() { return i; }
|
public static EngineMassiveCoreScheduledTeleport get() { return i; }
|
||||||
|
public EngineMassiveCoreScheduledTeleport()
|
||||||
|
{
|
||||||
|
this.setPeriod(1L);
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// SCHEDULED TELEPORT INDEX
|
// SCHEDULED TELEPORT INDEX
|
||||||
@ -69,18 +70,6 @@ public class EngineMassiveCoreScheduledTeleport extends EngineAbstract
|
|||||||
// OVERRIDE
|
// OVERRIDE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getPeriod()
|
|
||||||
{
|
|
||||||
return 1L;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
@ -8,12 +8,10 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
import com.massivecraft.massivecore.MassiveCore;
|
||||||
|
|
||||||
public class EngineMassiveCoreTeleportMixinCause extends EngineAbstract
|
public class EngineMassiveCoreTeleportMixinCause extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -21,17 +19,6 @@ public class EngineMassiveCoreTeleportMixinCause extends EngineAbstract
|
|||||||
|
|
||||||
private static EngineMassiveCoreTeleportMixinCause i = new EngineMassiveCoreTeleportMixinCause();
|
private static EngineMassiveCoreTeleportMixinCause i = new EngineMassiveCoreTeleportMixinCause();
|
||||||
public static EngineMassiveCoreTeleportMixinCause get() { return i; }
|
public static EngineMassiveCoreTeleportMixinCause get() { return i; }
|
||||||
public EngineMassiveCoreTeleportMixinCause() {}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
|
@ -15,17 +15,14 @@ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.BookMeta;
|
import org.bukkit.inventory.meta.BookMeta;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
import com.massivecraft.massivecore.MassiveCoreMConf;
|
import com.massivecraft.massivecore.MassiveCoreMConf;
|
||||||
import com.massivecraft.massivecore.MassiveCorePerm;
|
import com.massivecraft.massivecore.MassiveCorePerm;
|
||||||
import com.massivecraft.massivecore.util.IdUtil;
|
import com.massivecraft.massivecore.util.IdUtil;
|
||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
import com.massivecraft.massivecore.util.Txt;
|
||||||
|
|
||||||
public class EngineMassiveCoreVariable extends EngineAbstract
|
public class EngineMassiveCoreVariable extends Engine
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -34,16 +31,6 @@ public class EngineMassiveCoreVariable extends EngineAbstract
|
|||||||
private static EngineMassiveCoreVariable i = new EngineMassiveCoreVariable();
|
private static EngineMassiveCoreVariable i = new EngineMassiveCoreVariable();
|
||||||
public static EngineMassiveCoreVariable get() { return i; }
|
public static EngineMassiveCoreVariable get() { return i; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// VARIABLE
|
// VARIABLE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -10,12 +10,9 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.world.WorldLoadEvent;
|
import org.bukkit.event.world.WorldLoadEvent;
|
||||||
import org.bukkit.event.world.WorldUnloadEvent;
|
import org.bukkit.event.world.WorldUnloadEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
public class EngineMassiveCoreWorldNameSet extends Engine
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
|
|
||||||
public class EngineMassiveCoreWorldNameSet extends EngineAbstract
|
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -29,15 +26,9 @@ public class EngineMassiveCoreWorldNameSet extends EngineAbstract
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Plugin getPlugin()
|
public void setActiveInner(boolean active)
|
||||||
{
|
{
|
||||||
return MassiveCore.get();
|
if ( ! active) return;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
super.activate();
|
|
||||||
|
|
||||||
this.worldNamesInner.clear();
|
this.worldNamesInner.clear();
|
||||||
for (World world : Bukkit.getWorlds())
|
for (World world : Bukkit.getWorlds())
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
package com.massivecraft.massivecore.integration;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface Integration
|
|
||||||
{
|
|
||||||
public List<String> getTargetPluginNames();
|
|
||||||
public void activate();
|
|
||||||
public void deactivate();
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
package com.massivecraft.massivecore.integration;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public abstract class IntegrationAbstract implements Integration
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private List<String> targetPluginNames;
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public IntegrationAbstract(String... targetPluginNames)
|
|
||||||
{
|
|
||||||
this.targetPluginNames = new ArrayList<String>(Arrays.asList(targetPluginNames));
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// OVERRIDES
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<String> getTargetPluginNames()
|
|
||||||
{
|
|
||||||
return this.targetPluginNames;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void activate()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deactivate()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,121 +0,0 @@
|
|||||||
package com.massivecraft.massivecore.integration;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.server.PluginDisableEvent;
|
|
||||||
import org.bukkit.event.server.PluginEnableEvent;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import com.massivecraft.massivecore.MassivePlugin;
|
|
||||||
import com.massivecraft.massivecore.util.Txt;
|
|
||||||
|
|
||||||
public class IntegrationGlue implements Listener
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
protected MassivePlugin ourPlugin;
|
|
||||||
protected Integration features;
|
|
||||||
|
|
||||||
protected boolean active = false;
|
|
||||||
public boolean isActive() { return this.active; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public IntegrationGlue(MassivePlugin ourPlugin, Integration features)
|
|
||||||
{
|
|
||||||
this.ourPlugin = ourPlugin;
|
|
||||||
this.features = features;
|
|
||||||
|
|
||||||
Bukkit.getServer().getPluginManager().registerEvents(this, this.ourPlugin);
|
|
||||||
this.tick();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// LOGIC
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public void tick()
|
|
||||||
{
|
|
||||||
String namelist = Txt.implodeCommaAndDot(this.features.getTargetPluginNames(), "<h>%s", "<i>, ", " <i>and ", "<i>.");
|
|
||||||
|
|
||||||
if (isPluginsEnabled(this.features.getTargetPluginNames()))
|
|
||||||
{
|
|
||||||
if (!this.active)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
this.features.activate();
|
|
||||||
this.active = true;
|
|
||||||
this.ourPlugin.log(Txt.parse("<g>Activated <i>integration with "+namelist));
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
this.ourPlugin.log(Txt.parse("<b>Failed to activate <i>integration with "+namelist));
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (this.active)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
this.active = false;
|
|
||||||
this.features.deactivate();
|
|
||||||
this.ourPlugin.log(Txt.parse("<g>Deactivated <i>integration with "+namelist));
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
this.ourPlugin.log(Txt.parse("<b>Failed to deactivate <i>integration with "+namelist));
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// UTIL
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static boolean isPluginEnabled(String pluginName)
|
|
||||||
{
|
|
||||||
Plugin plugin = Bukkit.getPluginManager().getPlugin(pluginName);
|
|
||||||
if (plugin == null) return false;
|
|
||||||
return plugin.isEnabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isPluginsEnabled(Collection<String> pluginNames)
|
|
||||||
{
|
|
||||||
for (String pluginName : pluginNames)
|
|
||||||
{
|
|
||||||
if (!isPluginEnabled(pluginName)) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// EVENT LISTENERS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
|
||||||
public void onPluginDisable(PluginDisableEvent event)
|
|
||||||
{
|
|
||||||
this.tick();
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
|
||||||
public void onPluginEnable(PluginEnableEvent event)
|
|
||||||
{
|
|
||||||
this.tick();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,9 +1,9 @@
|
|||||||
package com.massivecraft.massivecore.integration.vault;
|
package com.massivecraft.massivecore.integration.vault;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.integration.IntegrationAbstract;
|
import com.massivecraft.massivecore.Integration;
|
||||||
import com.massivecraft.massivecore.money.MoneyMixinVault;
|
import com.massivecraft.massivecore.money.MoneyMixinVault;
|
||||||
|
|
||||||
public class IntegrationVault extends IntegrationAbstract
|
public class IntegrationVault extends Integration
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -11,22 +11,26 @@ public class IntegrationVault extends IntegrationAbstract
|
|||||||
|
|
||||||
private static IntegrationVault i = new IntegrationVault();
|
private static IntegrationVault i = new IntegrationVault();
|
||||||
public static IntegrationVault get() { return i; }
|
public static IntegrationVault get() { return i; }
|
||||||
private IntegrationVault() { super("Vault"); }
|
private IntegrationVault()
|
||||||
|
{
|
||||||
|
this.setPluginName("Vault");
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// OVERRIDE
|
// OVERRIDE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void activate()
|
public void setIntegrationActiveInner(boolean active)
|
||||||
{
|
{
|
||||||
MoneyMixinVault.get().activate();
|
if (active)
|
||||||
}
|
{
|
||||||
|
MoneyMixinVault.get().activate();
|
||||||
@Override
|
}
|
||||||
public void deactivate()
|
else
|
||||||
{
|
{
|
||||||
MoneyMixinVault.get().deactivate();
|
MoneyMixinVault.get().deactivate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
package com.massivecraft.massivecore.predicate;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.Integration;
|
||||||
|
|
||||||
|
public class PredicateIntegration implements Predicate<Integration>
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// INSTANCE & CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static PredicateIntegration i = new PredicateIntegration();
|
||||||
|
public static PredicateIntegration get() { return i; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// OVERRIDE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean apply(Integration integration)
|
||||||
|
{
|
||||||
|
return isPluginNamesPresent(integration.getPluginNames()) && isClassNamesPresent(integration.getClassNames());
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// PLUGINS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public static boolean isPluginNamesPresent(Collection<String> pluginNames)
|
||||||
|
{
|
||||||
|
for (String pluginName : pluginNames)
|
||||||
|
{
|
||||||
|
if (isPluginNamePresent(pluginName)) continue;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isPluginNamePresent(String pluginName)
|
||||||
|
{
|
||||||
|
Plugin plugin = Bukkit.getPluginManager().getPlugin(pluginName);
|
||||||
|
if (plugin == null) return false;
|
||||||
|
return plugin.isEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CLASSES
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public static boolean isClassNamesPresent(Collection<String> classNames)
|
||||||
|
{
|
||||||
|
for (String className : classNames)
|
||||||
|
{
|
||||||
|
if (isClassNamePresent(className)) continue;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isClassNamePresent(String className)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Class.forName(className);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Throwable t)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -74,18 +74,13 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
// SUPPORTING SYSTEM
|
// SUPPORTING SYSTEM
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
protected Plugin plugin;
|
protected MassivePlugin plugin;
|
||||||
@Override public Plugin getPlugin() { return this.plugin; }
|
@Override public MassivePlugin getPlugin() { return this.plugin; }
|
||||||
public Gson getGson()
|
public Gson getGson()
|
||||||
{
|
{
|
||||||
if (this.getPlugin() instanceof MassivePlugin)
|
MassivePlugin plugin = this.getPlugin();
|
||||||
{
|
if (plugin == null) return MassiveCore.gson;
|
||||||
return ((MassivePlugin)this.getPlugin()).getGson();
|
return plugin.getGson();
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return MassiveCore.gson;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Db db;
|
protected Db db;
|
||||||
@ -700,7 +695,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
case LOCAL_ALTER:
|
case LOCAL_ALTER:
|
||||||
case LOCAL_ATTACH:
|
case LOCAL_ATTACH:
|
||||||
this.saveToRemoteFixed(id);
|
this.saveToRemoteFixed(id);
|
||||||
if (this.inited())
|
if (this.isActive())
|
||||||
{
|
{
|
||||||
this.addSyncCountFixed(TOTAL, false);
|
this.addSyncCountFixed(TOTAL, false);
|
||||||
this.addSyncCountFixed(id, false);
|
this.addSyncCountFixed(id, false);
|
||||||
@ -708,7 +703,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
break;
|
break;
|
||||||
case LOCAL_DETACH:
|
case LOCAL_DETACH:
|
||||||
this.removeAtRemoteFixed(id);
|
this.removeAtRemoteFixed(id);
|
||||||
if (this.inited())
|
if (this.isActive())
|
||||||
{
|
{
|
||||||
this.addSyncCountFixed(TOTAL, false);
|
this.addSyncCountFixed(TOTAL, false);
|
||||||
this.addSyncCountFixed(id, false);
|
this.addSyncCountFixed(id, false);
|
||||||
@ -717,7 +712,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
case REMOTE_ALTER:
|
case REMOTE_ALTER:
|
||||||
case REMOTE_ATTACH:
|
case REMOTE_ATTACH:
|
||||||
this.loadFromRemoteFixed(id, remoteEntry);
|
this.loadFromRemoteFixed(id, remoteEntry);
|
||||||
if (this.inited())
|
if (this.isActive())
|
||||||
{
|
{
|
||||||
this.addSyncCountFixed(TOTAL, true);
|
this.addSyncCountFixed(TOTAL, true);
|
||||||
this.addSyncCountFixed(id, true);
|
this.addSyncCountFixed(id, true);
|
||||||
@ -725,7 +720,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
break;
|
break;
|
||||||
case REMOTE_DETACH:
|
case REMOTE_DETACH:
|
||||||
this.removeAtLocalFixed(id);
|
this.removeAtLocalFixed(id);
|
||||||
if (this.inited())
|
if (this.isActive())
|
||||||
{
|
{
|
||||||
this.addSyncCountFixed(TOTAL, true);
|
this.addSyncCountFixed(TOTAL, true);
|
||||||
this.addSyncCountFixed(id, true);
|
this.addSyncCountFixed(id, true);
|
||||||
@ -934,7 +929,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public Coll(String name, Class<E> entityClass, Db db, Plugin plugin)
|
public Coll(String name, Class<E> entityClass, Db db, MassivePlugin plugin)
|
||||||
{
|
{
|
||||||
// Setup the name and the parsed parts
|
// Setup the name and the parsed parts
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@ -969,40 +964,59 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E>
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init()
|
public MassivePlugin setActivePlugin(MassivePlugin plugin)
|
||||||
{
|
{
|
||||||
if (this.inited()) throw new IllegalStateException("Already initialised.");
|
MassivePlugin ret = this.plugin;
|
||||||
|
this.plugin = plugin;
|
||||||
if (this.supportsPusher())
|
return ret;
|
||||||
{
|
|
||||||
this.getPusher().init();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.initLoadAllFromRemote();
|
|
||||||
//this.syncIdentified();
|
|
||||||
|
|
||||||
name2instance.put(this.getName(), this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deinit()
|
public MassivePlugin getActivePlugin()
|
||||||
{
|
{
|
||||||
if ( ! this.inited()) throw new IllegalStateException("Not initialised.");
|
return this.plugin;
|
||||||
|
|
||||||
if (this.supportsPusher())
|
|
||||||
{
|
|
||||||
this.getPusher().deinit();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Save outwards only? We may want to avoid loads at this stage...
|
|
||||||
this.syncAll();
|
|
||||||
|
|
||||||
name2instance.remove(this.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean inited()
|
public void setActive(boolean active)
|
||||||
|
{
|
||||||
|
// NoChange
|
||||||
|
if (this.isActive() == active) throw new IllegalStateException("Active Already " + active);
|
||||||
|
|
||||||
|
// TODO: Clean up this stuff below. It branches too late.
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
if (this.supportsPusher())
|
||||||
|
{
|
||||||
|
this.getPusher().init();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.initLoadAllFromRemote();
|
||||||
|
//this.syncIdentified();
|
||||||
|
|
||||||
|
name2instance.put(this.getName(), this);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (this.supportsPusher())
|
||||||
|
{
|
||||||
|
this.getPusher().deinit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Save outwards only? We may want to avoid loads at this stage...
|
||||||
|
this.syncAll();
|
||||||
|
|
||||||
|
name2instance.remove(this.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
{
|
{
|
||||||
return name2instance.containsKey(this.getName());
|
return name2instance.containsKey(this.getName());
|
||||||
}
|
}
|
||||||
|
@ -6,13 +6,13 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Active;
|
||||||
|
import com.massivecraft.massivecore.MassivePlugin;
|
||||||
import com.massivecraft.massivecore.Named;
|
import com.massivecraft.massivecore.Named;
|
||||||
import com.massivecraft.massivecore.predicate.Predicate;
|
import com.massivecraft.massivecore.predicate.Predicate;
|
||||||
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
import com.massivecraft.massivecore.xlib.gson.JsonObject;
|
||||||
|
|
||||||
public interface CollInterface<E extends Entity<E>> extends Named
|
public interface CollInterface<E extends Entity<E>> extends Named, Active
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// WHAT DO WE HANDLE?
|
// WHAT DO WE HANDLE?
|
||||||
@ -27,7 +27,7 @@ public interface CollInterface<E extends Entity<E>> extends Named
|
|||||||
// SUPPORTING SYSTEM
|
// SUPPORTING SYSTEM
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public Plugin getPlugin();
|
public MassivePlugin getPlugin();
|
||||||
|
|
||||||
public Db getDb();
|
public Db getDb();
|
||||||
public Object getCollDriverObject();
|
public Object getCollDriverObject();
|
||||||
@ -214,12 +214,4 @@ public interface CollInterface<E extends Entity<E>> extends Named
|
|||||||
public Runnable getTickTask();
|
public Runnable getTickTask();
|
||||||
public void onTick();
|
public void onTick();
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public void init();
|
|
||||||
public void deinit();
|
|
||||||
public boolean inited();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,13 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.Active;
|
||||||
import com.massivecraft.massivecore.Aspect;
|
import com.massivecraft.massivecore.Aspect;
|
||||||
|
import com.massivecraft.massivecore.MassivePlugin;
|
||||||
import com.massivecraft.massivecore.Multiverse;
|
import com.massivecraft.massivecore.Multiverse;
|
||||||
import com.massivecraft.massivecore.util.MUtil;
|
import com.massivecraft.massivecore.util.MUtil;
|
||||||
|
|
||||||
public abstract class Colls<C extends Coll<E>, E extends Entity<E>>
|
public abstract class Colls<C extends Coll<E>, E extends Entity<E>> implements Active
|
||||||
{
|
{
|
||||||
protected Map<String, C> name2coll = new HashMap<String, C>();
|
protected Map<String, C> name2coll = new HashMap<String, C>();
|
||||||
|
|
||||||
@ -21,11 +23,6 @@ public abstract class Colls<C extends Coll<E>, E extends Entity<E>>
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
this.getColls();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<C> getColls()
|
public List<C> getColls()
|
||||||
{
|
{
|
||||||
List<C> ret = new ArrayList<C>();
|
List<C> ret = new ArrayList<C>();
|
||||||
@ -38,6 +35,44 @@ public abstract class Colls<C extends Coll<E>, E extends Entity<E>>
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ACTIVE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private boolean active = false;
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
return this.active;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setActive(boolean active)
|
||||||
|
{
|
||||||
|
this.active = active;
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
this.getColls();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// TODO: Uuuuuh
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private MassivePlugin plugin = null;
|
||||||
|
@Override
|
||||||
|
public MassivePlugin setActivePlugin(MassivePlugin plugin)
|
||||||
|
{
|
||||||
|
MassivePlugin ret = this.plugin;
|
||||||
|
this.plugin = plugin;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public MassivePlugin getActivePlugin()
|
||||||
|
{
|
||||||
|
return this.plugin;
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// UTIL
|
// UTIL
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -78,7 +113,8 @@ public abstract class Colls<C extends Coll<E>, E extends Entity<E>>
|
|||||||
{
|
{
|
||||||
ret = this.createColl(collname);
|
ret = this.createColl(collname);
|
||||||
this.name2coll.put(collname, ret);
|
this.name2coll.put(collname, ret);
|
||||||
ret.init();
|
ret.setActivePlugin(this.getActivePlugin());
|
||||||
|
ret.setActive(true);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -118,7 +118,7 @@ public class Entity<E extends Entity<E>>
|
|||||||
Coll<E> coll = this.getColl();
|
Coll<E> coll = this.getColl();
|
||||||
if (coll == null) return false;
|
if (coll == null) return false;
|
||||||
|
|
||||||
if ( ! coll.inited()) return false;
|
if ( ! coll.isActive()) return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
|
import com.massivecraft.massivecore.MassivePlugin;
|
||||||
import com.massivecraft.massivecore.SenderPresence;
|
import com.massivecraft.massivecore.SenderPresence;
|
||||||
import com.massivecraft.massivecore.SenderType;
|
import com.massivecraft.massivecore.SenderType;
|
||||||
import com.massivecraft.massivecore.command.type.sender.TypeSenderEntity;
|
import com.massivecraft.massivecore.command.type.sender.TypeSenderEntity;
|
||||||
@ -21,7 +21,7 @@ public class SenderColl<E extends SenderEntity<E>> extends Coll<E> implements Se
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public SenderColl(String name, Class<E> entityClass, Db db, Plugin plugin)
|
public SenderColl(String name, Class<E> entityClass, Db db, MassivePlugin plugin)
|
||||||
{
|
{
|
||||||
super(name, entityClass, db, plugin);
|
super(name, entityClass, db, plugin);
|
||||||
this.setCreative(true);
|
this.setCreative(true);
|
||||||
|
@ -16,12 +16,9 @@ import org.bukkit.event.player.PlayerChangedWorldEvent;
|
|||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
import org.bukkit.plugin.Plugin;
|
import com.massivecraft.massivecore.Engine;
|
||||||
|
|
||||||
import com.massivecraft.massivecore.EngineAbstract;
|
public class PlayerUtil extends Engine
|
||||||
import com.massivecraft.massivecore.MassiveCore;
|
|
||||||
|
|
||||||
public class PlayerUtil extends EngineAbstract
|
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INSTANCE & CONSTRUCT
|
// INSTANCE & CONSTRUCT
|
||||||
@ -29,15 +26,19 @@ public class PlayerUtil extends EngineAbstract
|
|||||||
|
|
||||||
private static PlayerUtil i = new PlayerUtil();
|
private static PlayerUtil i = new PlayerUtil();
|
||||||
public static PlayerUtil get() { return i; }
|
public static PlayerUtil get() { return i; }
|
||||||
|
public PlayerUtil()
|
||||||
|
{
|
||||||
|
this.setPeriod(1L);
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// OVERRIDE
|
// OVERRIDE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void activate()
|
public void setActiveInner(boolean active)
|
||||||
{
|
{
|
||||||
super.activate();
|
if ( ! active) return;
|
||||||
|
|
||||||
idToDeathEvent.clear();
|
idToDeathEvent.clear();
|
||||||
idToDamageEvent.clear();
|
idToDamageEvent.clear();
|
||||||
@ -46,18 +47,6 @@ public class PlayerUtil extends EngineAbstract
|
|||||||
idToLastMoveMillis.clear();
|
idToLastMoveMillis.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Plugin getPlugin()
|
|
||||||
{
|
|
||||||
return MassiveCore.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getPeriod()
|
|
||||||
{
|
|
||||||
return 1L;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user