Class GPSToolItem
java.lang.Object
net.minecraftforge.registries.ForgeRegistryEntry<net.minecraft.world.item.Item>
net.minecraft.world.item.Item
me.desht.pneumaticcraft.common.item.GPSToolItem
- All Implemented Interfaces:
IPositionProvider,IGPSToolSync,net.minecraft.world.level.ItemLike,net.minecraftforge.common.extensions.IForgeItem,net.minecraftforge.registries.IForgeRegistryEntry<net.minecraft.world.item.Item>
public class GPSToolItem
extends net.minecraft.world.item.Item
implements IPositionProvider, IGPSToolSync
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.item.Item
net.minecraft.world.item.Item.PropertiesNested classes/interfaces inherited from class net.minecraftforge.registries.ForgeRegistryEntry
net.minecraftforge.registries.ForgeRegistryEntry.UncheckedRegistryEntry<V extends net.minecraftforge.registries.IForgeRegistryEntry<V>> -
Field Summary
Fields inherited from class net.minecraft.world.item.Item
BASE_ATTACK_DAMAGE_UUID, BASE_ATTACK_SPEED_UUID, BY_BLOCK, canRepair, category, EAT_DURATION, MAX_BAR_WIDTH, MAX_STACK_SIZEFields inherited from class net.minecraftforge.registries.ForgeRegistryEntry
delegate -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level worldIn, List<net.minecraft.network.chat.Component> infoList, net.minecraft.world.item.TooltipFlag par4) static Optional<net.minecraft.core.BlockPos>getGPSLocation(UUID playerId, net.minecraft.world.item.ItemStack gpsTool) static Optional<net.minecraft.core.BlockPos>getGPSLocation(net.minecraft.world.item.ItemStack stack) intgetRenderColor(int index) Color that should be used to highlight the stored block positions if & when they are rendered on-screen.List<net.minecraft.core.BlockPos>getStoredPositions(UUID playerId, net.minecraft.world.item.ItemStack stack) Get block position data from the given ItemStack.static StringgetVariable(net.minecraft.world.item.ItemStack gpsTool) voidinventoryTick(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level world, net.minecraft.world.entity.Entity entity, int slot, boolean heldItem) static voidsetGPSLocation(UUID playerId, net.minecraft.world.item.ItemStack gpsTool, net.minecraft.core.BlockPos pos) static voidsetGPSLocation(UUID playerId, net.minecraft.world.item.ItemStack gpsTool, net.minecraft.core.BlockPos pos, boolean updateVarManager) static voidsetVariable(net.minecraft.world.item.ItemStack gpsTool, String variable) voidsyncFromClient(net.minecraft.world.entity.player.Player player, net.minecraft.world.item.ItemStack stack, int index, net.minecraft.core.BlockPos pos, String varName) Called when the GPS (Area) Tool GUI is closed, to send position & variable information to servervoidsyncVariables(net.minecraft.server.level.ServerPlayer player, net.minecraft.world.item.ItemStack stack) If the item stores any global variables which the client needs to know about (e.g.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.InteractionResultuseOn(net.minecraft.world.item.context.UseOnContext ctx) Methods inherited from class net.minecraft.world.item.Item
allowdedIn, asItem, builtInRegistryHolder, byBlock, byId, canAttackBlock, canBeDepleted, canBeHurtBy, canFitInsideContainerItems, fillItemCategory, finishUsingItem, getBarColor, getBarWidth, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDescription, getDescriptionId, getDescriptionId, getDestroySpeed, getDrinkingSound, getEatingSound, getEnchantmentValue, getEquipSound, getFoodProperties, getId, getItemCategory, getMaxDamage, getMaxStackSize, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getRarity, getRenderPropertiesInternal, getTooltipImage, getUseAnimation, getUseDuration, hasCraftingRemainingItem, hurtEnemy, initializeClient, interactLivingEntity, isBarVisible, isComplex, isCorrectToolForDrops, isEdible, isEnchantable, isFireResistant, isFoil, isRepairable, isValidRepairItem, mineBlock, onCraftedBy, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, releaseUsing, shouldOverrideMultiplayerNbt, toString, useOnRelease, verifyTagAfterLoadMethods inherited from class net.minecraftforge.registries.ForgeRegistryEntry
getRegistryName, getRegistryType, setRegistryName, setRegistryName, setRegistryNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraftforge.common.extensions.IForgeItem
canApplyAtEnchantingTable, canContinueUsing, canDisableShield, canElytraFly, canEquip, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, elytraFlightTick, getArmorTexture, getAttributeModifiers, getBurnTime, getContainerItem, getCreativeTabs, getCreatorModId, getDamage, getDefaultTooltipHideFlags, getEntityLifespan, getEquipmentSlot, getFoodProperties, getHighlightTip, getItemEnchantability, getItemStackLimit, getMaxDamage, getShareTag, getSweepHitBox, getXpRepairRatio, hasContainerItem, hasCustomEntity, initCapabilities, isBookEnchantable, isCorrectToolForDrops, isDamageable, isDamaged, isEnderMask, isPiglinCurrency, makesPiglinsNeutral, onArmorTick, onBlockStartBreak, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onHorseArmorTick, onItemUseFirst, onLeftClickEntity, onUsingTick, readShareTag, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimationMethods inherited from interface me.desht.pneumaticcraft.api.item.IPositionProvider
disableDepthTest, getRawStoredPositions
-
Constructor Details
-
GPSToolItem
public GPSToolItem()
-
-
Method Details
-
useOn
public net.minecraft.world.InteractionResult useOn(net.minecraft.world.item.context.UseOnContext ctx) - Overrides:
useOnin classnet.minecraft.world.item.Item
-
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:
usein classnet.minecraft.world.item.Item
-
appendHoverText
public void appendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level worldIn, List<net.minecraft.network.chat.Component> infoList, net.minecraft.world.item.TooltipFlag par4) - Overrides:
appendHoverTextin classnet.minecraft.world.item.Item
-
inventoryTick
public void inventoryTick(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level world, net.minecraft.world.entity.Entity entity, int slot, boolean heldItem) - Overrides:
inventoryTickin classnet.minecraft.world.item.Item
-
getGPSLocation
@Nonnull public static Optional<net.minecraft.core.BlockPos> getGPSLocation(net.minecraft.world.item.ItemStack stack) -
getGPSLocation
-
setGPSLocation
public static void setGPSLocation(UUID playerId, net.minecraft.world.item.ItemStack gpsTool, net.minecraft.core.BlockPos pos) -
setGPSLocation
public static void setGPSLocation(UUID playerId, net.minecraft.world.item.ItemStack gpsTool, net.minecraft.core.BlockPos pos, boolean updateVarManager) -
setVariable
-
getVariable
-
getStoredPositions
public List<net.minecraft.core.BlockPos> getStoredPositions(UUID playerId, @Nonnull net.minecraft.world.item.ItemStack stack) Description copied from interface:IPositionProviderGet block position data from the given ItemStack. It is up to the implementor to decide how the block positions should be stored on the itemstack and in what order they should be returned.- Specified by:
getStoredPositionsin interfaceIPositionProvider- Parameters:
playerId- the player, for player-global variable context (may be null)stack- the itemstack- Returns:
- a list of block positions that has been retrieved from the itemstack
-
getRenderColor
public int getRenderColor(int index) Description copied from interface:IPositionProviderColor that should be used to highlight the stored block positions if & when they are rendered on-screen.- Specified by:
getRenderColorin interfaceIPositionProvider- Parameters:
index- the index in the list returned by getStoredPositions()- Returns:
- a color in ARGB format, or 0 to skip rendering completely
-
syncVariables
public void syncVariables(net.minecraft.server.level.ServerPlayer player, net.minecraft.world.item.ItemStack stack) Description copied from interface:IPositionProviderIf the item stores any global variables which the client needs to know about (e.g. for area rendering), override this method to sync their values to the client. This method is called server-side when an item in any player's inventory (which implementsIPositionProvider) changes in any way.See
PneumaticRegistry.IPneumaticCraftInterface.syncGlobalVariable(ServerPlayer, String)} for a convenience method to send the necessary sync packet.- Specified by:
syncVariablesin interfaceIPositionProvider- Parameters:
player- the player to sync tostack- the itemstack
-
syncFromClient
public void syncFromClient(net.minecraft.world.entity.player.Player player, net.minecraft.world.item.ItemStack stack, int index, net.minecraft.core.BlockPos pos, String varName) Description copied from interface:IGPSToolSyncCalled when the GPS (Area) Tool GUI is closed, to send position & variable information to server- Specified by:
syncFromClientin interfaceIGPSToolSync- Parameters:
player- the playerstack- the gps (area) tool itemstackindex- index of the pos & var (ignore for GPS Tool)pos- the new position for this indexvarName- the new variable name for this index (empty string if absent)
-