This documentation covers advanced techniques for using Minecraft's Text Display and Block Display entities in Spigot plugins. It includes vanilla mechanics, utility APIs for colors, math, shaders, and rendering, plus features like bitmap rendering, interactive tools, particle systems, cloaks, procedural animations with IK, orbital lasers, and 3D holograms/meshes (including marching cubes). Examples range from basic to complex (e.g., IK solvers, isosurface rendering, OBJ loading). Designed for human developers and AI agents building immersive displays, animations, and effects.
Key sections:
- Vanilla Basics: Core entity behaviors and NBT properties.
- API Utilities: Color manipulation (HSV/OKLab), vector math, rendering helpers, shaders/meshes.
- Features: Implementation guides for systems like 3D pipelines, IK animations, lasers, and volume rendering.
- Examples: Java code snippets, basic to advanced (e.g., procedural spiders, textured globes).
For Spigot plugin developers familiar with Bukkit/Spigot APIs, focus on API and Features. Beginners: Start with Vanilla. AI agents: Structured Markdown for extraction (e.g., search "marching cubes" for isosurface code).
Text Display entities (1.19.4+) enable holographic UI, pixel art, 3D projections, and more. Block Displays add block rendering. This guide details reusable systems: software rasterizers for 3D to bitmaps, IK for animations, ray-based effects, and volume isosurfaces.
Assumes Spigot 1.20+, Java 8+. Examples use Bukkit/Spigot with jOML (add dependency: <groupId>org.joml</groupId><artifactId>joml</artifactId><version>1.10.5</version>).
- Vanilla: Native mechanics.
- API: Reusable utils (colors, math, shaders, rendering).
- Features: Core systems (bitmaps, particles, cloaks, IK, lasers, holograms).
- Examples: Self-contained code (basic text to full 3D globe).
- Add Spigot/jOML deps to pom.xml.
- Spawn TextDisplay:
TextDisplay entity = (TextDisplay) world.spawnEntity(loc, EntityType.TEXT_DISPLAY); - Set text/transform (see API).
- For complex: Use rendering pipeline for 3D meshes.
Structured with code blocks, tables (NBT), steps. Extract via keywords like "IK solver" or "barycentric rasterization". Examples adaptable to Kotlin.