summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eriscraft_misc/SecretDoorWailaPlugin.java
blob: f4aaca933485adda7ae4dca451c6d5051402461d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
 * <p>
 * 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();
			}
		}
	}
}