Class AbstractItemWithPosSelector

java.lang.Object
net.minecraft.world.item.Item
com.ldtteam.structurize.items.AbstractItemWithPosSelector
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.minecraftforge.common.extensions.IForgeItem
Direct Known Subclasses:
ItemCaliper, ItemScanTool, ItemTagTool

public abstract class AbstractItemWithPosSelector extends net.minecraft.world.item.Item
Abstract item mechanic for pos selecting
  • Nested Class Summary

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

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

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

    BASE_ATTACK_DAMAGE_UUID, BASE_ATTACK_SPEED_UUID, BY_BLOCK, canRepair, EAT_DURATION, MAX_BAR_WIDTH, MAX_STACK_SIZE

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

    FILTERED_REGISTRIES
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    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)
    Structurize: Prevent block breaking server side.
    static net.minecraft.util.Tuple<net.minecraft.core.BlockPos,net.minecraft.core.BlockPos>
    getBounds(@NotNull net.minecraft.world.item.ItemStack tool)
    Loads the start/end coordinates from this stack.
    float
    getDestroySpeed(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.block.state.BlockState state)
    Override this so items have instant click in survival.
    Uses to search for correct itemstack in both hands.
    abstract net.minecraft.world.InteractionResult
    onAirRightClick(net.minecraft.core.BlockPos start, net.minecraft.core.BlockPos end, net.minecraft.world.level.Level worldIn, net.minecraft.world.entity.player.Player playerIn, net.minecraft.world.item.ItemStack itemStack)
    Is called when player air-right-clicks with item.
    static void
    setBounds(@NotNull net.minecraft.world.item.ItemStack tool, @NotNull net.minecraft.core.BlockPos start, @NotNull net.minecraft.core.BlockPos end)
    Saves the start/end coordinates on this stack.
    net.minecraft.world.InteractionResultHolder<net.minecraft.world.item.ItemStack>
    use(net.minecraft.world.level.Level worldIn, net.minecraft.world.entity.player.Player playerIn, net.minecraft.world.InteractionHand handIn)
    net.minecraft.world.InteractionResult
    useOn(net.minecraft.world.item.context.UseOnContext context)
    Structurize: Captures second position or Anchor Pos.

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

    appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canBeDepleted, canBeHurtBy, canFitInsideContainerItems, finishUsingItem, getBarColor, getBarWidth, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDescription, getDescriptionId, getDescriptionId, getDrinkingSound, getEatingSound, getEnchantmentValue, getFoodProperties, getId, getMaxDamage, getMaxStackSize, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getRarity, getRenderPropertiesInternal, getTooltipImage, getUseAnimation, getUseDuration, hasCraftingRemainingItem, hurtEnemy, initializeClient, interactLivingEntity, inventoryTick, isBarVisible, isComplex, isCorrectToolForDrops, isEdible, isEnchantable, isFireResistant, isFoil, isRepairable, isValidRepairItem, mineBlock, onCraftedBy, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, releaseUsing, requiredFeatures, shouldOverrideMultiplayerNbt, toString, useOnRelease, verifyTagAfterLoad

    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.minecraftforge.common.extensions.IForgeItem

    canApplyAtEnchantingTable, canContinueUsing, canDisableShield, canElytraFly, canEquip, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, elytraFlightTick, getAllEnchantments, getArmorTexture, getAttributeModifiers, getBurnTime, getCraftingRemainingItem, getCreatorModId, getDamage, getDefaultTooltipHideFlags, getEnchantmentLevel, getEnchantmentValue, getEntityLifespan, getEquipmentSlot, getFoodProperties, getHighlightTip, getMaxDamage, getMaxStackSize, getShareTag, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, initCapabilities, isBookEnchantable, isCorrectToolForDrops, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, makesPiglinsNeutral, onArmorTick, onBlockStartBreak, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onHorseArmorTick, onItemUseFirst, onLeftClickEntity, onStopUsing, readShareTag, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation
  • Constructor Details

    • AbstractItemWithPosSelector

      public AbstractItemWithPosSelector(net.minecraft.world.item.Item.Properties properties)
      MC redirect.
      Parameters:
      properties - item properties
  • Method Details

    • onAirRightClick

      public abstract net.minecraft.world.InteractionResult onAirRightClick(net.minecraft.core.BlockPos start, net.minecraft.core.BlockPos end, net.minecraft.world.level.Level worldIn, net.minecraft.world.entity.player.Player playerIn, net.minecraft.world.item.ItemStack itemStack)
      Is called when player air-right-clicks with item.
      Parameters:
      start - first pos
      end - second pos
      worldIn - event world
      playerIn - event player
      Returns:
      event result, typically success
    • getRegisteredItemInstance

      public abstract AbstractItemWithPosSelector getRegisteredItemInstance()
      Uses to search for correct itemstack in both hands.
      Returns:
      item reference from ModItems
    • use

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

      public net.minecraft.world.InteractionResult useOn(net.minecraft.world.item.context.UseOnContext context)
      Structurize: Captures second position or Anchor Pos.
      Overrides:
      useOn in class net.minecraft.world.item.Item
    • 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)
      Structurize: Prevent block breaking server side.
      Overrides:
      canAttackBlock in class net.minecraft.world.item.Item
    • getDestroySpeed

      public float getDestroySpeed(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.block.state.BlockState state)
      Override this so items have instant click in survival.
      Overrides:
      getDestroySpeed in class net.minecraft.world.item.Item
    • setBounds

      public static void setBounds(@NotNull @NotNull net.minecraft.world.item.ItemStack tool, @NotNull @NotNull net.minecraft.core.BlockPos start, @NotNull @NotNull net.minecraft.core.BlockPos end)
      Saves the start/end coordinates on this stack.
      Parameters:
      tool - The tool stack (assumed already been validated)
      start - The new start position
      end - The new end position
    • getBounds

      public static net.minecraft.util.Tuple<net.minecraft.core.BlockPos,net.minecraft.core.BlockPos> getBounds(@NotNull @NotNull net.minecraft.world.item.ItemStack tool)
      Loads the start/end coordinates from this stack.
      Parameters:
      tool - The tool stack (assumed already been validated)
      Returns:
      the start/end positions