All Classes and Interfaces
Class
Description
A general interface providing information about any type of thing that could use Flywheel's instanced rendering.
Static access to tick-count and partialTick time, accounting for pausing.
Track width and height of all created texture atlases.
BlockEntityInstance<T extends net.minecraft.world.level.block.entity.BlockEntity>
The layer between a
BlockEntity and the Flywheel backend.BlockEntityInstancingController<T extends net.minecraft.world.level.block.entity.BlockEntity>
An instancing controller that will be keyed to a block entity type.
BlockEntityTypeExtension<T extends net.minecraft.world.level.block.entity.BlockEntity>
BlockEntityTypeMixin<T extends net.minecraft.world.level.block.entity.BlockEntity>
A model of a single block.
An interface for objects that can "rendered" into a BufferBuilder.
Duck interface used on
BufferBuilder to provide lower level access to the backing memory.Classic Vertex Format struct with a clever name.
A position in a file.
ChestInstance<T extends net.minecraft.world.level.block.entity.BlockEntity & net.minecraft.world.level.block.entity.LidBlockEntity>
Responsible for rendering the block breaking overlay for instanced block entities.
An unsafe vertex consumer allowing for unchecked writes into a ByteBuffer.
Interface for rate-limiting updates based on an object's distance from the camera.
A byte buffer that can be used to draw vertices through a
DirectVertexConsumer.An interface giving
BlockEntityInstances a hook to have a function called at
the start of a frame.EntityInstance<E extends net.minecraft.world.entity.Entity>
The layer between a
BlockEntity and the Flywheel backend.EntityInstancingController<T extends net.minecraft.world.entity.Entity>
An instancing controller that will be keyed to an entity type.
EntityTypeExtension<T extends net.minecraft.world.entity.Entity>
EntityTypeMixin<T extends net.minecraft.world.entity.Entity>
Represents a (syntactically) malformed segment of code.
A reference to a source file that might not be loaded when the owning object is created.
An interface that implementors of
InstanceData should also implement
if they wish to make use of Flywheel's provided light update methods.A marker interface custom worlds can override to indicate
that block entities and entities inside the world should
render with Flywheel.
Represents the conditions under which a shader is compiled.
An object that provides a view of the current game state for shader compilation.
Gives a hint to the driver about how you intend to use a buffer.
An instance of this class stores information about what OpenGL features are available.
A factory interface to create a
GlProgram.Tracks bound buffers/vbos because GlStateManager doesn't do that for us.
This interface should be implemented by enums such that the
last defined variant always returns
trueIndexes many shader source definitions to allow for error fix suggestions.
An indexed triangle model.
A collection of Instancers that all have the same format.
A group of materials all rendered with the same GL state.
A utility class for registering and retrieving
InstancingControllers.InstancedRenderRegistry.BlockEntityConfig<T extends net.minecraft.world.level.block.entity.BlockEntity>
An object to configure the instancing controller for a block entity.
InstancedRenderRegistry.EntityConfig<T extends net.minecraft.world.entity.Entity>
An object to configure the instancing controller for an entity.
An instancer is how you interact with an instanced model.
A manager class for a single world where instancing is supported.
A class tracking which object last had
Camera.setup(net.minecraft.world.level.BlockGetter, net.minecraft.world.entity.Entity, boolean, boolean, float) called on it.Implementors of this interface may choose to subscribe to light updates by calling
LightUpdater.addListener(LightListener).Utility class for bit-twiddling light.
Marker interface for custom/fake levels to indicate that LightUpdater should bother interacting with it.
Keeps track of what chunks/sections each listener is in, so we can update exactly what needs to be updated.
The main entity for loading shaders.
Interface for generically dealing with mapped buffers.
MinecartInstance<T extends net.minecraft.world.entity.vehicle.AbstractMinecart>
A model that can be rendered by flywheel.
For compatibility with and without another mod present, we have to define load conditions of the specific code
A helper class for loading and accessing json models.
A caching compiler.
Represents the entire context of a program's usage.
An object describing a shader program that can be loaded by flywheel.
A class to manage EBOs that index quads as triangles.
For use in
ChunkRebuildHooksMixin.addAndFilterBEs(ChunkRenderDispatcher.RenderChunk, Collection)The 3 discrete stages the world is rendered in.
Duck interface to make RenderType store a DrawBuffer.
Manages deferred file resolution.
A class for manipulating a list of
#define directives.The main object for loading and parsing source files.
SimpleBlockEntityInstancingController<T extends net.minecraft.world.level.block.entity.BlockEntity>
SimpleEntityInstancingController<T extends net.minecraft.world.entity.Entity>
Immutable class representing a shader file.
A minimal source file lookup function.
A segment of code in a
SourceFile.A StructType contains metadata for a specific instance struct that Flywheel can interface with.
StructWriters can quickly consume many instances of S and write them to some backing buffer.
A class that generates glsl glue code given a SourceFile.
Helper class to keep track of what texture atlases are bound to what texture units.
An interface giving
BlockEntityInstances a hook to have a function called at
the end of every tick.This class copied/adapted from jellysquid's
An unsafe
BufferWriter implementation which uses direct memory operations to enable fast blitting of
data into memory buffers.TODO:
BlockEntityType.SIGN SignRenderer
BlockEntityType.PISTON PistonHeadRenderer
BlockEntityType.CONDUIT ConduitRenderer
BlockEntityType.ENCHANTING_TABLE EnchantTableRenderer
BlockEntityType.LECTERN LecternRenderer
BlockEntityType.MOB_SPAWNER SpawnerRenderer
BlockEntityType.BED BedRenderer
^^ Interesting - Major vv
BlockEntityType.END_PORTAL TheEndPortalRenderer
BlockEntityType.END_GATEWAY TheEndGatewayRenderer
BlockEntityType.BEACON BeaconRenderer
BlockEntityType.SKULL SkullBlockRenderer
BlockEntityType.BANNER BannerRenderer
BlockEntityType.STRUCTURE_BLOCK StructureRenderer
BlockEntityType.CAMPFIRE CampfireRenderer
A read only view of a vertex buffer.
A vertex type containing metadata about a specific vertex layout.
VirtualLevelEntityGetter<T extends net.minecraft.world.level.entity.EntityAccess>