Package com.ldtteam.structurize.items
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.neoforged.neoforge.common.extensions.IItemExtension
- 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 ClassesModifier and TypeClassDescriptionstatic final recordData components for storing start and end posNested 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_WIDTHFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsConstructorDescriptionAbstractItemWithPosSelector(net.minecraft.world.item.Item.Properties properties) MC redirect. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanAttackBlock(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) Deprecated, for removal: This API element is subject to removal in a future version.use datacomponentsfloatgetDestroySpeed(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.block.state.BlockState state) Override this so items have instant click in survival.abstract AbstractItemWithPosSelectorUses to search for correct itemstack in both hands.abstract net.minecraft.world.InteractionResultonAirRightClick(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 voidsetBounds(@NotNull net.minecraft.world.item.ItemStack tool, @NotNull net.minecraft.core.BlockPos start, @NotNull net.minecraft.core.BlockPos end) Deprecated, for removal: This API element is subject to removal in a future version.use datacomponentsnet.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) Structurize: CallsonAirRightClick(BlockPos, BlockPos, Level, Player, ItemStack).net.minecraft.world.InteractionResultuseOn(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, canFitInsideContainerItems, components, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getBreakingSound, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDefaultMaxStackSize, getDescription, getDescriptionId, getDescriptionId, getDrinkingSound, getEatingSound, getEnchantmentValue, getId, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getTooltipImage, getUseAnimation, 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, verifyComponentsAfterLoadMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IItemExtension
applyEnchantments, canBeHurtBy, canContinueUsing, canDisableShield, canElytraFly, canEquip, 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, onEntitySwing, onItemUseFirst, onLeftClickEntity, onStopUsing, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation, supportsEnchantment
-
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 posend- second posworldIn- event worldplayerIn- event player- Returns:
- event result, typically success
-
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) Structurize: CallsonAirRightClick(BlockPos, BlockPos, Level, Player, ItemStack).- Overrides:
usein classnet.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:
useOnin classnet.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:
canAttackBlockin classnet.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:
getDestroySpeedin classnet.minecraft.world.item.Item
-
setBounds
@Deprecated(forRemoval=true, since="1.21") 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) Deprecated, for removal: This API element is subject to removal in a future version.use datacomponentsSaves the start/end coordinates on this stack.- Parameters:
tool- The tool stack (assumed already been validated)start- The new start positionend- The new end position
-
getBounds
@Deprecated(forRemoval=true, since="1.21") public static net.minecraft.util.Tuple<net.minecraft.core.BlockPos,net.minecraft.core.BlockPos> getBounds(@NotNull @NotNull net.minecraft.world.item.ItemStack tool) Deprecated, for removal: This API element is subject to removal in a future version.use datacomponentsLoads the start/end coordinates from this stack.- Parameters:
tool- The tool stack (assumed already been validated)- Returns:
- the start/end positions
-