Как?
Для поддерживаемых фонарей: разместите фонарь на стороне блока, и он закрепится на этой поверхности.
Совместимость
Для обеспечения совместимости с фонарями из других модов, сторонние моды должны самостоятельно добавить поддержку.
Примечание: При использовании ресурсного пакета, изменяющего файл blockstate фонаря, визуальное соединение со стеной может не отображаться.
Для разработчиков модов
Базовые требования для добавления поддержки фонарей отличаются в зависимости от модлоадера.
Далее приведены инструкции для Fabric/Architectury Loom.
Для NeoForge
- Добавьте зависимость в Gradle:
repositories {
//...
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
dependencies {
//...
modImplementation "maven.modrinth:lanterns-bow:${lanterns_bow_version}"
}
Актуальные версии указаны на странице релизов.
Подробнее о Modrinth Maven здесь.
- В конструкторе мода обработайте событие mod bus, затем добавьте фонари:
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
Добавьте зависимость в Gradle:
repositories { //... maven { name = "Modrinth" url = "https://api.modrinth.com/maven" } } dependencies { //... modImplementation "maven.modrinth:lanterns-bow:${lanterns_bow_version}" }
Актуальные версии указаны на странице релизов.
Подробнее о Modrinth Maven здесь.Создайте класс entrypoint:
public class ExampleLanternModWall implements WallLanternsEntrypoint {
@Override
public void registerLanterns(WallLanternsRegistry registry) {
registry.registerLantern(ResourceLocation.fromNamespaceAndPath("examplemod", "lantern"));
}
}
- Добавьте entrypoint в
fabric.mod.json
:
...
"entrypoints": {
...
"walllanterns": "com.example.mod.examplemod.ExampleLanternModWall"
}
Типы фонарей
Если не указано иное, все модели фонарей создаются на основе стандартной модели подвесного фонаря.
Доступные типы фонарей:
- Standard - Использует форму стандартного подвесного фонаря из ванильной игры.
- StandardCutout - Для NeoForge. Сохраняет логику Standard, но принудительно использует Render Type cutout в NeoForge.