@@ -365,22 +365,27 @@ public void change(Event event, Object @Nullable [] delta, ChangeMode mode) {
365365 * @param consumer Code to run with the container
366366 */
367367 private void getPersistentDataContainer (Object holder , Consumer <PersistentDataContainerView > consumer ) {
368- if (holder instanceof PersistentDataHolder dataHolder ) {
369- consumer .accept (dataHolder .getPersistentDataContainer ());
370- } else if (holder instanceof ItemType itemType ) {
371- var meta = itemType .getItemMeta ();
372- consumer .accept (meta .getPersistentDataContainer ());
373- } else if (holder instanceof ItemStack itemStack ) {
374- if (!itemStack .hasItemMeta ())
375- return ;
376- consumer .accept (itemStack .getPersistentDataContainer ());
377- } else if (holder instanceof Slot slot ) {
378- var item = slot .getItem ();
379- if (item == null || !item .hasItemMeta ())
380- return ;
381- consumer .accept (item .getPersistentDataContainer ());
382- } else if (holder instanceof Block block && block .getState () instanceof TileState tileState ) {
383- consumer .accept (tileState .getPersistentDataContainer ());
368+ switch (holder ) {
369+ case PersistentDataHolder dataHolder -> consumer .accept (dataHolder .getPersistentDataContainer ());
370+ case ItemType itemType -> {
371+ var meta = itemType .getItemMeta ();
372+ consumer .accept (meta .getPersistentDataContainer ());
373+ }
374+ case ItemStack itemStack -> {
375+ if (!itemStack .hasItemMeta ())
376+ return ;
377+ consumer .accept (itemStack .getPersistentDataContainer ());
378+ }
379+ case Slot slot -> {
380+ var item = slot .getItem ();
381+ if (item == null || !item .hasItemMeta ())
382+ return ;
383+ consumer .accept (item .getPersistentDataContainer ());
384+ }
385+ case Block block when block .getState () instanceof TileState tileState ->
386+ consumer .accept (tileState .getPersistentDataContainer ());
387+ case null , default -> {
388+ }
384389 }
385390
386391 }
@@ -391,25 +396,31 @@ private void getPersistentDataContainer(Object holder, Consumer<PersistentDataCo
391396 * @param consumer The method to run to edit the PDC.
392397 */
393398 private void editPersistentDataContainer (Object holder , Consumer <PersistentDataContainer > consumer ) {
394- if (holder instanceof PersistentDataHolder dataHolder ) {
395- consumer .accept (dataHolder .getPersistentDataContainer ());
396- } else if (holder instanceof ItemType itemType ) {
397- var meta = itemType .getItemMeta ();
398- consumer .accept (meta .getPersistentDataContainer ());
399- itemType .setItemMeta (meta );
400- } else if (holder instanceof ItemStack itemStack ) {
401- if (!itemStack .hasItemMeta ())
402- return ;
403- itemStack .editPersistentDataContainer (consumer );
404- } else if (holder instanceof Slot slot ) {
405- var item = slot .getItem ();
406- if (item == null || !item .hasItemMeta ())
407- return ;
408- item .editPersistentDataContainer (consumer );
409- slot .setItem (item );
410- } else if (holder instanceof Block block && block .getState () instanceof TileState tileState ) {
411- consumer .accept (tileState .getPersistentDataContainer ());
412- tileState .update ();
399+ switch (holder ) {
400+ case PersistentDataHolder dataHolder -> consumer .accept (dataHolder .getPersistentDataContainer ());
401+ case ItemType itemType -> {
402+ var meta = itemType .getItemMeta ();
403+ consumer .accept (meta .getPersistentDataContainer ());
404+ itemType .setItemMeta (meta );
405+ }
406+ case ItemStack itemStack -> {
407+ if (!itemStack .hasItemMeta ())
408+ return ;
409+ itemStack .editPersistentDataContainer (consumer );
410+ }
411+ case Slot slot -> {
412+ var item = slot .getItem ();
413+ if (item == null || !item .hasItemMeta ())
414+ return ;
415+ item .editPersistentDataContainer (consumer );
416+ slot .setItem (item );
417+ }
418+ case Block block when block .getState () instanceof TileState tileState -> {
419+ consumer .accept (tileState .getPersistentDataContainer ());
420+ tileState .update ();
421+ }
422+ case null , default -> {
423+ }
413424 }
414425 }
415426
0 commit comments