11package net .onelitefeather .stardust .service ;
22
33import io .papermc .paper .event .player .PrePlayerAttackEntityEvent ;
4+ import io .papermc .paper .registry .RegistryAccess ;
5+ import io .papermc .paper .registry .RegistryKey ;
46import net .kyori .adventure .text .Component ;
57import net .kyori .adventure .text .minimessage .MiniMessage ;
68import net .onelitefeather .stardust .StardustPlugin ;
1517import org .bukkit .event .player .PlayerInteractEvent ;
1618import org .bukkit .inventory .ItemStack ;
1719import org .bukkit .persistence .PersistentDataType ;
18- import org .bukkit .util .StringUtil ;
1920import org .incendo .cloud .annotation .specifier .Quoted ;
2021import org .incendo .cloud .annotations .Argument ;
2122import org .incendo .cloud .annotations .Command ;
3031
3132public class SyncFrogService implements Listener {
3233
34+ private static final Registry <Frog .@ NotNull Variant > FROG_REGISTRY = RegistryAccess .registryAccess ().getRegistry (RegistryKey .FROG_VARIANT );
35+
3336 private static final String FROG_BUCKET_NAME = "Frog Bucket" ;
3437 private static final Frog .Variant DEFAULT_VARIANT = Frog .Variant .TEMPERATE ;
3538
@@ -68,7 +71,7 @@ public void handlePlayerInteract(PlayerInteractEvent event) {
6871 var player = event .getPlayer ();
6972
7073 var itemStack = event .getItem ();
71- if (itemStack == null ) return ;
74+ if (itemStack == null ) return ;
7275
7376 var clickedBlock = event .getClickedBlock ();
7477 if (clickedBlock == null ) return ;
@@ -171,13 +174,14 @@ private ItemStack createFrogItemStack(int amount, Frog.Variant variant, Componen
171174 container .set (frogVariantKey , PersistentDataType .STRING , frogVariantName (variant ));
172175 itemStack .setItemMeta (itemMeta );
173176
177+
174178 return itemStack ;
175179 }
176180
177181 private void addFrogBucketToPlayer (Player player , int amount , Component customName , Frog .Variant variant , boolean actionBarMessage ) {
178182
179183 var slot = player .getInventory ().firstEmpty ();
180- if (slot == -1 ) {
184+ if (slot == -1 ) {
181185 player .sendMessage (Component .translatable ("plugin.inventory-full" ).arguments (plugin .getPrefix ()));
182186 return ;
183187 }
@@ -200,14 +204,12 @@ private void addFrogBucketToPlayer(Player player, int amount, Component customNa
200204
201205 @ NotNull
202206 private Frog .Variant frogVariant (@ Nullable String variant ) {
203-
204207 if (variant == null ) return DEFAULT_VARIANT ;
205208
206209 var key = NamespacedKey .fromString (variant .toLowerCase ());
207- if (key == null ) return Frog .Variant .TEMPERATE ;
208-
209- var frogVariant = Registry .FROG_VARIANT .get (key );
210+ if (key == null ) return DEFAULT_VARIANT ;
210211
212+ var frogVariant = FROG_REGISTRY .get (key );
211213 return frogVariant != null ? frogVariant : DEFAULT_VARIANT ;
212214 }
213215
@@ -217,9 +219,8 @@ private String frogVariantName(Frog.Variant variant) {
217219
218220 @ Suggestions (value = "frogVariants" )
219221 public List <String > frogVariants (CommandContext <CommandSender > context , String input ) {
220- return Registry .FROG_VARIANT .stream ()
221- .map (Frog .Variant ::getKey )
222- .map (NamespacedKey ::value )
222+ return FROG_REGISTRY .stream ()
223+ .map (variant -> variant .key ().value ())
223224 .filter (s -> s .startsWith (input ))
224225 .toList ();
225226 }
0 commit comments