3
3
import java .io .IOException ;
4
4
import java .util .Objects ;
5
5
6
- import org .bukkit .Bukkit ;
7
- import org .bukkit .ChatColor ;
8
- import org .bukkit .Location ;
9
6
import org .bukkit .World ;
10
7
import org .bukkit .World .Environment ;
11
- import org .bukkit .entity .SpawnCategory ;
12
8
import org .bukkit .WorldCreator ;
13
9
import org .bukkit .WorldType ;
10
+ import org .bukkit .entity .SpawnCategory ;
14
11
import org .bukkit .generator .ChunkGenerator ;
15
12
import org .eclipse .jdt .annotation .NonNull ;
16
13
import org .eclipse .jdt .annotation .Nullable ;
17
14
18
- import com .gmail .filoghost .holographicdisplays .api .Hologram ;
19
- import com .gmail .filoghost .holographicdisplays .api .HologramsAPI ;
20
-
21
15
import world .bentobox .aoneblock .commands .admin .AdminCommand ;
22
16
import world .bentobox .aoneblock .commands .island .PlayerCommand ;
23
17
import world .bentobox .aoneblock .dataobjects .OneBlockIslands ;
30
24
import world .bentobox .aoneblock .oneblocks .OneBlocksManager ;
31
25
import world .bentobox .aoneblock .requests .IslandStatsHandler ;
32
26
import world .bentobox .aoneblock .requests .LocationStatsHandler ;
33
- import world .bentobox .bentobox .BentoBox ;
34
27
import world .bentobox .bentobox .api .addons .GameModeAddon ;
35
28
import world .bentobox .bentobox .api .configuration .Config ;
36
29
import world .bentobox .bentobox .api .configuration .WorldSettings ;
@@ -53,7 +46,6 @@ public class AOneBlock extends GameModeAddon {
53
46
private BlockListener blockListener ;
54
47
private OneBlocksManager oneBlockManager ;
55
48
private PlaceholdersManager phManager ;
56
- private boolean useHolographicDisplays ;
57
49
private HoloListener holoListener ;
58
50
59
51
@ Override
@@ -109,12 +101,9 @@ public void onEnable() {
109
101
registerRequestHandler (new IslandStatsHandler (this ));
110
102
registerRequestHandler (new LocationStatsHandler (this ));
111
103
112
- // Decide if HolographicDisplays is Usable
113
- useHolographicDisplays = Bukkit .getPluginManager ().isPluginEnabled ("HolographicDisplays" );
114
- if (this .useHolographicDisplays ) {
115
- holoListener = new HoloListener (this );
116
- registerListener (holoListener );
117
- }
104
+ // Register Holograms
105
+ holoListener = new HoloListener (this );
106
+ registerListener (holoListener );
118
107
}
119
108
120
109
private void registerPlaceholders () {
@@ -140,6 +129,9 @@ private void registerPlaceholders() {
140
129
public void onDisable () {
141
130
// save cache
142
131
blockListener .saveCache ();
132
+
133
+ // Clear holograms
134
+ holoListener .clear ();
143
135
}
144
136
145
137
@ Override
@@ -263,21 +255,7 @@ public void allLoaded() {
263
255
this .saveWorldSettings ();
264
256
265
257
// Manage Old Holograms
266
- if (useHolographicDisplays ()) {
267
- getIslands ().getIslands ().stream ()
268
- .filter (i -> this .inWorld (i .getWorld ()))
269
- .forEach (island -> {
270
- OneBlockIslands oneBlockIsland = getOneBlocksIsland (island );
271
- String hololine = oneBlockIsland .getHologram ();
272
- Location center = island .getCenter ();
273
- if (!hololine .isEmpty ()) {
274
- final Hologram hologram = HologramsAPI .createHologram (BentoBox .getInstance (), center .add (0.5 , 2.6 , 0.5 ));
275
- for (String line : hololine .split ("\\ n" )) {
276
- hologram .appendTextLine (ChatColor .translateAlternateColorCodes ('&' , line ));
277
- }
278
- }
279
- });
280
- }
258
+ holoListener .setUp ();
281
259
}
282
260
283
261
/**
@@ -315,12 +293,4 @@ public PlaceholdersManager getPlaceholdersManager() {
315
293
public HoloListener getHoloListener () {
316
294
return holoListener ;
317
295
}
318
-
319
- /**
320
- * @return whether to use Holographic Displays or Not
321
- */
322
- public boolean useHolographicDisplays () {
323
- return useHolographicDisplays ;
324
- }
325
-
326
296
}
0 commit comments