Posted November 11, 20231 yr Hey everyone, I'm trying to do when player eat custom food he gains a custom effect that makes player can't swim. I created a custom effect like this ; public class cantSwimEffect extends MobEffect { public cantSwimEffect(MobEffectCategory mobEffectCategory, int color) { super(mobEffectCategory, color); } @Override public void applyEffectTick(LivingEntity pLivingEntity, int pAmplifier) { if (!pLivingEntity.level().isClientSide() && pLivingEntity.isInWater()) { pLivingEntity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN,400)); }; } @Override public boolean isDurationEffectTick(int pDuration, int pAmplifier) { return true; } } I created a custom food like this ; public class ModFoods { public static final FoodProperties custom_food = new FoodProperties.Builder().nutrition(2).saturationMod(02.f).fast().build(); } But I don't know how to add that custom effect to this food ? Can anyone help me ?
November 11, 20231 yr Use FoodProperties.Builder#effect which takes a MobEffectInstance Supplier and the chance of the effect (0.0 - 1.0) I would recommend to follow the java naming convention.
November 11, 20231 yr Author 2 hours ago, Luis_ST said: Use FoodProperties.Builder#effect which takes a MobEffectInstance Supplier and the chance of the effect (0.0 - 1.0) I would recommend to follow the java naming convention. Thank you for your answer ! I did something like that ; public static final FoodProperties MERA_MERA_NO_MI = new FoodProperties.Builder().nutrition(2).fast() .saturationMod(0.2f).effect(() -> new MobEffectInstance(new CantSwimEffect(MobEffectCategory.HARMFUL,4866583)),1).build(); But in game I can only eat that food when I'm in creative mod. And also after I ate that java occurs this error ; java.lang.IllegalArgumentException: No delegate exists for value net.mbkgr.opmod.item.custom.customeffect.cantSwimEffect@44b4927a What is the problem can you help me ?
November 11, 20231 yr Please post ful log. The error uses cantSwimEffect but in your code you use CantSwimEffect, make sure this is not the problem.
November 11, 20231 yr Author Time: 2023-11-11 22:40:00 Description: Ticking player java.lang.IllegalArgumentException: No delegate exists for value net.mbkgr.opmod.item.custom.customeffect.CantSwimEffect@2d3e42e0 at net.minecraftforge.registries.ForgeRegistry.lambda$getDelegateOrThrow$5(ForgeRegistry.java:542) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23190%23197!/:?] {re:classloading} at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {} at net.minecraftforge.registries.ForgeRegistry.getDelegateOrThrow(ForgeRegistry.java:542) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23190%23197!/:?] {re:classloading} at net.minecraft.world.effect.MobEffectInstance.getEffect(MobEffectInstance.java:145) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:potion} at net.minecraft.world.effect.MobEffectInstance.<init>(MobEffectInstance.java:64) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:potion} at net.minecraft.world.entity.LivingEntity.addEatEffect(LivingEntity.java:3504) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.LivingEntity.eat(LivingEntity.java:3488) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.eat(Player.java:2153) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.item.Item.finishUsingItem(Item.java:168) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.item.ItemStack.finishUsingItem(ItemStack.java:293) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:itemstack} at net.minecraft.world.entity.LivingEntity.completeUsingItem(LivingEntity.java:3213) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.level.ServerPlayer.completeUsingItem(ServerPlayer.java:1162) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.LivingEntity.updateUsingItem(LivingEntity.java:3092) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.level.ServerPlayer.updateUsingItem(ServerPlayer.java:1766) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.LivingEntity.updatingUsingItem(LivingEntity.java:3074) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:2402) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.tick(Player.java:245) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:489) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:267) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.network.Connection.tick(Connection.java:289) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:159) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:937) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:844) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.server.IntegratedServer.tickServer(IntegratedServer.java:95) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:679) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:251) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:840) ~[?:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at net.minecraftforge.registries.ForgeRegistry.lambda$getDelegateOrThrow$5(ForgeRegistry.java:542) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23190%23197!/:?] {re:classloading} at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {} at net.minecraftforge.registries.ForgeRegistry.getDelegateOrThrow(ForgeRegistry.java:542) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23190%23197!/:?] {re:classloading} at net.minecraft.world.effect.MobEffectInstance.getEffect(MobEffectInstance.java:145) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:potion} at net.minecraft.world.effect.MobEffectInstance.<init>(MobEffectInstance.java:64) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:potion} at net.minecraft.world.entity.LivingEntity.addEatEffect(LivingEntity.java:3504) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.LivingEntity.eat(LivingEntity.java:3488) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.eat(Player.java:2153) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.item.Item.finishUsingItem(Item.java:168) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.item.ItemStack.finishUsingItem(ItemStack.java:293) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,xf:fml:forge:itemstack} at net.minecraft.world.entity.LivingEntity.completeUsingItem(LivingEntity.java:3213) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.level.ServerPlayer.completeUsingItem(ServerPlayer.java:1162) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.LivingEntity.updateUsingItem(LivingEntity.java:3092) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.level.ServerPlayer.updateUsingItem(ServerPlayer.java:1766) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.LivingEntity.updatingUsingItem(LivingEntity.java:3074) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:2402) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.world.entity.player.Player.tick(Player.java:245) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} -- Player being ticked -- Details: Entity Type: minecraft:player (net.minecraft.server.level.ServerPlayer) Entity ID: 231 Entity Name: Dev Entity's Exact location: 7.55, 123.00, 10.53 Entity's Block location: World: (7,123,10), Section: (at 7,11,10 in 0,7,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511) Entity's Momentum: 0.00, -0.08, 0.00 Entity's Passengers: [] Entity's Vehicle: null Stacktrace: at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:489) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.network.ServerGamePacketListenerImpl.tick(ServerGamePacketListenerImpl.java:267) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.network.Connection.tick(Connection.java:289) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:159) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading} at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:937) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:844) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.server.IntegratedServer.tickServer(IntegratedServer.java:95) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:679) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:251) ~[forge-1.20.1-47.2.1_mapped_parchment_2023.06.26-1.20.1-recomp.jar%23191!/:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:840) ~[?:?] {} That is the full crash report. And yes I checked it it's correct.
November 11, 20231 yr Your MobEffect (CantSwimEffect) is a registry object, you must not create a new instance of it you should use the one your registered.
November 11, 20231 yr Author 38 minutes ago, Luis_ST said: Your MobEffect (CantSwimEffect) is a registry object, you must not create a new instance of it you should use the one your registered. Thank you I changed it like that and solved it ; public static final FoodProperties MERA_MERA_NO_MI = new FoodProperties.Builder().nutrition(2).fast() .saturationMod(0.2f).effect(() -> new MobEffectInstance(ModEffects.CANT_SWIM.get()),1).build(); But I can't eat the food while player in survival mod. Why ?
November 11, 20231 yr Author 14 minutes ago, gbln00 said: Thank you I changed it like that and solved it ; public static final FoodProperties MERA_MERA_NO_MI = new FoodProperties.Builder().nutrition(2).fast() .saturationMod(0.2f).effect(() -> new MobEffectInstance(ModEffects.CANT_SWIM.get()),1).build(); But I can't eat the food while player in survival mod. Why ? Ah sorry. I solved it . There was an registration error. Thanks for help again.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.