Lanterns Belong on Walls
Now you can place lanterns on walls! Simply install a supported lantern on the side surface of a block, and it will automatically attach to it.
Compatibility
For working with lanterns from other mods, it's required that the developers of those mods add appropriate support.
Note: If you're using a resource pack that changes lantern block files, the visual connection to the wall may not display.
For Mod Developers
NeoForge
-
Add Gradle dependency:
repositories { //... maven { name = "Modrinth" url = "https://api.modrinth.com/maven" } } dependencies { //... modImplementation "maven.modrinth:lanterns-bow:${lanterns_bow_version}" }Check the versions page for current versions.
-
In your mod constructor, add an event handler:
public ExampleModContstructor(IEventBus modBus) { modBus.addListener((WallLanternsEvent event) -> { event.addLantern(new WallLantern( WallLantern.Type.StandardCutout, ResourceLocation.parse("example:example_lantern")) ); event.addLantern(new WallLantern( WallLantern.Type.Standard, ResourceLocation.parse("example:example_lantern_two")) ); }); }
Fabric
-
Add Gradle dependency:
repositories { //... maven { name = "Modrinth" url = "https://api.modrinth.com/maven" } } dependencies { //... modImplementation "maven.modrinth:lanterns-bow:${lanterns_bow_version}" }Check the versions page for current versions.
-
Create an entrypoint class:
public class ExampleLanternModWall implements WallLanternsEntrypoint { @Override public void registerLanterns(WallLanternsRegistry registry) { registry.registerLantern(ResourceLocation.fromNamespaceAndPath("examplemod", "lantern")); } } -
Add the entrypoint to your
fabric.mod.json:... "entrypoints": { ... "walllanterns": "com.example.mod.examplemod.ExampleLanternModWall" }
Lantern Types
All lantern models, unless otherwise specified, are created based on the standard standing lantern model.
Several lantern types are available:
- Standard - uses the standard shape of vanilla standing lantern
- StandardCutout - intended for NeoForge. Follows the same rules as Standard, but forcibly uses the cutout render type on NeoForge