From 0e5bf79b8093d82c5d4cd7587abaa2bf41fd1ffa Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Sat, 27 Jan 2024 08:36:24 +0200 Subject: Initial commit: secret doors are displayed as bookshelves by WTHIT --- .../mc/eriscraft_misc/SecretDoorWailaPlugin.java | 35 ++++++++++++++++++++++ src/main/resources/quilt.mod.json | 24 +++++++++++++++ src/main/resources/waila_plugins.json | 7 +++++ 3 files changed, 66 insertions(+) create mode 100644 src/main/java/lv/enes/mc/eriscraft_misc/SecretDoorWailaPlugin.java create mode 100644 src/main/resources/quilt.mod.json create mode 100644 src/main/resources/waila_plugins.json (limited to 'src/main') diff --git a/src/main/java/lv/enes/mc/eriscraft_misc/SecretDoorWailaPlugin.java b/src/main/java/lv/enes/mc/eriscraft_misc/SecretDoorWailaPlugin.java new file mode 100644 index 0000000..f4aaca9 --- /dev/null +++ b/src/main/java/lv/enes/mc/eriscraft_misc/SecretDoorWailaPlugin.java @@ -0,0 +1,35 @@ +package lv.enes.mc.eriscraft_misc; + +import mcp.mobius.waila.api.*; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.state.BlockState; + +/** When looking at secret doors as provided by the chipped mod, we say it's a bookshelf :3 + *

+ * TODO: Currently only secret oak doors are considered */ +@SuppressWarnings("unused") +public class SecretDoorWailaPlugin implements IWailaPlugin { + @Override + public void register(IRegistrar registrar) { + registrar.addOverride(Overrider.INSTANCE, DoorBlock.class); + System.out.println("Hello, World!"); + } + + private enum Overrider implements IBlockComponentProvider { + INSTANCE; + + @Override + public BlockState getOverride(IBlockAccessor accessor, IPluginConfig config) { + var id = BuiltInRegistries.BLOCK.getKey(accessor.getBlock()); + // TODO: Somehow get the full list from chipped? + if (id.equals(new ResourceLocation("chipped", "secret_oak_door"))) { + return Blocks.BOOKSHELF.defaultBlockState(); + } else { + return accessor.getBlockState(); + } + } + } +} diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json new file mode 100644 index 0000000..c2ec5a6 --- /dev/null +++ b/src/main/resources/quilt.mod.json @@ -0,0 +1,24 @@ +{ + "schema_version": 1, + "quilt_loader": { + "group": "lv.enes.mc", + "id": "eriscraft_misc", + "version": "${version}", + "metadata": { + "name": "ErisCraft Miscellany", + "description": "Miscellaneous things for my modpack :3", + "contributors": { + "Eris": "Owner" + } + }, + "intermediate_mappings": "net.fabricmc:intermediary", + "entrypoints": {}, + "depends": [{ + "id": "quilt_loader", + "versions": "^${loader_version}" + }, { + "id": "minecraft", + "versions": "=${minecraft_version}" + }] + } +} \ No newline at end of file diff --git a/src/main/resources/waila_plugins.json b/src/main/resources/waila_plugins.json new file mode 100644 index 0000000..2dafe26 --- /dev/null +++ b/src/main/resources/waila_plugins.json @@ -0,0 +1,7 @@ +{ + "eris_alchemy:secret_doors": { + "initializer": "lv.enes.mc.eriscraft_misc.SecretDoorWailaPlugin", + "side": "*", + "required": [] + } +} \ No newline at end of file -- cgit v1.2.3