java.lang.Object
net.minecraft.world.item.Item
com.simibubi.create.content.equipment.zapper.ZapperItem
All Implemented Interfaces:
CustomArmPoseItem, net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IItemExtension
Direct Known Subclasses:
WorldshaperItem

public abstract class ZapperItem extends net.minecraft.world.item.Item implements CustomArmPoseItem
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.item.Item

    net.minecraft.world.item.Item.Properties, net.minecraft.world.item.Item.TooltipContext
  • Field Summary

    Fields inherited from class net.minecraft.world.item.Item

    ABSOLUTE_MAX_STACK_SIZE, BASE_ATTACK_DAMAGE_ID, BASE_ATTACK_SPEED_ID, BY_BLOCK, canRepair, DEFAULT_MAX_STACK_SIZE, MAX_BAR_WIDTH

    Fields inherited from interface net.minecraft.world.flag.FeatureElement

    FILTERED_REGISTRIES
  • Constructor Summary

    Constructors
    Constructor
    Description
    ZapperItem(net.minecraft.world.item.Item.Properties properties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract boolean
    activate(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.world.item.ItemStack item, net.minecraft.world.level.block.state.BlockState stateToUse, net.minecraft.world.phys.BlockHitResult raytrace, net.minecraft.nbt.CompoundTag data)
     
    void
    appendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.item.Item.TooltipContext context, List<net.minecraft.network.chat.Component> tooltip, net.minecraft.world.item.TooltipFlag flagIn)
     
    protected boolean
    canActivateWithoutSelectedBlock(net.minecraft.world.item.ItemStack stack)
     
    boolean
    canAttackBlock(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player)
     
    @Nullable net.minecraft.client.model.HumanoidModel.ArmPose
    getArmPose(net.minecraft.world.item.ItemStack stack, net.minecraft.client.player.AbstractClientPlayer player, net.minecraft.world.InteractionHand hand)
     
    protected abstract int
    getCooldownDelay(net.minecraft.world.item.ItemStack item)
     
    net.minecraft.world.item.UseAnim
    getUseAnimation(net.minecraft.world.item.ItemStack stack)
     
    protected abstract int
    getZappingRange(net.minecraft.world.item.ItemStack stack)
     
    boolean
    isZapper(net.minecraft.world.item.ItemStack newStack)
     
    boolean
    onEntitySwing(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
     
    protected abstract void
    openHandgunGUI(net.minecraft.world.item.ItemStack item, net.minecraft.world.InteractionHand hand)
     
    static void
    setBlockEntityData(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.nbt.CompoundTag data, net.minecraft.world.entity.player.Player player)
     
    boolean
    shouldCauseReequipAnimation(net.minecraft.world.item.ItemStack oldStack, net.minecraft.world.item.ItemStack newStack, boolean slotChanged)
     
    net.minecraft.world.InteractionResultHolder<net.minecraft.world.item.ItemStack>
    use(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand)
     
    @NotNull net.minecraft.world.InteractionResult
    useOn(net.minecraft.world.item.context.UseOnContext context)
     
    net.minecraft.network.chat.Component
    validateUsage(net.minecraft.world.item.ItemStack item)
     

    Methods inherited from class net.minecraft.world.item.Item

    asItem, builtInRegistryHolder, byBlock, byId, canFitInsideContainerItems, components, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getBreakingSound, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDefaultMaxStackSize, getDescription, getDescriptionId, getDescriptionId, getDestroySpeed, getDrinkingSound, getEatingSound, getEnchantmentValue, getId, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getTooltipImage, getUseDuration, hasCraftingRemainingItem, hurtEnemy, initializeClient, interactLivingEntity, inventoryTick, isBarVisible, isComplex, isCorrectToolForDrops, isEnchantable, isFoil, isRepairable, isValidRepairItem, mineBlock, modifyDefaultComponentsFrom, onCraftedBy, onCraftedPostProcess, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, postHurtEnemy, releaseUsing, requiredFeatures, toString, useOnRelease, verifyComponentsAfterLoad

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.world.flag.FeatureElement

    isEnabled

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IItemExtension

    applyEnchantments, canBeHurtBy, canContinueUsing, canDisableShield, canElytraFly, canEquip, canFitInsideContainerItems, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, elytraFlightTick, getAllEnchantments, getArmorTexture, getBurnTime, getCraftingRemainingItem, getCreatorModId, getDamage, getDefaultAttributeModifiers, getEnchantmentLevel, getEnchantmentValue, getEntityLifespan, getEquipmentSlot, getFoodProperties, getHighlightTip, getMaxDamage, getMaxStackSize, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, isBookEnchantable, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onItemUseFirst, onLeftClickEntity, onStopUsing, setDamage, shouldCauseBlockBreakReset, supportsEnchantment
  • Constructor Details

    • ZapperItem

      public ZapperItem(net.minecraft.world.item.Item.Properties properties)
  • Method Details

    • appendHoverText

      public void appendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.item.Item.TooltipContext context, List<net.minecraft.network.chat.Component> tooltip, net.minecraft.world.item.TooltipFlag flagIn)
      Overrides:
      appendHoverText in class net.minecraft.world.item.Item
    • shouldCauseReequipAnimation

      public boolean shouldCauseReequipAnimation(net.minecraft.world.item.ItemStack oldStack, net.minecraft.world.item.ItemStack newStack, boolean slotChanged)
      Specified by:
      shouldCauseReequipAnimation in interface net.neoforged.neoforge.common.extensions.IItemExtension
    • isZapper

      public boolean isZapper(net.minecraft.world.item.ItemStack newStack)
    • useOn

      @NotNull public @NotNull net.minecraft.world.InteractionResult useOn(net.minecraft.world.item.context.UseOnContext context)
      Overrides:
      useOn in class net.minecraft.world.item.Item
    • use

      public net.minecraft.world.InteractionResultHolder<net.minecraft.world.item.ItemStack> use(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand)
      Overrides:
      use in class net.minecraft.world.item.Item
    • validateUsage

      public net.minecraft.network.chat.Component validateUsage(net.minecraft.world.item.ItemStack item)
    • activate

      protected abstract boolean activate(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.world.item.ItemStack item, net.minecraft.world.level.block.state.BlockState stateToUse, net.minecraft.world.phys.BlockHitResult raytrace, net.minecraft.nbt.CompoundTag data)
    • openHandgunGUI

      protected abstract void openHandgunGUI(net.minecraft.world.item.ItemStack item, net.minecraft.world.InteractionHand hand)
    • getCooldownDelay

      protected abstract int getCooldownDelay(net.minecraft.world.item.ItemStack item)
    • getZappingRange

      protected abstract int getZappingRange(net.minecraft.world.item.ItemStack stack)
    • canActivateWithoutSelectedBlock

      protected boolean canActivateWithoutSelectedBlock(net.minecraft.world.item.ItemStack stack)
    • onEntitySwing

      public boolean onEntitySwing(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
      Specified by:
      onEntitySwing in interface net.neoforged.neoforge.common.extensions.IItemExtension
    • canAttackBlock

      public boolean canAttackBlock(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player)
      Overrides:
      canAttackBlock in class net.minecraft.world.item.Item
    • getUseAnimation

      public net.minecraft.world.item.UseAnim getUseAnimation(net.minecraft.world.item.ItemStack stack)
      Overrides:
      getUseAnimation in class net.minecraft.world.item.Item
    • getArmPose

      @Nullable public @Nullable net.minecraft.client.model.HumanoidModel.ArmPose getArmPose(net.minecraft.world.item.ItemStack stack, net.minecraft.client.player.AbstractClientPlayer player, net.minecraft.world.InteractionHand hand)
      Specified by:
      getArmPose in interface CustomArmPoseItem
    • setBlockEntityData

      public static void setBlockEntityData(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.nbt.CompoundTag data, net.minecraft.world.entity.player.Player player)