[Forge] 1.20.1 | V2001.4.0.0 RELEASE
Curse Maven Snippet
What's new
v2001.4.0.0 Release | Oct 22, 2026
✨ New Features
- World effects (
api.client.vfx), as on 26.1.2: glowing shapes drawn in the world, after the whole level and before the hand, lit by nothing. They hide behind solid things and fade softly where they meet them (VfxMaterial.softness), so nothing ends in a hard line at a wall or the ground.- Materials (
VfxMaterial): a texture, a blend (VfxBlend.ADDITIVEfor light,ALPHAfor smoke,LUMINOUSfor black-background glow textures against bright skies), a softness, and smooth or pixel-for-pixel sampling (withSmoothing(false)keeps block and item textures crisp). Everything of one material in a frame is one draw call. - Effect particles (
ParticleSpec,WorldParticles): size, opacity and spin follow three-point eased curves (Curve, now withCurve.FADE) over each particle's life, colour shifts around the colour wheel, lifetimes are randomised, with gravity, drag and velocity-stretched sparks (Shape.SPARK).WorldParticles.spawn,burstandline. They are not vanilla particles: nothing to register, nothing on the server. - Shapes every frame (
WorldVfx.registerwith aVfxRenderer, drawing throughVfxFrameandVfxDraw): camera-facing billboards, beams, flat ground quads, free quads, and ribbons that follow aTrail. One-liners that draw themselves and fade:WorldVfx.beam,flashandgroundFlash. - Built-in textures:
VfxMaterial.GLOW,SPARKLE,STAR,RING,SMOKEandSTREAK. - Shader materials:
VfxMaterial.withShader(id)draws a material with a fragment shader of the mod's own (assets/<namespace>/shaders/<path>.fsh, GLSL 150 on this version), which importscoolcatcanvas:vfx.glslfor the camera, the time and the depth-fade helpers. - Rifts (
WorldRifts,RiftSpec,Rift): a tear in the air drawn by a built-in shader (VfxMaterial.RIFT_SHADER) that opens with a flash, a sound and a shake, hums while open, and snaps shut;rift.facing(direction)holds it facing one way, as a portal in a wall. - From the server (
api.vfx):VfxControl.play(level, id, VfxParams)plays an effect a client registered withVfxEffects.register, andRiftControl.open(level, spec id, position[, ticks])andclose(level, id)open and close rifts, each as one small packet to the players in range.
- Materials (
- Event phases reach other mods' own listeners:
EventPhase.band()sorts phases intoFIRST(FIRST and earlier),MIDDLEandLAST(LAST and later), and events whose loader hook fires each band at its own place runFIRSTlisteners before other mods' Forge or Fabric listeners of the game event andLASTones after them.EventInvoker.invoker(Band)andhasListeners(Band)let a hook fire one band;invoker()still fires them all, in order. ItemTooltipEvents.MODIFYdoes this on every loader (Forge's highest, normal and lowest priorities; Fabric phases before, at and after the default one).ItemTooltipEvents.APPEND: lines added at the very end of an item's tooltip, after the loaders' tooltip events and every other mod's lines, with the player when there is one.InteractionEvents(api.event.v2.common):USE_BLOCK,USE_ITEMandUSE_ENTITY(answer with anInteractionResult:PASSlets the game go on, anything else stops it there) andATTACK_BLOCKandATTACK_ENTITY(interrupt to stop them), on both sides, before the game acts, the same on Fabric and Forge.HeldItemSwaps(api.client.item): which changes to a held stack are quiet, so the item stays where it is in the hand instead of being put away and taken out again:quiet(...)for keys of the stack's NBT,register(...)for any test of the old and new stacks. Attachments' changes are quiet unless the attachment was built withswapAnimation().GhostBlocks(api.client.vfx): blocks drawn as ghosts with their real models (block entities too), one see-through picture so only their outside shows, tinted and faded by one colour; shown through walls, in the world as real blocks would be, or always; full bright or shaded. Call it right after the level is drawn.- Scene viewports (
api.client.viewport.SceneViewport,api.client.gui.components.SceneViewportWidget): a 3D view of blocks, block entities, entities and items, drawn into a texture of its own (by the game's own renderers, lit as the world is) for a GUI or any textured face; turned, zoomed and framed in code or by dragging, with a ground of grid lines and shadows, and text laid flat on the picture. ItemRendererRegistry(api.client.registry): items drawn in code, the same on every loader: an item whose model isbuiltin/entityis drawn by its renderer wherever it shows.ItemColorRegistry(api.client.registry): colours for items' tinted faces, the same on every loader.ExtraModels(api.client.registry): models baked with the game's though no item or block uses them, for drawing in code; named outright or found in the resources as they load.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

