34
34
import org .screamingsandals .lib .lang .Message ;
35
35
import org .screamingsandals .lib .player .Player ;
36
36
import org .screamingsandals .lib .sender .CommandSender ;
37
+ import org .screamingsandals .lib .spectator .Color ;
37
38
import org .screamingsandals .lib .spectator .Component ;
38
39
import org .screamingsandals .lib .spectator .event .ClickEvent ;
39
40
import org .screamingsandals .lib .tasker .TaskerTime ;
@@ -80,7 +81,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
80
81
loc = loc .withYaw (0 ).withPitch (0 );
81
82
var spawnerType = game .getGameVariant ().getItemSpawnerType (type );
82
83
if (spawnerType != null ) {
83
- game .getSpawners ().add (new ItemSpawnerImpl (loc , spawnerType ));
84
+ game .getSpawners ().add (new ItemSpawnerImpl (loc , spawnerType . toHolder () ));
84
85
sender .sendMessage (
85
86
Message
86
87
.of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_ADDED )
@@ -145,7 +146,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
145
146
146
147
itemSpawner .setMaxSpawnedResources (amount );
147
148
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_MAX_SPAWNED_RESOURCES_SET )
148
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
149
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
149
150
.placeholder ("amount" , amount )
150
151
.defaultPrefix ()
151
152
);
@@ -162,7 +163,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
162
163
163
164
itemSpawner .setRotationMode (rotationMode );
164
165
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_ROTATION_MODE_SET )
165
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
166
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
166
167
.placeholder ("rotation" , rotationMode .name ())
167
168
.defaultPrefix ()
168
169
);
@@ -183,9 +184,9 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
183
184
var spawnerType = game .getGameVariant ().getItemSpawnerType (type );
184
185
if (spawnerType != null ) {
185
186
var old = itemSpawner .getItemSpawnerType ();
186
- itemSpawner .setItemSpawnerType (spawnerType );
187
+ itemSpawner .setItemSpawnerType (spawnerType . toHolder () );
187
188
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_TYPE_CHANGED )
188
- .placeholder ("type" , old .getItemName ())
189
+ .placeholder ("type" , old .toSpawnerType ( game ). getItemName ())
189
190
.placeholder ("new_type" , spawnerType .getItemName ())
190
191
.defaultPrefix ()
191
192
);
@@ -208,7 +209,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
208
209
itemSpawner .setCustomName (customName );
209
210
}
210
211
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_CUSTOM_NAME_SET )
211
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
212
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
212
213
.placeholder ("name" , customName )
213
214
.defaultPrefix ()
214
215
);
@@ -225,7 +226,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
225
226
226
227
itemSpawner .setHologramType (type );
227
228
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_HOLOGRAM_TYPE_SET )
228
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
229
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
229
230
.placeholder ("type" , type .name ())
230
231
.defaultPrefix ()
231
232
);
@@ -255,12 +256,12 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
255
256
itemSpawner .setTeam (team );
256
257
if (team == null ) {
257
258
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_TEAM_UNLINKED )
258
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
259
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
259
260
.defaultPrefix ()
260
261
);
261
262
} else {
262
263
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_TEAM_LINKED )
263
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
264
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
264
265
.placeholder ("team" , team .getName ())
265
266
.defaultPrefix ()
266
267
);
@@ -278,7 +279,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
278
279
279
280
itemSpawner .setBaseAmountPerSpawn (amount );
280
281
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_BASE_AMOUNT_SET )
281
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
282
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
282
283
.placeholder ("amount" , amount )
283
284
.defaultPrefix ()
284
285
);
@@ -296,10 +297,10 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
296
297
itemSpawner .setFloatingBlockEnabled (enabled );
297
298
if (enabled ) {
298
299
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_FLOATING_ENABLED )
299
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ()).defaultPrefix ());
300
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ()).defaultPrefix ());
300
301
} else {
301
302
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_FLOATING_DISABLED )
302
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ()).defaultPrefix ());
303
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ()).defaultPrefix ());
303
304
}
304
305
}))
305
306
);
@@ -316,10 +317,10 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
316
317
itemSpawner .setHologramEnabled (enabled );
317
318
if (enabled ) {
318
319
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_HOLOGRAM_ENABLED )
319
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ()).defaultPrefix ());
320
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ()).defaultPrefix ());
320
321
} else {
321
322
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_HOLOGRAM_DISABLED )
322
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ()).defaultPrefix ());
323
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ()).defaultPrefix ());
323
324
}
324
325
}))
325
326
);
@@ -336,7 +337,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
336
337
337
338
itemSpawner .setInitialInterval (Pair .of (value , unit ));
338
339
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_INITIAL_INTERVAL_SET )
339
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
340
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
340
341
.placeholder ("interval" , value )
341
342
.placeholder ("unit" , Message .of (LangKeys .toUnitLangKey (unit , value != 1 )))
342
343
.defaultPrefix ()
@@ -352,7 +353,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
352
353
.handler (commandContext -> changeSettingCommand (commandContext , (sender , game , itemSpawner ) -> {
353
354
itemSpawner .setInitialInterval (null );
354
355
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_INITIAL_INTERVAL_RESET )
355
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
356
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
356
357
.defaultPrefix ());
357
358
}))
358
359
);
@@ -367,7 +368,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
367
368
368
369
itemSpawner .setCustomSpread (spread );
369
370
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_SPREAD_SET )
370
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
371
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
371
372
.placeholder ("spread" , spread )
372
373
.defaultPrefix ());
373
374
}))
@@ -381,7 +382,7 @@ public void construct(CommandManager<CommandSender> manager, Command.Builder<Com
381
382
.handler (commandContext -> changeSettingCommand (commandContext , (sender , game , itemSpawner ) -> {
382
383
itemSpawner .setCustomSpread (null );
383
384
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_SUCCESS_SPAWNER_SPREAD_RESET )
384
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
385
+ .placeholder ("type" , itemSpawner .getItemSpawnerType ().toSpawnerType ( game ). getItemName ())
385
386
.defaultPrefix ());
386
387
}))
387
388
);
@@ -424,7 +425,7 @@ private void changeSettingCommand(CommandContext<CommandSender> commandContext,
424
425
.filter (spawner -> spawner .getLocation ().getBlock ().equals (loc .getBlock ()))
425
426
.collect (Collectors .toList ());
426
427
427
- if (spawners .size () == 0 ) {
428
+ if (spawners .isEmpty () ) {
428
429
sender .sendMessage (Message .of (LangKeys .ADMIN_ARENA_EDIT_ERRORS_NO_SPAWNER ).defaultPrefix ());
429
430
} else if (spawners .size () == 1 ) {
430
431
var itemSpawner = spawners .get (0 );
@@ -441,8 +442,9 @@ private void changeSettingCommand(CommandContext<CommandSender> commandContext,
441
442
var rawInput = new ArrayList <>(commandContext .getRawInput ());
442
443
rawInput .remove (rawInput .size () - 1 );
443
444
var command = String .join (" " , rawInput ) + " " + number .getAndIncrement ();
445
+ var type = itemSpawner .getItemSpawnerType ().toSpawnerType (game );
444
446
Message .of (LangKeys .ADMIN_ARENA_EDIT_ERRORS_MULTIPLE_SPAWNERS_LINE )
445
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
447
+ .placeholder ("type" , type == null ? Component . text ( itemSpawner .getItemSpawnerType (). configKey (), Color . RED ) : type .getItemName ())
446
448
.placeholder ("command" , Component .text ().content (command ).clickEvent (ClickEvent .runCommand (command )))
447
449
.send (sender );
448
450
});
@@ -452,8 +454,9 @@ private void changeSettingCommand(CommandContext<CommandSender> commandContext,
452
454
AtomicInteger number = new AtomicInteger (1 );
453
455
spawners .forEach (itemSpawner -> {
454
456
var command = commandContext .getRawInputJoined () + " " + number .getAndIncrement ();
457
+ var type = itemSpawner .getItemSpawnerType ().toSpawnerType (game );
455
458
Message .of (LangKeys .ADMIN_ARENA_EDIT_ERRORS_MULTIPLE_SPAWNERS_LINE )
456
- .placeholder ("type" , itemSpawner .getItemSpawnerType ().getItemName ())
459
+ .placeholder ("type" , type == null ? Component . text ( itemSpawner .getItemSpawnerType (). configKey (), Color . RED ) : type .getItemName ())
457
460
.placeholder ("command" , Component .text ().content (command ).clickEvent (ClickEvent .runCommand (command )))
458
461
.send (sender );
459
462
});
0 commit comments