bug fix
This commit is contained in:
		@@ -35,16 +35,20 @@ public interface EnchVal {
 | 
				
			|||||||
	@DataGenOnly
 | 
						@DataGenOnly
 | 
				
			||||||
	Holder<Enchantment> datagenDirect(RegistrateProvider pvd);
 | 
						Holder<Enchantment> datagenDirect(RegistrateProvider pvd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						default Optional<Holder<Enchantment>> safeHolder() {
 | 
				
			||||||
 | 
							return Optional.ofNullable(CommonHooks.resolveLookup(Registries.ENCHANTMENT)).flatMap(e -> e.get(id()));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default Holder<Enchantment> holder() {
 | 
						default Holder<Enchantment> holder() {
 | 
				
			||||||
		return Optional.ofNullable(CommonHooks.resolveLookup(Registries.ENCHANTMENT)).orElseThrow().getOrThrow(id());
 | 
							return safeHolder().orElseThrow();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default int getLv(ItemStack stack) {
 | 
						default int getLv(ItemStack stack) {
 | 
				
			||||||
		return stack.getEnchantmentLevel(holder());
 | 
							return safeHolder().map(stack::getEnchantmentLevel).orElse(0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default int getLvIntrinsic(ItemStack stack) {
 | 
						default int getLvIntrinsic(ItemStack stack) {
 | 
				
			||||||
		return stack.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY).getLevel(holder());
 | 
							return safeHolder().map(e -> stack.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY).getLevel(e)).orElse(0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	interface Impl extends EnchVal {
 | 
						interface Impl extends EnchVal {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user