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 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_SIZEFields 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) Loads the start/end coordinates from this stack.floatgetDestroySpeed(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) 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) 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, 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, onCraftedPostProcess, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, releaseUsing, requiredFeatures, shouldOverrideMultiplayerNbt, toString, useOnRelease, verifyTagAfterLoadMethods 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
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, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, isBookEnchantable, isCorrectToolForDrops, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, makesPiglinsNeutral, onArmorTick, onBlockStartBreak, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onHorseArmorTick, onItemUseFirst, onLeftClickEntity, onStopUsing, 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 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
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 positionend- 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
-