Refresh line positions on plugin reload for potential changes in option "space-between-lines"
This commit is contained in:
parent
b4e5edfa8e
commit
087105ccd1
|
@ -12,6 +12,7 @@ import me.filoghost.fcommons.logging.ErrorCollector;
|
|||
import me.filoghost.holographicdisplays.api.internal.HolographicDisplaysAPIProvider;
|
||||
import me.filoghost.holographicdisplays.common.nms.NMSManager;
|
||||
import me.filoghost.holographicdisplays.plugin.api.current.DefaultHolographicDisplaysAPIProvider;
|
||||
import me.filoghost.holographicdisplays.plugin.api.v2.V2Hologram;
|
||||
import me.filoghost.holographicdisplays.plugin.api.v2.V2HologramManager;
|
||||
import me.filoghost.holographicdisplays.plugin.api.v2.V2HologramsAPIProvider;
|
||||
import me.filoghost.holographicdisplays.plugin.bridge.bungeecord.BungeeServerTracker;
|
||||
|
@ -23,6 +24,7 @@ import me.filoghost.holographicdisplays.plugin.config.Settings;
|
|||
import me.filoghost.holographicdisplays.plugin.config.upgrade.AnimationsLegacyUpgrade;
|
||||
import me.filoghost.holographicdisplays.plugin.config.upgrade.DatabaseLegacyUpgrade;
|
||||
import me.filoghost.holographicdisplays.plugin.config.upgrade.SymbolsLegacyUpgrade;
|
||||
import me.filoghost.holographicdisplays.plugin.hologram.api.APIHologram;
|
||||
import me.filoghost.holographicdisplays.plugin.hologram.api.APIHologramManager;
|
||||
import me.filoghost.holographicdisplays.plugin.hologram.internal.InternalHologramManager;
|
||||
import me.filoghost.holographicdisplays.plugin.hologram.tracking.LineTrackerManager;
|
||||
|
@ -53,10 +55,12 @@ public class HolographicDisplays extends FCommonsPlugin {
|
|||
|
||||
private NMSManager nmsManager;
|
||||
private ConfigManager configManager;
|
||||
private InternalHologramManager internalHologramManager;
|
||||
private BungeeServerTracker bungeeServerTracker;
|
||||
private PlaceholderRegistry placeholderRegistry;
|
||||
private LineTrackerManager lineTrackerManager;
|
||||
private InternalHologramManager internalHologramManager;
|
||||
private APIHologramManager apiHologramManager;
|
||||
private V2HologramManager v2HologramManager;
|
||||
|
||||
@Override
|
||||
public void onCheckedEnable() throws PluginEnableException {
|
||||
|
@ -104,8 +108,8 @@ public class HolographicDisplays extends FCommonsPlugin {
|
|||
LineClickListener lineClickListener = new LineClickListener();
|
||||
lineTrackerManager = new LineTrackerManager(nmsManager, placeholderTracker, lineClickListener);
|
||||
internalHologramManager = new InternalHologramManager(lineTrackerManager);
|
||||
APIHologramManager apiHologramManager = new APIHologramManager(lineTrackerManager);
|
||||
V2HologramManager v2HologramManager = new V2HologramManager(lineTrackerManager);
|
||||
apiHologramManager = new APIHologramManager(lineTrackerManager);
|
||||
v2HologramManager = new V2HologramManager(lineTrackerManager);
|
||||
|
||||
// Run only once at startup, before loading the configuration
|
||||
new SymbolsLegacyUpgrade(configManager, errorCollector).tryRun();
|
||||
|
@ -171,6 +175,13 @@ public class HolographicDisplays extends FCommonsPlugin {
|
|||
|
||||
HologramDatabase hologramDatabase = configManager.loadHologramDatabase(errorCollector);
|
||||
hologramDatabase.createHolograms(internalHologramManager, errorCollector);
|
||||
|
||||
for (APIHologram hologram : apiHologramManager.getHolograms()) {
|
||||
hologram.getLines().updateLinePositions();
|
||||
}
|
||||
for (V2Hologram hologram : v2HologramManager.getHolograms()) {
|
||||
hologram.getLines().updateLinePositions();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -44,7 +44,7 @@ public class V2Hologram extends BaseHologram implements Hologram {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected BaseHologramLines<V2HologramLine> getLines() {
|
||||
public BaseHologramLines<V2HologramLine> getLines() {
|
||||
return lines;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ public class APIHologram extends BaseHologram implements Hologram {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected BaseHologramLines<APIHologramLine> getLines() {
|
||||
public BaseHologramLines<APIHologramLine> getLines() {
|
||||
return lines;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public abstract class BaseHologram extends BaseHologramComponent {
|
|||
this.lineTrackerManager = lineTrackerManager;
|
||||
}
|
||||
|
||||
protected abstract BaseHologramLines<? extends EditableHologramLine> getLines();
|
||||
public abstract BaseHologramLines<? extends EditableHologramLine> getLines();
|
||||
|
||||
protected abstract boolean isVisibleTo(Player player);
|
||||
|
||||
|
|
|
@ -114,7 +114,7 @@ public class BaseHologramLines<T extends EditableHologramLine> implements Iterab
|
|||
* The top part of the first line should be exactly on the Y position of the hologram.
|
||||
* The second line is below the first, and so on.
|
||||
*/
|
||||
protected void updateLinePositions() {
|
||||
public void updateLinePositions() {
|
||||
HologramPosition hologramPosition = hologram.getPosition();
|
||||
double currentLineY = hologramPosition.getY();
|
||||
|
||||
|
|
Loading…
Reference in New Issue