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 true
 
 
 
 
 
 
 
 
Indexes 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>