Index

A B C D E F G H I K L M N O P R S T V W 
All Classes|All Packages

A

AbstractPart - Class in alexiil.mc.lib.multipart.api
The base class for every part in a multipart block.
AbstractPart(PartDefinition, MultipartHolder) - Constructor for class alexiil.mc.lib.multipart.api.AbstractPart
 
AbstractPart.ItemDropTarget - Interface in alexiil.mc.lib.multipart.api
A target for retrieving item drops from AbstractPart.addDrops(ItemDropTarget, LootContext).
addAllAttributes(AttributeList<?>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Offers every contained attribute to the given attribute list.
addContextlessListener(Object, Class<E>, Runnable) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Adds a listener for a specified MultipartEvent that also implements ContextlessEvent with a Runnable.
addDrops(AbstractPart.ItemDropTarget, LootContext) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
addDrops(DefaultedList<ItemStack>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
addExternalListener(Object, Class<E>, MultipartEventExternalListener<E>) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Adds a listener for a specified MultipartEvent (and all of it's subclasses), but also passes the MultipartContainer that the event was fired from ito the event handler.
ADDITIONAL_PARTS - Static variable in class alexiil.mc.lib.multipart.api.PartLootParams
Any additional AbstractPart's that were broken because they required the main broken part.
addListener(Object, Class<E>, EventListener<E>) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Adds a listener for a specified MultipartEvent (and all of it's subclasses).
addNewPart(MultipartContainer.MultipartCreator) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Shorter form of MultipartContainer.offerNewPart(MultipartCreator, boolean) followed by adding the offer if it was allowed.
addNewPart(MultipartContainer.MultipartCreator, boolean) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Shorter form of MultipartContainer.offerNewPart(MultipartCreator, boolean) followed by adding the offer if it was allowed.
addRequiredPart(AbstractPart) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
addRequiredPart(AbstractPart) - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
Makes this AbstractPart depend on another part.
addRunOnceListener(Object, Class<E>, Runnable) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Adds a listener for a specified MultipartEvent that also implements ContextlessEvent with a Runnable.
afterBreak(PlayerEntity) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called instead of Block.afterBreak(World, PlayerEntity, BlockPos, BlockState, BlockEntity, ItemStack), except that this shouldn't drop any items, as that's handled separately.
afterSubpartBreak(PlayerEntity, ItemStack, Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Multipart version of Block.afterBreak(World, PlayerEntity, BlockPos, BlockState, BlockEntity, ItemStack).
alexiil.mc.lib.multipart.api - package alexiil.mc.lib.multipart.api
LibMultiPart's API.
alexiil.mc.lib.multipart.api.event - package alexiil.mc.lib.multipart.api.event
 
alexiil.mc.lib.multipart.api.misc - package alexiil.mc.lib.multipart.api.misc
 
alexiil.mc.lib.multipart.api.property - package alexiil.mc.lib.multipart.api.property
 
alexiil.mc.lib.multipart.api.render - package alexiil.mc.lib.multipart.api.render
 
apply() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer.PartOffer
Adds the part to the holder, throwing an exception if anything about the container changed in the time between calling MultipartContainer.offerNewPart(MultipartCreator, boolean) and MultipartContainer.PartOffer.apply().
ATTRIBUTE - Static variable in interface alexiil.mc.lib.multipart.api.MultipartContainer
 

B

BROKEN_PART - Static variable in class alexiil.mc.lib.multipart.api.PartLootParams
The primary AbstractPart that was broken
BrokenSinglePart(AbstractPart) - Constructor for class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSinglePart
 
BrokenSubPart(SubdividedPart<Sub>, Sub) - Constructor for class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSubPart
 

C

calcBreakingDelta(PlayerEntity, BlockState, float) - Static method in class alexiil.mc.lib.multipart.api.AbstractPart
Calculates AbstractPart.calculateBreakingDelta(PlayerEntity) as if this part was the given block state instead, but using a custom hardness value.
calcSubpartBreakingDelta(Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Multipart version of AbstractBlock.calcBlockBreakingDelta(BlockState, PlayerEntity, BlockView, BlockPos)
calculateBreakingDelta(PlayerEntity) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Part version of AbstractBlock.calcBlockBreakingDelta(BlockState, PlayerEntity, BlockView, BlockPos).
calculateBreakingDelta(PlayerEntity, Block) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Calculates AbstractPart.calculateBreakingDelta(PlayerEntity) as if this part was the given block instead.
calculateBreakingDelta(PlayerEntity, BlockState) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Calculates AbstractPart.calculateBreakingDelta(PlayerEntity) as if this part was the given block state instead.
CAN_BE_WATERLOGGED - Static variable in class alexiil.mc.lib.multipart.api.property.MultipartProperties
The return value from AbstractBlock.emitsRedstonePower(BlockState)
CAN_EMIT_REDSTONE - Static variable in class alexiil.mc.lib.multipart.api.property.MultipartProperties
The return value from AbstractBlock.emitsRedstonePower(BlockState)
canOverlapWith(AbstractPart) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Checks to see if this AbstractPart can overlap with the other part.
canPlayerInteract(PlayerEntity) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
CHUNK_UNLOAD - Static variable in class alexiil.mc.lib.multipart.api.event.PartContainerState
Fired in IUnloadableBlockEntity.onChunkUnload()
clazz - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
clearSubpart(Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Called instead of World.removeBlock(BlockPos, boolean) in ServerPlayerInteractionManager.tryBreakBlock(net.minecraft.util.math.BlockPos).
clearValue(Object, MultipartProperty<T>) - Method in interface alexiil.mc.lib.multipart.api.property.MultipartPropertyContainer
 
clearValues(Object) - Method in interface alexiil.mc.lib.multipart.api.property.MultipartPropertyContainer
Removes all property values set for the given key.
combine(List<Boolean>) - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty.PreferedBooleanProperty
 
combine(List<Integer>) - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty.IntegerBoundProperty
 
combine(List<T>) - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
container - Variable in class alexiil.mc.lib.multipart.api.MultipartEventBus.ExternalListener
 
ContextlessEvent - Interface in alexiil.mc.lib.multipart.api.event
Marker interface for MultipartEvent's that don't come with any context: for example PartTickEvent is a singleton, so you never care about anything about the event.
ContextlessListener(Runnable) - Constructor for class alexiil.mc.lib.multipart.api.MultipartEventBus.ContextlessListener
 
create(MultipartHolder) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer.MultipartCreator
 

D

defaultValue - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
definition - Variable in class alexiil.mc.lib.multipart.api.AbstractPart
 
disallow() - Method in class alexiil.mc.lib.multipart.api.event.PartOfferedEvent
Disallows this part from being added to the container.
drop(ItemStack) - Method in interface alexiil.mc.lib.multipart.api.AbstractPart.ItemDropTarget
Drops the given itemstack, using a default position and velocity.
drop(ItemStack, Vec3d) - Method in interface alexiil.mc.lib.multipart.api.AbstractPart.ItemDropTarget
Drops the given ItemStack, using the given position and a random velocity.
drop(ItemStack, Vec3d, Vec3d) - Method in interface alexiil.mc.lib.multipart.api.AbstractPart.ItemDropTarget
If dropsAsEntity() is false then this ignores the position and velocity.
dropAll(Iterable<ItemStack>) - Method in interface alexiil.mc.lib.multipart.api.AbstractPart.ItemDropTarget
 
dropsAsEntity() - Method in interface alexiil.mc.lib.multipart.api.AbstractPart.ItemDropTarget
 

E

emitQuads(K, PartRenderContext) - Method in interface alexiil.mc.lib.multipart.api.render.PartModelBaker
 
enqueueFirstTickTask(Runnable) - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
If MultipartContainer.hasTicked() returns true then this will just call the runnable directly, and return.
entity - Variable in class alexiil.mc.lib.multipart.api.event.PartEventEntityCollide
 
equals(Object) - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
equals(Object) - Method in class alexiil.mc.lib.multipart.api.render.PartModelKey
 
EVENT - Static variable in interface alexiil.mc.lib.multipart.api.render.PartDynamicModelRegisterEvent
 
EVENT - Static variable in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent
 
eventClass - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerAdded
 
eventClass - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerRemoved
 
eventListener - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerAdded
 
eventListener - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerRemoved
 
EventListener<E> - Interface in alexiil.mc.lib.multipart.api.event
 
ExternalListener(MultipartContainer, MultipartEventExternalListener<E>) - Constructor for class alexiil.mc.lib.multipart.api.MultipartEventBus.ExternalListener
 

F

fallbackConsumer() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
fireEvent(MultipartEvent) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
fireEvent(MultipartEvent) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Fires the given event to all currently registered listeners.
FloatSupplier - Interface in alexiil.mc.lib.multipart.api.misc
Float version of DoubleSupplier.

G

get(BlockView, BlockPos) - Static method in class alexiil.mc.lib.multipart.api.MultipartUtil
Checks to see if the block at the given position currently contains a full MultipartContainer.
get(World, BlockPos) - Static method in class alexiil.mc.lib.multipart.api.MultipartUtil
Checks to see if the block at the given position currently contains a full MultipartContainer.
getAllListeners() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
getAllParts() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getAllParts(Predicate<AbstractPart>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getAsFloat() - Method in interface alexiil.mc.lib.multipart.api.misc.FloatSupplier
 
getBlockSprite(String) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
getBlockSprite(Identifier) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
getBreakContext() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
getClosestBlockState() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getCollisionShape() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getCollisionShape() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getContainer() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
getContainer() - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
 
getContainer() - Method in interface alexiil.mc.lib.multipart.api.property.MultipartPropertyContainer
 
getCullingShape() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getCurrentShape() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getDimension() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getDynamicShape(float) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getEmitter() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
getEventBus() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getFirstPart(Class<P>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getFirstPart(Class<P>, Predicate<P>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getFirstPart(Predicate<AbstractPart>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getHolder() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer.PartOffer
 
getKey() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus.ListenerInfo
 
getListener() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus.ListenerInfo
 
getListenerClass() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus.ListenerInfo
 
getListeners(Class<E>) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
getListenersForKey(Object) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
getMissingBlockSprite() - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
getModelKey() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called on the client for both rendering, and checking if this needs to re-render in MultipartContainer.redrawIfChanged().
getMultipartBlockEntity() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getMultipartConversion(World, BlockPos, BlockState) - Method in interface alexiil.mc.lib.multipart.api.NativeMultipart
 
getMultipartPos() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getMultipartWorld() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getNeighbourBlockEntity(Direction) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getOutlineShape() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getOutlineShape() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getPart() - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
 
getPart() - Method in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenPart
 
getPart() - Method in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSinglePart
 
getPart() - Method in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSubPart
 
getPart() - Method in interface alexiil.mc.lib.multipart.api.render.PartBreakContext
 
getPart(long) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getParts(Class<P>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getParts(Class<P>, Predicate<P>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getPickStack() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called whenever this part is picked by the player (similar to Block.getPickStack(BlockView, BlockPos, BlockState))
getProperties() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
getRealRenderContext() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
getShape() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
getSprite(SpriteIdentifier) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
getSprite(Identifier, Identifier) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
getStrongRedstonePower(Direction) - Static method in class alexiil.mc.lib.multipart.api.property.MultipartProperties
 
getSubPart() - Method in interface alexiil.mc.lib.multipart.api.render.PartBreakContext
 
getSubPart(SubdividedPart<Sub>) - Method in interface alexiil.mc.lib.multipart.api.render.PartBreakContext
 
getSubpartDynamicShape(Vec3d, Sub, float) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
getSubpartKeyClass() - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
 
getTargetedSubpart(Vec3d) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
 
getUniqueId() - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
 
getValue(MultipartProperty<T>) - Method in interface alexiil.mc.lib.multipart.api.property.MultipartPropertyContainer
 
getWeakRedstonePower(Direction) - Static method in class alexiil.mc.lib.multipart.api.property.MultipartProperties
 

H

hasAnyListeners() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
hasAnyListenersFor(Class<? extends MultipartEvent>) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
hasAnyListenersForKey(Object) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
 
hashCode() - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
hashCode() - Method in class alexiil.mc.lib.multipart.api.render.PartModelKey
 
hasTicked() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
holder - Variable in class alexiil.mc.lib.multipart.api.AbstractPart
 

I

ID_NET_CACHE - Static variable in class alexiil.mc.lib.multipart.api.PartDefinition
 
identifier - Variable in class alexiil.mc.lib.multipart.api.PartDefinition
 
INSTANCE - Static variable in class alexiil.mc.lib.multipart.api.event.PartTickEvent
 
IntegerBoundProperty(String, int, int, int) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperty.IntegerBoundProperty
 
INVALIDATE - Static variable in class alexiil.mc.lib.multipart.api.event.PartContainerState
Fired in BlockEntity.markRemoved()
isAllowed() - Method in class alexiil.mc.lib.multipart.api.event.PartOfferedEvent
 
isBlocking(Direction) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
isClientWorld() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
isPresent() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus.ListenerInfo
 
isPresent() - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
 

K

key - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerAdded
 
key - Variable in class alexiil.mc.lib.multipart.api.event.PartListenerRemoved
 

L

LIGHT_VALUE - Static variable in class alexiil.mc.lib.multipart.api.property.MultipartProperties
The amount of light that a multiblock is emitting.
listener - Variable in class alexiil.mc.lib.multipart.api.MultipartEventBus.ContextlessListener
 
listener - Variable in class alexiil.mc.lib.multipart.api.MultipartEventBus.ExternalListener
 
loadFromBuffer(MultipartHolder, NetByteBuf, IMsgReadCtx) - Method in class alexiil.mc.lib.multipart.api.PartDefinition
 
loadFromBuffer(PartDefinition, MultipartHolder, NetByteBuf, IMsgReadCtx) - Method in interface alexiil.mc.lib.multipart.api.PartDefinition.IPartNetLoader
 

M

mainPart - Variable in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSubPart
 
max - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperty.IntegerBoundProperty
 
meshConsumer() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
min - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperty.IntegerBoundProperty
 
mirror(BlockMirror) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called whenever BlockEntity.applyMirror(BlockMirror) is called on the containing block.
MultipartContainer - Interface in alexiil.mc.lib.multipart.api
 
MultipartContainer.MultipartCreator - Interface in alexiil.mc.lib.multipart.api
 
MultipartContainer.PartOffer - Interface in alexiil.mc.lib.multipart.api
 
MultipartEvent - Class in alexiil.mc.lib.multipart.api.event
The base class for all events that take place in a MultipartContainer.
MultipartEvent() - Constructor for class alexiil.mc.lib.multipart.api.event.MultipartEvent
 
MultipartEventBus - Interface in alexiil.mc.lib.multipart.api
The event bus for MultipartContainer's.
MultipartEventBus.ContextlessListener<E extends MultipartEvent & ContextlessEvent> - Class in alexiil.mc.lib.multipart.api
An EventListener for a ContextlessEvent that is invoked with a Runnable.
MultipartEventBus.ExternalListener<E extends MultipartEvent> - Class in alexiil.mc.lib.multipart.api
 
MultipartEventBus.ListenerInfo<E extends MultipartEvent> - Interface in alexiil.mc.lib.multipart.api
Information on a single registered listener.
MultipartEventExternalListener<E extends MultipartEvent> - Interface in alexiil.mc.lib.multipart.api.event
 
MultipartHolder - Interface in alexiil.mc.lib.multipart.api
Wrapper interface for an AbstractPart in a MultipartContainer.
MultipartProperties - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperties.RedstonePowerProperty - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperties.StrongRedstonePowerProperty - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperties.WeakRedstonePowerProperty - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperty<T> - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperty(String, Class<T>, T) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
MultipartProperty.IntegerBoundProperty - Class in alexiil.mc.lib.multipart.api.property
 
MultipartProperty.PreferedBooleanProperty - Class in alexiil.mc.lib.multipart.api.property
A property where the value will combine up to whatever is opposite to the MultipartProperty.defaultValue
MultipartPropertyContainer - Interface in alexiil.mc.lib.multipart.api.property
 
MultipartRenderRegistry - Class in alexiil.mc.lib.multipart.api.render
MultipartUtil - Class in alexiil.mc.lib.multipart.api
Contains various utilities for creating, accessing, or interacting with MultipartContainer's in a World.

N

name - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
NativeMultipart - Interface in alexiil.mc.lib.multipart.api
A Block that can be converted (in-place) to an AbstractPart.
NeighbourUpdateEvent - Class in alexiil.mc.lib.multipart.api.event
Fired when a neighbouring block was updated.
NeighbourUpdateEvent(BlockPos) - Constructor for class alexiil.mc.lib.multipart.api.event.NeighbourUpdateEvent
 
NET_ID - Static variable in class alexiil.mc.lib.multipart.api.AbstractPart
 
NET_RENDER_DATA - Static variable in class alexiil.mc.lib.multipart.api.AbstractPart
 
NET_SPAWN_BREAK_PARTICLES - Static variable in class alexiil.mc.lib.multipart.api.AbstractPart
 
newValue - Variable in class alexiil.mc.lib.multipart.api.property.PartPropertyChangedEvent
 
NOT_ADDED_UNIQUE_ID - Static variable in interface alexiil.mc.lib.multipart.api.MultipartHolder
 

O

offerNewPart(MultipartContainer.MultipartCreator) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Offers a new part to this container, respecting nearby entities' bounding boxes.
offerNewPart(MultipartContainer.MultipartCreator, boolean) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Offers a new part to this container.
offerNewPart(World, BlockPos, MultipartContainer.MultipartCreator) - Static method in class alexiil.mc.lib.multipart.api.MultipartUtil
Offers the given AbstractPart into the block at the given position, respecting nearby entities' bounding boxes.
offerNewPart(World, BlockPos, MultipartContainer.MultipartCreator, boolean) - Static method in class alexiil.mc.lib.multipart.api.MultipartUtil
Offers the given AbstractPart into the block at the given position.
oldValue - Variable in class alexiil.mc.lib.multipart.api.property.PartPropertyChangedEvent
 
onAdded(MultipartEventBus) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called whenever this part was added to the MultipartContainer, either in BlockEntity.cancelRemoval() or when it is manually added by an item.
onBreak(PlayerEntity) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called instead of Block.onBreak(World, BlockPos, BlockState, PlayerEntity), to play the broken sound, and spawn break particles.
onEvent(MultipartContainer, E) - Method in interface alexiil.mc.lib.multipart.api.event.MultipartEventExternalListener
 
onEvent(E) - Method in interface alexiil.mc.lib.multipart.api.event.EventListener
 
onEvent(E) - Method in class alexiil.mc.lib.multipart.api.MultipartEventBus.ContextlessListener
 
onEvent(E) - Method in class alexiil.mc.lib.multipart.api.MultipartEventBus.ExternalListener
 
onPlacedBy(PlayerEntity, Hand) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Open method, that's designed to be called from the Item that places this part into the world.
onRemoved() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
onSubpartBreak(PlayerEntity, Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Multipart version of Block.onBreak(World, BlockPos, BlockState, PlayerEntity).
onSubpartBreakStart(PlayerEntity, Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Multipart version of AbstractBlock.onBlockBreakStart(BlockState, World, BlockPos, PlayerEntity)
onSubpartBroken(Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
Multipart version of Block.onBroken(WorldAccess, BlockPos, BlockState)
onUse(PlayerEntity, Hand, BlockHitResult) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called whenever this part is used via AbstractBlock.onUse(BlockState, World, BlockPos, PlayerEntity, Hand, BlockHitResult).

P

part - Variable in class alexiil.mc.lib.multipart.api.event.PartAddedEvent
 
part - Variable in class alexiil.mc.lib.multipart.api.event.PartOfferedEvent
 
part - Variable in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSinglePart
 
PART_TYPE - Static variable in class alexiil.mc.lib.multipart.api.PartLootParams
 
PartAddedEvent - Class in alexiil.mc.lib.multipart.api.event
Fired whenever an AbstractPart is added to a MultipartContainer.
PartAddedEvent(AbstractPart) - Constructor for class alexiil.mc.lib.multipart.api.event.PartAddedEvent
 
PartBreakContext - Interface in alexiil.mc.lib.multipart.api.render
 
PartContainerState - Class in alexiil.mc.lib.multipart.api.event
Fired when the state of a container's block entity changes.
PartContainerState.ChunkUnload - Class in alexiil.mc.lib.multipart.api.event
 
PartContainerState.Invalidate - Class in alexiil.mc.lib.multipart.api.event
Fired in BlockEntity.markRemoved()
PartContainerState.Remove - Class in alexiil.mc.lib.multipart.api.event
Fired in AbstractBlock.onStateReplaced(BlockState, World, BlockPos, BlockState, boolean)
PartContainerState.Validate - Class in alexiil.mc.lib.multipart.api.event
Fired in BlockEntity.cancelRemoval()
PartDefinition - Class in alexiil.mc.lib.multipart.api
Contains the definition for an AbstractPart.
PartDefinition(Identifier) - Constructor for class alexiil.mc.lib.multipart.api.PartDefinition
PartDefinition(Identifier, PartDefinition.IPartNbtReader, PartDefinition.IPartNetLoader) - Constructor for class alexiil.mc.lib.multipart.api.PartDefinition
 
PartDefinition.IPartNbtReader - Interface in alexiil.mc.lib.multipart.api
 
PartDefinition.IPartNetLoader - Interface in alexiil.mc.lib.multipart.api
 
PartDynamicModelRegisterEvent - Interface in alexiil.mc.lib.multipart.api.render
 
PartDynamicModelRegisterEvent.DynamicModelRenderer - Interface in alexiil.mc.lib.multipart.api.render
 
PartEventEntityCollide - Class in alexiil.mc.lib.multipart.api.event
Fired in AbstractBlock.onEntityCollision(BlockState, World, BlockPos, Entity).
PartEventEntityCollide(Entity) - Constructor for class alexiil.mc.lib.multipart.api.event.PartEventEntityCollide
 
PartListenerAdded<E extends MultipartEvent> - Class in alexiil.mc.lib.multipart.api.event
PartListenerAdded(Object, Class<E>, EventListener<E>) - Constructor for class alexiil.mc.lib.multipart.api.event.PartListenerAdded
 
PartListenerRemoved<E extends MultipartEvent> - Class in alexiil.mc.lib.multipart.api.event
PartListenerRemoved(Object, Class<E>, EventListener<E>) - Constructor for class alexiil.mc.lib.multipart.api.event.PartListenerRemoved
 
PartLootParams - Class in alexiil.mc.lib.multipart.api
Stores some LootContextParameters for LMP.
PartLootParams.BrokenPart - Class in alexiil.mc.lib.multipart.api
An AbstractPart that was broken.
PartLootParams.BrokenSinglePart - Class in alexiil.mc.lib.multipart.api
 
PartLootParams.BrokenSubPart<Sub> - Class in alexiil.mc.lib.multipart.api
 
PartModelBaker<K extends PartModelKey> - Interface in alexiil.mc.lib.multipart.api.render
 
PartModelKey - Class in alexiil.mc.lib.multipart.api.render
Used by the static part baker to generate the quad list.
PartModelKey() - Constructor for class alexiil.mc.lib.multipart.api.render.PartModelKey
 
PartOfferedEvent - Class in alexiil.mc.lib.multipart.api.event
Fired whenever an AbstractPart is offered or added to a MultipartContainer.
PartOfferedEvent(AbstractPart) - Constructor for class alexiil.mc.lib.multipart.api.event.PartOfferedEvent
 
PartPropertyChangedEvent<T> - Class in alexiil.mc.lib.multipart.api.property
 
PartPropertyChangedEvent(MultipartProperty<T>, T, T) - Constructor for class alexiil.mc.lib.multipart.api.property.PartPropertyChangedEvent
 
PartRemovedEvent - Class in alexiil.mc.lib.multipart.api.event
Fired after a part is removed from a container.
PartRemovedEvent(AbstractPart) - Constructor for class alexiil.mc.lib.multipart.api.event.PartRemovedEvent
 
PartRenderContext - Interface in alexiil.mc.lib.multipart.api.render
 
PartRenderer<P extends AbstractPart> - Interface in alexiil.mc.lib.multipart.api.render
 
PARTS - Static variable in class alexiil.mc.lib.multipart.api.PartDefinition
 
PartStaticModelRegisterEvent - Interface in alexiil.mc.lib.multipart.api.render
 
PartStaticModelRegisterEvent.StaticModelRenderer - Interface in alexiil.mc.lib.multipart.api.render
 
PartTickEvent - Class in alexiil.mc.lib.multipart.api.event
Fired once per block entity tick.
playBreakSound() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called by default in AbstractPart.onBreak(PlayerEntity) to play the breaking sound.
playBreakSound(BlockState) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
playHitSound(BlockState) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
playHitSound(PlayerEntity) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called instead of Block.onBreak(World, BlockPos, BlockState, PlayerEntity), to play the broken sound, and spawn break particles.
playHitSound(PlayerEntity, Sub) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
 
popTransform() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
pos - Variable in class alexiil.mc.lib.multipart.api.event.NeighbourUpdateEvent
 
pos(World, Direction, Direction.Axis, double) - Static method in class alexiil.mc.lib.multipart.api.AbstractPart
 
PreferedBooleanProperty(String, Boolean) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperty.PreferedBooleanProperty
 
property - Variable in class alexiil.mc.lib.multipart.api.property.PartPropertyChangedEvent
 
pushTransform(RenderContext.QuadTransform) - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 

R

readFromNbt(MultipartHolder, CompoundTag) - Method in class alexiil.mc.lib.multipart.api.PartDefinition
 
readFromNbt(PartDefinition, MultipartHolder, CompoundTag) - Method in interface alexiil.mc.lib.multipart.api.PartDefinition.IPartNbtReader
Reads the pipe pluggable from NBT.
readRenderData(NetByteBuf, IMsgReadCtx) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
recalculateShape() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
redrawIfChanged() - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Redraws this multipart, if any of it's parts return different AbstractPart.getModelKey().
RedstonePowerProperty(String, Direction) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperties.RedstonePowerProperty
 
register() - Method in class alexiil.mc.lib.multipart.api.PartDefinition
 
register(Class<K>, PartModelBaker<K>) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent.StaticModelRenderer
 
register(Class<P>, PartRenderer<P>) - Method in interface alexiil.mc.lib.multipart.api.render.PartDynamicModelRegisterEvent.DynamicModelRenderer
Registers a renderer that will render the given class, and all of it's subclasses (unless a different renderer is registered for one of the subclasses).
register(Identifier...) - Method in class alexiil.mc.lib.multipart.api.PartDefinition
 
registerModels(PartDynamicModelRegisterEvent.DynamicModelRenderer) - Method in interface alexiil.mc.lib.multipart.api.render.PartDynamicModelRegisterEvent
 
registerModels(PartStaticModelRegisterEvent.StaticModelRenderer) - Method in interface alexiil.mc.lib.multipart.api.render.PartStaticModelRegisterEvent
 
remove() - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus.ListenerInfo
Removes this listener.
remove() - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
Removes this MultipartHolder.getPart() from the container.
REMOVE - Static variable in class alexiil.mc.lib.multipart.api.event.PartContainerState
Fired in AbstractBlock.onStateReplaced(BlockState, World, BlockPos, BlockState, boolean)
removed - Variable in class alexiil.mc.lib.multipart.api.event.PartRemovedEvent
 
removeListeners(Object) - Method in interface alexiil.mc.lib.multipart.api.MultipartEventBus
Removes all listeners that were added for the given key.
removePart(AbstractPart) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
removeRequiredPart(AbstractPart) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
removeRequiredPart(AbstractPart) - Method in interface alexiil.mc.lib.multipart.api.MultipartHolder
Removes the requirement this has for the given part.
render(P, float, MatrixStack, VertexConsumerProvider, int, int) - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderer
 
rotate(BlockRotation) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called whenever BlockEntity.applyRotation(BlockRotation) is called on the containing block.

S

sendNetworkUpdate(T, NetIdDataK<T>, NetIdDataK.IMsgDataWriterK<T>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Sends the given NetIdDataK to every player currently watching this multipart, with a custom NetIdDataK.IMsgDataWriterK.
sendNetworkUpdate(T, NetIdDataK<T>, NetIdDataK.IMsgDataWriterK<T>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Sends the given NetIdDataK to every player currently watching this MultipartContainer.getMultipartBlockEntity(), with a custom NetIdDataK.IMsgDataWriterK.
sendNetworkUpdate(T, NetIdTyped<T>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Sends the given NetIdDataK or NetIdSignalK to every player currently watching this multipart.
sendNetworkUpdate(T, NetIdTyped<T>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Sends the given NetIdDataK or NetIdSignalK to every player currently watching this MultipartContainer.getMultipartBlockEntity().
sendNetworkUpdateExcept(PlayerEntity, T, NetIdDataK<T>, NetIdDataK.IMsgDataWriterK<T>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Sends the given NetIdDataK to every player currently watching this multipart, with a custom NetIdDataK.IMsgDataWriterK, except for the given player.
sendNetworkUpdateExcept(PlayerEntity, T, NetIdDataK<T>, NetIdDataK.IMsgDataWriterK<T>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Sends the given NetIdDataK to every player currently watching this MultipartContainer.getMultipartBlockEntity(), with a custom NetIdDataK.IMsgDataWriterK, except for the given player.
sendNetworkUpdateExcept(PlayerEntity, T, NetIdTyped<T>) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Sends the given NetIdDataK or NetIdSignalK to every player currently watching this multipart, except for the given player.
sendNetworkUpdateExcept(PlayerEntity, T, NetIdTyped<T>) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
Sends the given NetIdDataK or NetIdSignalK to every player currently watching this MultipartContainer.getMultipartBlockEntity(), except for the given player.
setValue(Object, MultipartProperty<T>, T) - Method in interface alexiil.mc.lib.multipart.api.property.MultipartPropertyContainer
 
shouldQuadsBeLit() - Method in interface alexiil.mc.lib.multipart.api.render.PartRenderContext
 
side - Variable in class alexiil.mc.lib.multipart.api.property.MultipartProperties.RedstonePowerProperty
 
spawnBreakingParticles(Direction) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Deprecated.
spawnBreakingParticles(Vec3d, Sub, Direction) - Method in interface alexiil.mc.lib.multipart.api.SubdividedPart
 
spawnBreakParticles() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Called on the client to spawn break particles.
spawnBreakParticles(BlockState) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnBreakParticles(BlockState, Sprite) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnBreakParticles(BlockState, Identifier) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnHitParticle(Direction) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Spawns a single partial-break (hit) particle.
spawnHitParticle(Direction, BlockState) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnHitParticle(Direction, BlockState, Sprite) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnHitParticle(Direction, BlockState, Identifier) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
spawnHitParticle(Direction, Box, BlockState, Sprite) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
StrongRedstonePowerProperty(Direction) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperties.StrongRedstonePowerProperty
 
SubdividedPart<Sub> - Interface in alexiil.mc.lib.multipart.api
Optional interface for AbstractPart implementations which can have sub-parts targeted and broken instead of the whole thing.
subPart - Variable in class alexiil.mc.lib.multipart.api.PartLootParams.BrokenSubPart
 

T

testNewPart(MultipartContainer.MultipartCreator) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
testNewPart(MultipartContainer.MultipartCreator, boolean) - Method in interface alexiil.mc.lib.multipart.api.MultipartContainer
 
toString() - Method in class alexiil.mc.lib.multipart.api.MultipartEventBus.ContextlessListener
 
toString() - Method in class alexiil.mc.lib.multipart.api.MultipartEventBus.ExternalListener
 
toString() - Method in class alexiil.mc.lib.multipart.api.property.MultipartProperty
 
toTag() - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
turnIntoMultipart(World, BlockPos) - Static method in class alexiil.mc.lib.multipart.api.MultipartUtil
Turns an existing NativeMultipart block into a BlockEntity based MultipartContainer.

V

VALIDATE - Static variable in class alexiil.mc.lib.multipart.api.event.PartContainerState
Fired in BlockEntity.cancelRemoval()

W

WeakRedstonePowerProperty(Direction) - Constructor for class alexiil.mc.lib.multipart.api.property.MultipartProperties.WeakRedstonePowerProperty
 
writeCreationData(NetByteBuf, IMsgWriteCtx) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
Writes the payload that will be passed into PartDefinition.loadFromBuffer(MultipartHolder, NetByteBuf, IMsgReadCtx) on the client.
writeRenderData(NetByteBuf, IMsgWriteCtx) - Method in class alexiil.mc.lib.multipart.api.AbstractPart
 
A B C D E F G H I K L M N O P R S T V W 
All Classes|All Packages