mirror of https://github.com/webbukkit/dynmap.git
Compare commits
5 Commits
74ce5e54c0
...
a4bf141ad9
Author | SHA1 | Date |
---|---|---|
Thom van den Akker | a4bf141ad9 | |
mikeprimm | ea24554033 | |
JurgenKuyper | b9144e3609 | |
Thom van den Akker | 78fcf355c6 | |
Thom van den Akker | 980acd0f24 |
|
@ -688,6 +688,7 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||
Log.warning("Using external server, but " + JsonFileClientUpdateComponent.class.toString() + " is DISABLED!");
|
||||
webserverCompConfigWarn = true;
|
||||
}
|
||||
DynmapWebserverStateListener.stateWebserverDisabled();
|
||||
}
|
||||
if (webserverCompConfigWarn) {
|
||||
Log.warning("If the website is missing files or not loading/updating, this might be why.");
|
||||
|
@ -1084,6 +1085,7 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||
try {
|
||||
if(webServer != null) {
|
||||
webServer.start();
|
||||
DynmapWebserverStateListener.stateWebserverStarted();
|
||||
Log.info("Web server started on address " + webhostname + ":" + webport);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
@ -1109,6 +1111,7 @@ public class DynmapCore implements DynmapCommonAPI {
|
|||
Log.severe("Failed to stop WebServer!", e);
|
||||
}
|
||||
webServer = null;
|
||||
DynmapWebserverStateListener.stateWebserverStopped();
|
||||
}
|
||||
|
||||
if (componentManager != null) {
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
package org.dynmap;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
* Listener class for the Dynmap integrated web server lifecycle, will only work if the internal webserver is actually being used.
|
||||
*/
|
||||
public abstract class DynmapWebserverStateListener
|
||||
{
|
||||
/**
|
||||
* Status flag indicating if the web server is online or offline.
|
||||
*/
|
||||
private static boolean webserverStarted = false;
|
||||
|
||||
private static final CopyOnWriteArrayList<DynmapWebserverStateListener> listeners = new CopyOnWriteArrayList<>();
|
||||
|
||||
/**
|
||||
* Called when API becomes enabled, or during call to register listener if API is already enabled
|
||||
*/
|
||||
public abstract void webserverStarted();
|
||||
|
||||
/**
|
||||
* Called when API becomes enabled, or during call to register listener if API is already enabled
|
||||
*/
|
||||
public abstract void webserverStopped();
|
||||
|
||||
/**
|
||||
* This method is fired to indicate the listener that the internal web server is not enabled, thus indicating that {@link DynmapWebserverStateListener#webserverStarted()} and {@link DynmapWebserverStateListener#webserverStopped()} will not fire.
|
||||
*/
|
||||
public void webserverDisabled() {}
|
||||
|
||||
/**
|
||||
* Register listener instance
|
||||
*
|
||||
* @param listener - listener to register
|
||||
*/
|
||||
public static void register(DynmapWebserverStateListener listener)
|
||||
{
|
||||
listeners.add(listener);
|
||||
if (webserverStarted)
|
||||
{
|
||||
listener.webserverStarted();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister listener instance
|
||||
*
|
||||
* @param listener - listener to unregister
|
||||
*/
|
||||
public static void unregister(DynmapWebserverStateListener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
// Internal call - MODS/PLUGINS MUST NOT USE
|
||||
public static void stateWebserverStarted()
|
||||
{
|
||||
if (webserverStarted)
|
||||
{
|
||||
stateWebserverStopped();
|
||||
}
|
||||
webserverStarted = true;
|
||||
for (DynmapWebserverStateListener l : listeners)
|
||||
{
|
||||
l.webserverStarted();
|
||||
}
|
||||
}
|
||||
|
||||
// Internal call - MODS/PLUGINS MUST NOT USE
|
||||
public static void stateWebserverStopped()
|
||||
{
|
||||
for (DynmapWebserverStateListener l : listeners)
|
||||
{
|
||||
l.webserverStopped();
|
||||
}
|
||||
webserverStarted = false;
|
||||
}
|
||||
|
||||
// Internal call - MODS/PLUGINS MUST NOT USE
|
||||
public static void stateWebserverDisabled()
|
||||
{
|
||||
for (DynmapWebserverStateListener l : listeners)
|
||||
{
|
||||
l.webserverDisabled();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -70,7 +70,7 @@ public class DynmapBlockState {
|
|||
public static String REDSTONE_ORE_BLOCK = "minecraft:redstone_ore";
|
||||
public static String LIT_REDSTONE_ORE_BLOCK = "minecraft:lit_redstone_ore";
|
||||
public static String EMERALD_ORE_BLOCK = "minecraft:emerald_ore";
|
||||
public static String QUARTZ_ORE_BLOCK = "minecraft:quartz_ore";
|
||||
public static String QUARTZ_ORE_BLOCK = "minecraft:nether_quartz_ore";
|
||||
public static String NETHER_GOLD_ORE_BLOCK = "minecraft:nether_gold_ore";
|
||||
public static String DEEPSLATE_GOLD_ORE_BLOCK = "minecraft:deepslate_gold_ore";
|
||||
public static String DEEPSLATE_IRON_ORE_BLOCK = "minecraft:deepslate_iron_ore";
|
||||
|
|
Loading…
Reference in New Issue