@@ -378,8 +378,8 @@ public static ItemStack toSingleStack(List<ItemStack> items, String input, int w
378378 } else {
379379 var bundle = new ItemStack (Items .BUNDLE );
380380 bundle .set (DataComponentTypes .BUNDLE_CONTENTS , new BundleContentsComponent (items ));
381- bundle .set (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT . with ( NbtOps .INSTANCE , ImageData . CODEC ,
382- ImageData .ofBundle (MathHelper .ceil (width / 128d ), MathHelper .ceil (height / 128d ))).getOrThrow ( ));
381+ bundle .set (DataComponentTypes .CUSTOM_DATA , NbtComponent .of ( ImageData . CODEC . codec (). encodeStart ( NbtOps .INSTANCE ,
382+ ImageData .ofBundle (MathHelper .ceil (width / 128d ), MathHelper .ceil (height / 128d ))).result (). orElseThrow (). asCompound (). orElseThrow () ));
383383
384384 bundle .set (DataComponentTypes .LORE , new LoreComponent (List .of (Text .literal (input ))));
385385 bundle .set (DataComponentTypes .ITEM_NAME , Text .literal ("Maps" ).formatted (Formatting .GOLD ));
@@ -390,13 +390,13 @@ public static ItemStack toSingleStack(List<ItemStack> items, String input, int w
390390
391391 public static boolean clickItemFrame (PlayerEntity player , Hand hand , ItemFrameEntity itemFrameEntity ) {
392392 var stack = player .getStackInHand (hand );
393- var bundleData = stack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).get (ImageData .CODEC );
393+ var bundleData = stack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).copyNbt (). decode (ImageData .CODEC );
394394
395- if (stack .isOf (Items .BUNDLE ) && bundleData .isSuccess () && bundleData .getOrThrow ().quickPlace ()) {
396- var world = itemFrameEntity .getWorld ();
395+ if (stack .isOf (Items .BUNDLE ) && bundleData .isPresent () && bundleData .orElseThrow ().quickPlace ()) {
396+ var world = itemFrameEntity .getEntityWorld ();
397397 var start = itemFrameEntity .getBlockPos ();
398- var width = bundleData .getOrThrow ().width ();
399- var height = bundleData .getOrThrow ().height ();
398+ var width = bundleData .orElseThrow ().width ();
399+ var height = bundleData .orElseThrow ().height ();
400400
401401 var frames = new ItemFrameEntity [width * height ];
402402
@@ -436,14 +436,14 @@ public static boolean clickItemFrame(PlayerEntity player, Hand hand, ItemFrameEn
436436 }
437437
438438 for (var map : stack .getOrDefault (DataComponentTypes .BUNDLE_CONTENTS , BundleContentsComponent .DEFAULT ).iterate ()) {
439- var mapData = map .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).get (ImageData .CODEC );
439+ var mapData = map .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).copyNbt (). decode (ImageData .CODEC );
440440
441- if (mapData .isSuccess () && mapData .getOrThrow ().isReal ()) {
441+ if (mapData .isPresent () && mapData .orElseThrow ().isReal ()) {
442442 map = map .copy ();
443- var newData = mapData .getOrThrow ().withDirection (right , down , facing );
444- map .apply (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT , x -> x . with ( NbtOps .INSTANCE , ImageData . CODEC , newData ).getOrThrow ( ));
443+ var newData = mapData .orElseThrow ().withDirection (right , down , facing );
444+ map .set (DataComponentTypes .CUSTOM_DATA , NbtComponent .of ( ImageData . CODEC . codec (). encodeStart ( NbtOps .INSTANCE , newData ).result (). orElseThrow (). asCompound (). orElseThrow () ));
445445
446- var frame = frames [mapData .getOrThrow ().x () + mapData .getOrThrow ().y () * width ];
446+ var frame = frames [mapData .orElseThrow ().x () + mapData .orElseThrow ().y () * width ];
447447
448448 if (frame != null && frame .getHeldItemStack ().isEmpty ()) {
449449 frame .setHeldItemStack (map );
@@ -463,21 +463,21 @@ public static boolean clickItemFrame(PlayerEntity player, Hand hand, ItemFrameEn
463463
464464 public static boolean destroyItemFrame (Entity player , ItemFrameEntity itemFrameEntity ) {
465465 var stack = itemFrameEntity .getHeldItemStack ();
466- var tag = stack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).get (ImageData .CODEC );
466+ var tag = stack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).copyNbt (). decode (ImageData .CODEC );
467467
468468
469- if (stack .getItem () == Items .FILLED_MAP && tag .isSuccess () && tag .getOrThrow ().right ().isPresent ()
470- && tag .getOrThrow ().down ().isPresent () && tag .getOrThrow ().facing ().isPresent ()) {
471- var xo = tag .getOrThrow ().x ();
472- var yo = tag .getOrThrow ().y ();
473- var width = tag .getOrThrow ().width ();
474- var height = tag .getOrThrow ().height ();
469+ if (stack .getItem () == Items .FILLED_MAP && tag .isPresent () && tag .orElseThrow ().right ().isPresent ()
470+ && tag .orElseThrow ().down ().isPresent () && tag .orElseThrow ().facing ().isPresent ()) {
471+ var xo = tag .orElseThrow ().x ();
472+ var yo = tag .orElseThrow ().y ();
473+ var width = tag .orElseThrow ().width ();
474+ var height = tag .orElseThrow ().height ();
475475
476- Direction right = tag .getOrThrow ().right ().get ();
477- Direction down = tag .getOrThrow ().down ().get ();
478- Direction facing = tag .getOrThrow ().facing ().get ();
476+ Direction right = tag .orElseThrow ().right ().get ();
477+ Direction down = tag .orElseThrow ().down ().get ();
478+ Direction facing = tag .orElseThrow ().facing ().get ();
479479
480- var world = itemFrameEntity .getWorld ();
480+ var world = itemFrameEntity .getEntityWorld ();
481481 var start = itemFrameEntity .getBlockPos ();
482482
483483 var mut = start .mutableCopy ();
@@ -499,10 +499,10 @@ public static boolean destroyItemFrame(Entity player, ItemFrameEntity itemFrameE
499499
500500 // Only apply to frames that contain an image2map map
501501 var frameStack = frame .getHeldItemStack ();
502- tag = frameStack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).get (ImageData .CODEC );
502+ tag = frameStack .getOrDefault (DataComponentTypes .CUSTOM_DATA , NbtComponent .DEFAULT ).copyNbt (). decode (ImageData .CODEC );
503503
504- if (frameStack .getItem () == Items .FILLED_MAP && tag .isSuccess () && tag .getOrThrow ().right ().isPresent ()
505- && tag .getOrThrow ().down ().isPresent () && tag .getOrThrow ().facing ().isPresent ()) {
504+ if (frameStack .getItem () == Items .FILLED_MAP && tag .isPresent () && tag .orElseThrow ().right ().isPresent ()
505+ && tag .orElseThrow ().down ().isPresent () && tag .orElseThrow ().facing ().isPresent ()) {
506506 frame .setHeldItemStack (ItemStack .EMPTY , true );
507507 frame .setInvisible (false );
508508 }
0 commit comments