Class AbstractChestBoat
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
net.minecraft.world.entity.vehicle.VehicleEntity
net.minecraft.world.entity.vehicle.boat.AbstractBoat
net.minecraft.world.entity.vehicle.boat.AbstractChestBoat
- All Implemented Interfaces:
Iterable<ItemStack>, DataComponentGetter, TypedInstance<EntityType<?>>, SyncedDataHolder, DebugValueSource, Clearable, Container, HasCustomInventoryScreen, ItemOwner, Leashable, SlotProvider, ContainerEntity, MenuConstructor, EntityAccess, UniquelyIdentifyable, MenuProvider, Nameable, ScoreHolder, IAttachmentHolder, ContainerExtension, IAbstractBoatExtension, IEntityExtension, IMenuProviderExtension
public abstract class AbstractChestBoat
extends AbstractBoat
implements HasCustomInventoryScreen, ContainerEntity
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractBoat
AbstractBoat.StatusNested classes/interfaces inherited from class Entity
Entity.Flags, Entity.MoveFunction, Entity.MovementEmission, Entity.RemovalReasonNested classes/interfaces inherited from class AttachmentHolder
AttachmentHolder.AsFieldNested classes/interfaces inherited from interface Container
Container.ContainerIteratorNested classes/interfaces inherited from interface DebugValueSource
DebugValueSource.Registration, DebugValueSource.ValueGetter<T>Nested classes/interfaces inherited from interface ItemOwner
ItemOwner.OffsetFromOwnerNested classes/interfaces inherited from interface Leashable
Leashable.LeashData, Leashable.Wrench -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate NonNullList<ItemStack> private @Nullable ResourceKey<LootTable> private longFields inherited from class AbstractBoat
BUBBLE_TIME, PADDLE_LEFT, PADDLE_RIGHT, PADDLE_SOUND_TIMEFields inherited from class VehicleEntity
DATA_ID_DAMAGE, DATA_ID_HURT, DATA_ID_HURTDIRFields inherited from class Entity
BASE_SAFE_FALL_DISTANCE, BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, CONTENTS_SLOT_INDEX, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_2, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_5, DELTA_AFFECTED_BY_BLOCKS_BELOW_1_0, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, horizontalCollision, hurtMarked, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, MAX_MOVEMENTS_HANDELED_PER_TICK, minorHorizontalCollision, moveDist, needsSync, noPhysics, portalProcess, random, stringUUID, stuckSpeedMultiplier, TAG_AIR, TAG_CUSTOM_NAME, TAG_DATA, TAG_FALL_DISTANCE, TAG_FIRE, TAG_GLOWING, TAG_ID, TAG_INVULNERABLE, TAG_MOTION, TAG_NO_GRAVITY, TAG_ON_GROUND, TAG_PASSENGERS, TAG_PORTAL_COOLDOWN, TAG_POS, TAG_ROTATION, TAG_SILENT, TAG_UUID, tickCount, TOTAL_AIR_SUPPLY, uuid, verticalCollision, verticalCollisionBelow, wasEyeInWater, wasInPowderSnow, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOldFields inherited from class AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface Container
DEFAULT_DISTANCE_BUFFERFields inherited from interface Leashable
AXIS_SPECIFIC_ELASTICITY, ENTITY_ATTACHMENT_POINT, LEASH_ELASTIC_DIST, LEASH_TAG, LEASH_TOO_FAR_DIST, LEASHER_ATTACHMENT_POINT, MAXIMUM_ALLOWED_LEASHED_DIST, SHARED_QUAD_ATTACHMENT_POINTS, SPRING_DAMPENING, STIFFNESS, TORSIONAL_ELASTICITYFields inherited from interface ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsConstructorDescriptionAbstractChestBoat(EntityType<? extends AbstractChestBoat> type, Level level, Supplier<Item> dropItem) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAdditionalSaveData(ValueOutput output) voidvoid@Nullable AbstractContainerMenucreateMenu(int containerId, Inventory inventory, Player player) voiddestroy(ServerLevel level, DamageSource source) @Nullable ResourceKey<LootTable> longintgetItem(int slot) Returns the stack in the given slot.protected intprotected floatgetSlot(int slot) interact(Player player, InteractionHand hand, Vec3 location) voidopenCustomInventoryScreen(Player player) protected voidreadAdditionalSaveData(ValueInput input) voidremove(Entity.RemovalReason reason) removeItem(int slot, int count) Removes up to a specified number of items from an inventory slot and returns them in a new stack.removeItemNoUpdate(int slot) Removes a stack from the given slot and returns it.voidvoidsetContainerLootTable(@Nullable ResourceKey<LootTable> lootTable) voidsetContainerLootTableSeed(long lootTableSeed) voidSets the given item stack to the specified slot in the inventory (can be crafting or armor sections).booleanstillValid(Player player) Don't rename this method to canInteractWith due to conflicts with ContainervoidstopOpen(ContainerUser containerUser) voidunpackLootTable(@Nullable Player player) Methods inherited from class AbstractBoat
animateHurt, canAddPassenger, canBeCollidedWith, canCollideWith, canVehicleCollide, checkFallDamage, clampRotation, defineSynchedData, getBubbleAngle, getControllingPassenger, getDefaultGravity, getDismountLocationForPassenger, getDropItem, getGroundFriction, getInterpolation, getLeashData, getLeashOffset, getMotionDirection, getMovementEmission, getPaddleSound, getPaddleState, getPassengerAttachmentPoint, getPickResult, getQuadLeashOffsets, getRelativePortalPosition, getRowingTime, getWaterLevelAbove, hasEnoughSpaceFor, isPickable, isPushable, isUnderWater, onAboveBubbleColumn, onPassengerTurned, positionRider, push, rideHeight, setInitialPos, setInput, setLeashData, setPaddleState, supportQuadLeash, tickMethods inherited from class VehicleEntity
destroy, getDamage, getDimensionChangingDelay, getHurtDir, getHurtTime, hurtClient, hurtServer, ignoreExplosion, setDamage, setHurtDir, setHurtTime, shouldSourceDestroyMethods inherited from class Entity
absSnapRotationTo, absSnapTo, absSnapTo, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, applyComponentsFromItemStack, applyEffectsFromBlocks, applyEffectsFromBlocks, applyGravity, applyImplicitComponent, applyImplicitComponentIfPresent, applyImplicitComponents, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canBeHitByProjectile, canControlVehicle, canFreeze, canInteractWithLevel, canRide, canSimulateMovement, canSpawnSprintParticle, canSprint, canTeleport, canTrample, canUsePortal, captureDrops, captureDrops, castComponentValue, causeFallDamage, checkBelowWorld, checkDespawn, checkFallDistanceAccumulation, checkSupportingBlock, chunkPosition, clearFire, clearFreeze, clearMovementThisTick, closerThan, closerThan, collectAllColliders, collideBoundingBox, collidedWithFluid, collidedWithShapeMovingFrom, computeSpeed, considersEntityAsAlly, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStackForNameResolution, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doCheckFallDamage, doWaterSplashEffect, dropAllLeashConnections, ejectPassengers, entityTags, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, forceSetRotation, fudgePositionAfterSizeChange, gameEvent, gameEvent, get, getAddEntityPacket, getAirSupply, getAttachments, getAvailableSpaceBelow, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getCapability, getCapability, getCollisionHorizontalEscapeVector, getControlledVehicle, getCustomName, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensions, getDirection, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getHeadLookAngle, getId, getInBlockState, getIndirectPassengers, getInputVector, getKnownMovement, getKnownSpeed, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getLootTable, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPersistentData, getPickRadius, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPreciseBodyRotation, getPrimaryStepSoundBlockPos, getQuadLeashHolderOffsets, getRandom, getRandomX, getRandomY, getRandomZ, getRemainingFireTicks, getRemovalReason, getRequiresPrecisePosition, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getWeaponItem, getX, getX, getXRot, getXRot, getY, getY, getYHeadRot, getYRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handleOnAboveBubbleColumn, handleOnInsideBubbleColumn, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasMovedHorizontallyRecently, hasPassenger, hasPassenger, hasPose, hurt, hurtOrSimulate, igniteForSeconds, igniteForTicks, is, isAddedToLevel, isAffectedByBlocks, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isClientAuthoritative, isColliding, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFlyingVehicle, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInClouds, isInFluidType, isInFluidType, isInLava, isInLiquid, isInShallowWater, isInterpolating, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableToBase, isInWall, isInWater, isInWaterOrRain, isLocalClientAuthoritative, isLocalInstanceAuthoritative, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lavaIgnite, lerpHeadTo, lerpMotion, lerpPositionAndRotationStep, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mayInteract, mirror, move, moveOrInterpolateTo, moveOrInterpolateTo, moveOrInterpolateTo, moveOrInterpolateTo, moveRelative, moveTowardsClosestSpace, nextStep, notifyLeasheeRemoved, notifyLeashHolder, oldPosition, onAddedToLevel, onBelowWorld, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onRemoval, onRemovedFromLevel, onSyncedDataUpdated, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, problemPath, processFlappingMovement, processPortalCooldown, propagateFallToPassengers, push, push, reapplyPosition, recreateFromPacket, refreshDimensions, registerDebugValues, registryAccess, removeAfterChangingDimensions, removeLatestMovementRecording, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rideTick, rotate, save, saveAsPassenger, saveWithoutId, sendBubbleColumnParticles, setAirSupply, setAsInsidePortal, setBoundingBox, setComponent, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPos, setOldPosAndRot, setOldPosAndRot, setOldRot, setOnGround, setOnGroundWithMovement, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRequiresPrecisePosition, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shearOffAllLeashConnections, shouldBeSaved, shouldBlockExplode, shouldPlayLavaHurtSound, shouldRender, shouldRenderAtSqrDistance, shouldShowName, showVehicleHealth, skipAttackInteraction, snapTo, snapTo, snapTo, snapTo, snapTo, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, supportQuadLeashAsHolder, syncData, syncPacketPositionCodec, teleport, teleportRelative, teleportSetPosition, teleportSetPosition, teleportSpectators, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, turn, typeHolder, unRide, unsetRemoved, updateDataBeforeSync, updateDynamicGameEventListener, updateFluidHeightAndDoCanPushEntityFluidPushing, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSoundMethods inherited from class AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachmentsMethods inherited from interface Container
canPlaceItem, canTakeItem, countItem, getEntitiesWithContainerOpen, getMaxStackSize, getMaxStackSize, hasAnyMatching, hasAnyOf, iterator, startOpenMethods inherited from interface ContainerEntity
addChestVehicleSaveData, chestVehicleDestroyed, clearChestVehicleContent, getBoundingBox, getChestVehicleItem, getChestVehicleSlot, interactWithContainerVehicle, isChestVehicleEmpty, isChestVehicleStillValid, isEmpty, isRemoved, level, position, readChestVehicleSaveData, removeChestVehicleItem, removeChestVehicleItemNoUpdate, setChestVehicleItem, unpackChestVehicleLootTableMethods inherited from interface ContainerExtension
onTransfer, setItemMethods inherited from interface DataComponentGetter
get, getOrDefault, getOrDefault, getTyped, has, hasMethods inherited from interface IAbstractBoatExtension
canBoatInFluid, canBoatInFluidMethods inherited from interface IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncDataMethods inherited from interface IEntityExtension
canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canSwimInFluidType, copyAttachmentsFrom, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getSoundFromFluidType, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, sendPairingData, shouldRiderSitMethods inherited from interface IMenuProviderExtension
shouldTriggerClientSideContainerClosingOnOpen, writeClientSideDataMethods inherited from interface ItemOwner
asLivingEntityMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface Leashable
canBeLeashed, canHaveALeashAttachedTo, checkElasticInteractions, closeRangeLeashBehaviour, dropLeash, getLeashHolder, getLeashOffset, isLeashed, leashDistanceTo, leashElasticDistance, leashSnapDistance, leashTooFarBehaviour, mayBeLeashed, onElasticLeashPull, onLeashRemoved, readLeashData, removeLeash, setDelayedLeashHolderId, setLeashedTo, whenLeashedTo, writeLeashDataMethods inherited from interface MenuProvider
getDisplayNameMethods inherited from interface Nameable
getPlainTextNameMethods inherited from interface ScoreHolder
getFeedbackDisplayNameMethods inherited from interface SlotProvider
getSlotsFromRange
-
Field Details
-
CONTAINER_SIZE
private static final int CONTAINER_SIZE- See Also:
-
itemStacks
-
lootTable
-
lootTableSeed
private long lootTableSeed
-
-
Constructor Details
-
AbstractChestBoat
public AbstractChestBoat(EntityType<? extends AbstractChestBoat> type, Level level, Supplier<Item> dropItem)
-
-
Method Details
-
getSinglePassengerXOffset
protected float getSinglePassengerXOffset()- Overrides:
getSinglePassengerXOffsetin classAbstractBoat
-
getMaxPassengers
protected int getMaxPassengers()- Overrides:
getMaxPassengersin classAbstractBoat
-
addAdditionalSaveData
- Overrides:
addAdditionalSaveDatain classAbstractBoat
-
readAdditionalSaveData
- Overrides:
readAdditionalSaveDatain classAbstractBoat
-
destroy
- Overrides:
destroyin classVehicleEntity
-
remove
- Overrides:
removein classAbstractBoat
-
interact
- Overrides:
interactin classAbstractBoat
-
openCustomInventoryScreen
- Specified by:
openCustomInventoryScreenin interfaceHasCustomInventoryScreen
-
clearContent
public void clearContent()- Specified by:
clearContentin interfaceClearable
-
getContainerSize
public int getContainerSize()- Specified by:
getContainerSizein interfaceContainer
-
getItem
-
removeItem
Description copied from interface:ContainerRemoves up to a specified number of items from an inventory slot and returns them in a new stack.- Specified by:
removeItemin interfaceContainer
-
removeItemNoUpdate
Description copied from interface:ContainerRemoves a stack from the given slot and returns it.- Specified by:
removeItemNoUpdatein interfaceContainer
-
setItem
-
getSlot
-
setChanged
public void setChanged()- Specified by:
setChangedin interfaceContainer
-
stillValid
Description copied from interface:ContainerDon't rename this method to canInteractWith due to conflicts with Container- Specified by:
stillValidin interfaceContainer
-
createMenu
public @Nullable AbstractContainerMenu createMenu(int containerId, Inventory inventory, Player player) - Specified by:
createMenuin interfaceMenuConstructor
-
unpackLootTable
-
getContainerLootTable
- Specified by:
getContainerLootTablein interfaceContainerEntity
-
setContainerLootTable
- Specified by:
setContainerLootTablein interfaceContainerEntity
-
getContainerLootTableSeed
public long getContainerLootTableSeed()- Specified by:
getContainerLootTableSeedin interfaceContainerEntity
-
setContainerLootTableSeed
public void setContainerLootTableSeed(long lootTableSeed) - Specified by:
setContainerLootTableSeedin interfaceContainerEntity
-
getItemStacks
- Specified by:
getItemStacksin interfaceContainerEntity
-
clearItemStacks
public void clearItemStacks()- Specified by:
clearItemStacksin interfaceContainerEntity
-
stopOpen
-