Reorganized Imports/Packages
This commit is contained in:
parent
cb9459f176
commit
3ee10482ab
721 changed files with 34873 additions and 33558 deletions
59
src/main/java/org/betterx/bclib/items/BaseDrinkItem.java
Normal file
59
src/main/java/org/betterx/bclib/items/BaseDrinkItem.java
Normal file
|
@ -0,0 +1,59 @@
|
|||
package org.betterx.bclib.items;
|
||||
|
||||
import net.minecraft.advancements.CriteriaTriggers;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.stats.Stats;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResultHolder;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.ItemUtils;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.UseAnim;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
||||
public class BaseDrinkItem extends ModelProviderItem {
|
||||
public BaseDrinkItem(Properties settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getUseDuration(ItemStack stack) {
|
||||
return 32;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UseAnim getUseAnimation(ItemStack stack) {
|
||||
return UseAnim.DRINK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResultHolder<ItemStack> use(Level world, Player user, InteractionHand hand) {
|
||||
return ItemUtils.startUsingInstantly(world, user, hand);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack finishUsingItem(ItemStack stack, Level level, LivingEntity user) {
|
||||
if (this.isEdible()) {
|
||||
int count = stack.getCount();
|
||||
user.eat(level, stack);
|
||||
stack.setCount(count);
|
||||
}
|
||||
|
||||
if (user instanceof ServerPlayer serverPlayerEntity) {
|
||||
CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayerEntity, stack);
|
||||
serverPlayerEntity.awardStat(Stats.ITEM_USED.get(this));
|
||||
}
|
||||
|
||||
if (user instanceof Player && !((Player) user).getAbilities().instabuild) {
|
||||
stack.shrink(1);
|
||||
}
|
||||
|
||||
if (!level.isClientSide) {
|
||||
user.removeAllEffects();
|
||||
}
|
||||
|
||||
return stack.isEmpty() ? new ItemStack(Items.GLASS_BOTTLE) : stack;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue