22
33import eu .pb4 .graves .GravesApi ;
44import eu .pb4 .graves .grave .GraveInventoryMask ;
5- import io .wispforest .accessories .api .*;
5+ import io .wispforest .accessories .api .AccessoriesCapability ;
6+ import io .wispforest .accessories .api .core .AccessoryRegistry ;
7+ import io .wispforest .accessories .api .events .DropRule ;
68import io .wispforest .accessories .api .events .OnDropCallback ;
79import io .wispforest .accessories .api .slot .SlotReference ;
8- import io .wispforest .accessories .impl .ExpandedSimpleContainer ;
10+ import io .wispforest .accessories .impl .core . ExpandedContainer ;
911import net .minecraft .component .EnchantmentEffectComponentTypes ;
1012import net .minecraft .enchantment .EnchantmentHelper ;
11- import net .minecraft .entity .damage .DamageSource ;
12- import net .minecraft .inventory .StackReference ;
1313import net .minecraft .item .ItemStack ;
1414import net .minecraft .nbt .NbtCompound ;
1515import net .minecraft .nbt .NbtElement ;
1616import net .minecraft .server .network .ServerPlayerEntity ;
1717import net .minecraft .util .Identifier ;
1818import org .jetbrains .annotations .Nullable ;
1919
20- import java .util .Objects ;
21-
2220public record AccessoriesCompat () implements GraveInventoryMask {
2321 private static final String TYPE_TAG = "Type" ;
2422 private static final String SLOT_TAG = "Slot" ;
@@ -35,26 +33,25 @@ public void addToGrave(ServerPlayerEntity player, ItemConsumer consumer) {
3533 }
3634
3735 cap .getContainers ().forEach ((s , accessoriesContainer ) -> {
38- var defRule = accessoriesContainer .slotType () != null ? Objects .requireNonNull (accessoriesContainer .slotType ()).dropRule () : DropRule .DEFAULT ;
39- addToGrave (player , consumer , s , accessoriesContainer .getAccessories (), "" , defRule );
40- addToGrave (player , consumer , s , accessoriesContainer .getCosmeticAccessories (), "cosmetic" , defRule );
36+ addToGrave (player , consumer , s , accessoriesContainer .getAccessories (), "" , DropRule .DEFAULT );
37+ addToGrave (player , consumer , s , accessoriesContainer .getCosmeticAccessories (), "cosmetic" , DropRule .DEFAULT );
4138 });
4239 }
4340
44- private void addToGrave (ServerPlayerEntity player , ItemConsumer consumer , String slotName , ExpandedSimpleContainer accessories , String type , DropRule defaultDropRule ) {
41+ private void addToGrave (ServerPlayerEntity player , ItemConsumer consumer , String slotName , ExpandedContainer accessories , String type , DropRule defaultDropRule ) {
4542 var dmg = player .getRecentDamageSource ();
4643 if (dmg == null ) {
4744 dmg = player .getDamageSources ().generic ();
4845 }
4946 for (var i = 0 ; i < accessories .size (); i ++) {
5047 var stack = accessories .getStack (i );
5148 if (stack .isEmpty () || !GravesApi .canAddItem (player , stack )) {
52- return ;
49+ continue ;
5350 }
5451
5552 var ref = SlotReference .of (player , slotName , i );
5653
57- var dropRule = AccessoriesAPI . getOrDefaultAccessory (stack ).getDropRule (stack , ref , dmg );
54+ var dropRule = AccessoryRegistry . getAccessoryOrDefault (stack ).getDropRule (stack , ref , dmg );
5855
5956 dropRule = OnDropCallback .EVENT .invoker ().onDrop (dropRule , stack , ref , dmg );
6057
@@ -118,7 +115,7 @@ public boolean moveToPlayerClosest(ServerPlayerEntity player, ItemStack stack, i
118115 }
119116
120117 @ Nullable
121- private ExpandedSimpleContainer getInventory (ServerPlayerEntity player , String type , String slotId ) {
118+ private ExpandedContainer getInventory (ServerPlayerEntity player , String type , String slotId ) {
122119 var cap = AccessoriesCapability .get (player );
123120 if (cap == null ) {
124121 return null ;
0 commit comments