added effect on mep milk

This commit is contained in:
Chipperfluff 2025-12-19 18:06:44 +01:00
parent f096a93b86
commit fc78faffb5
3 changed files with 38 additions and 6 deletions

View File

@ -1,12 +1,14 @@
package net.Chipperfluff.chipi.item; package net.Chipperfluff.chipi.item;
import net.Chipperfluff.chipi.effect.ModEffects;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.util.UseAction;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.Chipperfluff.chipi.effect.ModEffects;
public class MepMilkItem extends Item { public class MepMilkItem extends Item {
@ -14,17 +16,37 @@ public class MepMilkItem extends Item {
super(settings); super(settings);
} }
@Override
public UseAction getUseAction(ItemStack stack) {
return UseAction.DRINK;
}
@Override
public int getMaxUseTime(ItemStack stack) {
return 32;
}
@Override @Override
public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) {
if (!world.isClient) { if (!world.isClient) {
int durationSeconds = 5 + world.random.nextInt(6);
int durationTicks = durationSeconds * 20;
user.addStatusEffect( user.addStatusEffect(
new StatusEffectInstance( new StatusEffectInstance(
ModEffects.CHIPI_BLESSING, ModEffects.CHIPI_BLESSING,
20 * 20, durationTicks,
0 0
) )
); );
} }
return new ItemStack(Items.BUCKET);
if (user instanceof PlayerEntity player && !player.getAbilities().creativeMode) {
return new ItemStack(Items.BUCKET);
}
return stack;
} }
} }

View File

@ -4,5 +4,15 @@ import net.minecraft.item.FoodComponent;
public class ModFoodComponents { public class ModFoodComponents {
public static final FoodComponent NUT = new FoodComponent.Builder().hunger(4).saturationModifier(0.3f).snack().build(); public static final FoodComponent NUT =
new FoodComponent.Builder()
.hunger(4)
.saturationModifier(0.3f)
.snack()
.build();
public static final FoodComponent MEP_MILK =
new FoodComponent.Builder()
.alwaysEdible()
.build();
} }

View File

@ -86,7 +86,7 @@ public class ModItems {
public static final Item MEP_MILK = Registry.register( public static final Item MEP_MILK = Registry.register(
Registries.ITEM, Registries.ITEM,
new Identifier(ChipiMod.MOD_ID, "mep_milk"), new Identifier(ChipiMod.MOD_ID, "mep_milk"),
new MepMilkItem(new Item.Settings().maxCount(1).recipeRemainder(Items.BUCKET)) new MepMilkItem(new Item.Settings().maxCount(1).recipeRemainder(Items.BUCKET).food(ModFoodComponents.MEP_MILK))
); );
// ===== ARMOR ===== // ===== ARMOR =====