2424
2525@ Getter
2626public enum LaunchPads {
27- VILLAGE_TO_FARMING (getSlimeBlocksNear (new Pos (79 , 71 , -185 )), ServerType .SKYBLOCK_HUB ,
28- new Pos (116.5 , 74 , -210.5 ), (player ) -> {
29- player .sendTo (ServerType .SKYBLOCK_THE_FARMING_ISLANDS );
30- }, (player ) -> player .getSkills ().getCurrentLevel (SkillCategories .FARMING ) >= 5 ,
27+ VILLAGE_TO_FARMING (
28+ getSlimeBlocksNear (new Pos (79 , 71 , -185 )),
29+ ServerType .SKYBLOCK_HUB ,
30+ ServerType .SKYBLOCK_THE_FARMING_ISLANDS ,
31+ new Pos (116.5 , 74 , -210.5 ),
32+ (player ) -> player .sendTo (ServerType .SKYBLOCK_THE_FARMING_ISLANDS ),
33+ (player ) -> player .getSkills ().getCurrentLevel (SkillCategories .FARMING ) >= 5 ,
3134 "§cYou must be at least Farming Level V to join this island!" ,
3235 (player ) -> {
3336 boolean hasRequirement = player .getSkills ().getCurrentLevel (SkillCategories .FARMING ) >= 5 ;
@@ -44,23 +47,31 @@ public enum LaunchPads {
4447 .text (new String []{"§bTravel To:" , "§aThe Farming Islands" })
4548 .build ();
4649 }
47- }),
48- FARMING_TO_VILLAGE (getSlimeBlocksNear (new Pos (111 , 71 , -202 )), ServerType .SKYBLOCK_THE_FARMING_ISLANDS ,
49- new Pos (74 , 72 , -180 ), (player ) -> {
50- player .sendTo (ServerType .SKYBLOCK_HUB );
51- }, (player ) -> true ,
50+ }
51+ ),
52+
53+ FARMING_TO_VILLAGE (
54+ getSlimeBlocksNear (new Pos (111 , 71 , -202 )),
55+ ServerType .SKYBLOCK_THE_FARMING_ISLANDS ,
56+ ServerType .SKYBLOCK_HUB ,
57+ new Pos (74 , 72 , -180 ),
58+ (player ) -> player .sendTo (ServerType .SKYBLOCK_HUB ),
59+ (player ) -> true ,
5260 "" ,
53- (player ) -> {
54- return PlayerHolograms .ExternalPlayerHologram .builder ()
55- .pos (new Pos (111.5 , 71.7 , -202.5 ))
56- .player (player )
57- .text (new String []{"§bTravel To:" , "§aThe Village" })
58- .build ();
59- }),
60- VILLAGE_TO_GOLD_MINE (getSlimeBlocksNear (new Pos (-9 , 63 , -231 )), ServerType .SKYBLOCK_HUB , // TODO: UPDATE TO PROPER POSITIONS AND INFO
61- new Pos (-5 , 74 , -268 ), (player ) -> {
62- player .sendTo (ServerType .SKYBLOCK_GOLD_MINE );
63- }, (player ) -> player .getSkills ().getCurrentLevel (SkillCategories .MINING ) >= 1 ,
61+ (player ) -> PlayerHolograms .ExternalPlayerHologram .builder ()
62+ .pos (new Pos (111.5 , 71.7 , -202.5 ))
63+ .player (player )
64+ .text (new String []{"§bTravel To:" , "§aThe Village" })
65+ .build ()
66+ ),
67+
68+ VILLAGE_TO_GOLD_MINE (
69+ getSlimeBlocksNear (new Pos (-9 , 63 , -231 )),
70+ ServerType .SKYBLOCK_HUB , // TODO: UPDATE TO PROPER POSITIONS AND INFO
71+ ServerType .SKYBLOCK_GOLD_MINE ,
72+ new Pos (-5 , 74 , -268 ),
73+ (player ) -> player .sendTo (ServerType .SKYBLOCK_GOLD_MINE ),
74+ (player ) -> player .getSkills ().getCurrentLevel (SkillCategories .MINING ) >= 1 ,
6475 "§cYou must be at least Mining Level I to join this island!" ,
6576 (player ) -> {
6677 boolean hasRequirement = player .getSkills ().getCurrentLevel (SkillCategories .MINING ) >= 1 ;
@@ -77,59 +88,78 @@ public enum LaunchPads {
7788 .text (new String []{"§bTravel To:" , "§aGold Mine" })
7889 .build ();
7990 }
80- }),
81- GOLD_MINE_TO_VILLAGE (getSlimeBlocksNear (new Pos (-4 , 74 , -272 )), ServerType .SKYBLOCK_GOLD_MINE ,
82- new Pos (-8 , 70 , -238 ), (player ) -> {
83- player .sendTo (ServerType .SKYBLOCK_HUB );
84- }, (player ) -> true ,
91+ }
92+ ),
93+
94+ GOLD_MINE_TO_VILLAGE (
95+ getSlimeBlocksNear (new Pos (-4 , 74 , -272 )),
96+ ServerType .SKYBLOCK_GOLD_MINE ,
97+ ServerType .SKYBLOCK_HUB ,
98+ new Pos (-8 , 70 , -238 ),
99+ (player ) -> player .sendTo (ServerType .SKYBLOCK_HUB ),
100+ (player ) -> true ,
85101 "" ,
86- (player ) -> {
87- return PlayerHolograms .ExternalPlayerHologram .builder ()
88- .pos (new Pos (-5 , 73.3 , -269 ))
89- .player (player )
90- .text (new String []{"§bTravel To:" , "§aThe Village" })
91- .build ();
92- }),
93- GOLD_MINE_TO_DEEP_CAVERNS (getSlimeBlocksNear (new Pos (-7 , 67 , -396 )), ServerType .SKYBLOCK_GOLD_MINE ,
94- new Pos (-4 , 119 , -491.5 ), (player ) -> {
95- player .sendTo (ServerType .SKYBLOCK_DEEP_CAVERNS );
96- }, (player ) -> true ,
102+ (player ) -> PlayerHolograms .ExternalPlayerHologram .builder ()
103+ .pos (new Pos (-5 , 73.3 , -269 ))
104+ .player (player )
105+ .text (new String []{"§bTravel To:" , "§aThe Village" })
106+ .build ()
107+ ),
108+
109+ GOLD_MINE_TO_DEEP_CAVERNS (
110+ getSlimeBlocksNear (new Pos (-7 , 67 , -396 )),
111+ ServerType .SKYBLOCK_GOLD_MINE ,
112+ ServerType .SKYBLOCK_DEEP_CAVERNS ,
113+ new Pos (-4 , 119 , -491.5 ),
114+ (player ) -> player .sendTo (ServerType .SKYBLOCK_DEEP_CAVERNS ),
115+ (player ) -> true ,
97116 "" ,
98- (player ) -> {
99- return PlayerHolograms .ExternalPlayerHologram .builder ()
100- .pos (new Pos (-7 , 69 , -396 ))
101- .player (player )
102- .text (new String []{"§bTravel To:" , "§aDeep Caverns" })
103- .build ();
104- }),
105- DEEP_CAVERNS_TO_GOLD_MINE (getSlimeBlocksNear (new Pos (3 , 157 , 85 )), ServerType .SKYBLOCK_DEEP_CAVERNS ,
106- new Pos (2 , 150 , 136 ), (player ) -> {
107- player .sendTo (ServerType .SKYBLOCK_GOLD_MINE );
108- }, (player ) -> true ,
117+ (player ) -> PlayerHolograms .ExternalPlayerHologram .builder ()
118+ .pos (new Pos (-7 , 69 , -396 ))
119+ .player (player )
120+ .text (new String []{"§bTravel To:" , "§aDeep Caverns" })
121+ .build ()
122+ ),
123+
124+ DEEP_CAVERNS_TO_GOLD_MINE (
125+ getSlimeBlocksNear (new Pos (3 , 157 , 85 )),
126+ ServerType .SKYBLOCK_DEEP_CAVERNS ,
127+ ServerType .SKYBLOCK_GOLD_MINE ,
128+ new Pos (2 , 150 , 136 ),
129+ (player ) -> player .sendTo (ServerType .SKYBLOCK_GOLD_MINE ),
130+ (player ) -> true ,
109131 "" ,
110- (player ) -> {
111- return PlayerHolograms .ExternalPlayerHologram .builder ()
112- .pos (new Pos (3 , 159 , 85 ))
113- .player (player )
114- .text (new String []{"§bTravel To:" , "§aGold Mine" })
115- .build ();
116- });
132+ (player ) -> PlayerHolograms .ExternalPlayerHologram .builder ()
133+ .pos (new Pos (3 , 159 , 85 ))
134+ .player (player )
135+ .text (new String []{"§bTravel To:" , "§aGold Mine" })
136+ .build ()
137+ );
117138
118139 private static final List <LaunchPads > launchPads = new ArrayList <>();
119140
120141 private final List <Pos > slimeBlocks ;
121142 private final ServerType serverType ;
143+ private final ServerType targetServerType ;
122144 private final Pos destination ;
123145 private final Consumer <SkyBlockPlayer > afterFinished ;
124146 private final Function <SkyBlockPlayer , Boolean > shouldAllow ;
125147 private final String rejectionMessage ;
126148 private final Function <SkyBlockPlayer , PlayerHolograms .ExternalPlayerHologram > hologramDisplay ;
127149
128- LaunchPads (List <Pos > slimeBlocks , ServerType serverType , Pos destination ,
129- Consumer <@ NonNull SkyBlockPlayer > afterFinished , Function <SkyBlockPlayer , Boolean > shouldAllow , String rejectionMessage ,
130- Function <@ NonNull SkyBlockPlayer , PlayerHolograms .ExternalPlayerHologram > hologramDisplay ) {
150+ LaunchPads (
151+ List <Pos > slimeBlocks ,
152+ ServerType serverType ,
153+ ServerType targetServerType ,
154+ Pos destination ,
155+ Consumer <@ NonNull SkyBlockPlayer > afterFinished ,
156+ Function <SkyBlockPlayer , Boolean > shouldAllow ,
157+ String rejectionMessage ,
158+ Function <@ NonNull SkyBlockPlayer , PlayerHolograms .ExternalPlayerHologram > hologramDisplay
159+ ) {
131160 this .slimeBlocks = slimeBlocks ;
132161 this .serverType = serverType ;
162+ this .targetServerType = targetServerType ;
133163 this .destination = destination ;
134164 this .afterFinished = afterFinished ;
135165 this .shouldAllow = shouldAllow ;
0 commit comments