From ee846bd1aecc20f4632586731fa217ac7324163b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 08:50:55 +0200 Subject: [PATCH 01/10] Tags finish up --- .../sltest/tooltip/TooltipEventListener.java | 34 ++++++++++ src/test/resources/fabric.mod.json | 3 +- .../api/block/context/BlockTagContext.java | 6 ++ .../stationapi/api/registry/tag/ItemTags.java | 53 ++++++++++++++- .../api/registry/RegistryEntry.java | 23 +++++++ .../data/c/stationapi/tags/blocks/crops.json | 20 ++++++ .../blocks/{cacti.json => crops/cactus.json} | 0 .../stationapi/tags/blocks/crops/pumpkin.json | 5 ++ .../tags/blocks/crops/sugar_cane.json | 5 ++ .../c/stationapi/tags/blocks/crops/wheat.json | 5 ++ .../data/c/stationapi/tags/blocks/ice.json | 8 +++ .../c/stationapi/tags/blocks/ice/normal.json | 5 ++ .../data/c/stationapi/tags/blocks/leaves.json | 13 +++- .../stationapi/tags/blocks/leaves/birch.json | 8 +++ .../c/stationapi/tags/blocks/leaves/oak.json | 8 +++ .../stationapi/tags/blocks/leaves/spruce.json | 8 +++ .../data/c/stationapi/tags/blocks/logs.json | 13 +++- .../c/stationapi/tags/blocks/logs/birch.json | 5 ++ .../c/stationapi/tags/blocks/logs/oak.json | 5 ++ .../c/stationapi/tags/blocks/logs/spruce.json | 5 ++ .../c/stationapi/tags/blocks/saplings.json | 13 +++- .../tags/blocks/saplings/birch.json | 5 ++ .../stationapi/tags/blocks/saplings/oak.json | 5 ++ .../tags/blocks/saplings/spruce.json | 5 ++ .../data/c/stationapi/tags/blocks/slabs.json | 20 ++++++ .../tags/blocks/slabs/cobblestone.json | 8 +++ .../tags/blocks/slabs/cobblestone/normal.json | 5 ++ .../tags/blocks/slabs/sandstone.json | 5 ++ .../c/stationapi/tags/blocks/slabs/stone.json | 5 ++ .../stationapi/tags/blocks/slabs/wooden.json | 8 +++ .../tags/blocks/slabs/wooden/oak.json | 5 ++ .../data/c/stationapi/tags/blocks/snow.json | 10 ++- .../c/stationapi/tags/blocks/snow/block.json | 5 ++ .../c/stationapi/tags/blocks/snow/layer.json | 5 ++ .../tags/blocks/stairs/cobblestone.json | 5 +- .../blocks/stairs/cobblestone/normal.json | 5 ++ .../data/c/stationapi/tags/blocks/wools.json | 65 ++++++++++++++++++- .../c/stationapi/tags/blocks/wools/black.json | 5 ++ .../c/stationapi/tags/blocks/wools/blue.json | 5 ++ .../c/stationapi/tags/blocks/wools/brown.json | 5 ++ .../c/stationapi/tags/blocks/wools/cyan.json | 5 ++ .../c/stationapi/tags/blocks/wools/gray.json | 5 ++ .../c/stationapi/tags/blocks/wools/green.json | 5 ++ .../tags/blocks/wools/light_blue.json | 5 ++ .../tags/blocks/wools/light_gray.json | 5 ++ .../c/stationapi/tags/blocks/wools/lime.json | 5 ++ .../stationapi/tags/blocks/wools/magenta.json | 5 ++ .../stationapi/tags/blocks/wools/orange.json | 5 ++ .../c/stationapi/tags/blocks/wools/pink.json | 5 ++ .../stationapi/tags/blocks/wools/purple.json | 5 ++ .../c/stationapi/tags/blocks/wools/red.json | 5 ++ .../c/stationapi/tags/blocks/wools/white.json | 5 ++ .../stationapi/tags/blocks/wools/yellow.json | 5 ++ .../data/c/stationapi/tags/items/arrows.json | 8 +++ .../stationapi/tags/items/arrows/normal.json | 5 ++ .../data/c/stationapi/tags/items/bowls.json | 8 +++ .../c/stationapi/tags/items/bowls/wooden.json | 5 ++ .../data/c/stationapi/tags/items/cacti.json | 5 -- .../data/c/stationapi/tags/items/coals.json | 9 ++- .../stationapi/tags/items/coals/charcoal.json | 5 ++ .../c/stationapi/tags/items/coals/normal.json | 5 ++ .../data/c/stationapi/tags/items/dyes.json | 65 ++++++++++++++++++- .../c/stationapi/tags/items/dyes/black.json | 5 ++ .../c/stationapi/tags/items/dyes/blue.json | 5 ++ .../c/stationapi/tags/items/dyes/brown.json | 5 ++ .../c/stationapi/tags/items/dyes/cyan.json | 5 ++ .../c/stationapi/tags/items/dyes/gray.json | 5 ++ .../c/stationapi/tags/items/dyes/green.json | 5 ++ .../tags/items/dyes/light_blue.json | 5 ++ .../tags/items/dyes/light_gray.json | 5 ++ .../c/stationapi/tags/items/dyes/lime.json | 5 ++ .../c/stationapi/tags/items/dyes/magenta.json | 5 ++ .../c/stationapi/tags/items/dyes/orange.json | 5 ++ .../c/stationapi/tags/items/dyes/pink.json | 5 ++ .../c/stationapi/tags/items/dyes/purple.json | 5 ++ .../c/stationapi/tags/items/dyes/red.json | 5 ++ .../c/stationapi/tags/items/dyes/white.json | 5 ++ .../c/stationapi/tags/items/dyes/yellow.json | 5 ++ .../data/c/stationapi/tags/items/gems.json | 4 ++ .../c/stationapi/tags/items/gems/lapis.json | 5 ++ .../data/c/stationapi/tags/items/ice.json | 8 +++ .../c/stationapi/tags/items/ice/normal.json | 5 ++ .../data/c/stationapi/tags/items/leaves.json | 13 +++- .../c/stationapi/tags/items/leaves/birch.json | 5 ++ .../c/stationapi/tags/items/leaves/oak.json | 5 ++ .../stationapi/tags/items/leaves/spruce.json | 5 ++ .../data/c/stationapi/tags/items/logs.json | 13 +++- .../c/stationapi/tags/items/logs/birch.json | 5 ++ .../c/stationapi/tags/items/logs/oak.json | 5 ++ .../c/stationapi/tags/items/logs/spruce.json | 5 ++ .../c/stationapi/tags/items/saplings.json | 13 +++- .../stationapi/tags/items/saplings/birch.json | 5 ++ .../c/stationapi/tags/items/saplings/oak.json | 5 ++ .../tags/items/saplings/spruce.json | 5 ++ .../tags/items/signs/wooden/oak.json | 9 +-- .../tags/items/signs/wooden/oak/standing.json | 5 -- .../tags/items/signs/wooden/oak/wall.json | 5 -- .../data/c/stationapi/tags/items/slabs.json | 20 ++++++ .../tags/items/slabs/cobblestone.json | 8 +++ .../tags/items/slabs/cobblestone/normal.json | 5 ++ .../tags/items/slabs/sandstone.json | 5 ++ .../c/stationapi/tags/items/slabs/stone.json | 5 ++ .../c/stationapi/tags/items/slabs/wooden.json | 8 +++ .../tags/items/slabs/wooden/oak.json | 5 ++ .../data/c/stationapi/tags/items/snow.json | 10 ++- .../c/stationapi/tags/items/snow/block.json | 5 ++ .../c/stationapi/tags/items/snow/layer.json | 5 ++ .../tags/items/stairs/cobblestone.json | 5 +- .../tags/items/stairs/cobblestone/normal.json | 5 ++ .../data/c/stationapi/tags/items/tools.json | 16 +++++ .../tags/items/tools/fishing_rods.json | 8 +++ .../tags/items/tools/fishing_rods/wooden.json | 5 ++ .../data/c/stationapi/tags/items/wools.json | 65 ++++++++++++++++++- .../c/stationapi/tags/items/wools/black.json | 5 ++ .../c/stationapi/tags/items/wools/blue.json | 5 ++ .../c/stationapi/tags/items/wools/brown.json | 5 ++ .../c/stationapi/tags/items/wools/cyan.json | 5 ++ .../c/stationapi/tags/items/wools/gray.json | 5 ++ .../c/stationapi/tags/items/wools/green.json | 5 ++ .../tags/items/wools/light_blue.json | 5 ++ .../tags/items/wools/light_gray.json | 5 ++ .../c/stationapi/tags/items/wools/lime.json | 5 ++ .../stationapi/tags/items/wools/magenta.json | 5 ++ .../c/stationapi/tags/items/wools/orange.json | 5 ++ .../c/stationapi/tags/items/wools/pink.json | 5 ++ .../c/stationapi/tags/items/wools/purple.json | 5 ++ .../c/stationapi/tags/items/wools/red.json | 5 ++ .../c/stationapi/tags/items/wools/white.json | 5 ++ .../c/stationapi/tags/items/wools/yellow.json | 5 ++ 129 files changed, 1029 insertions(+), 42 deletions(-) create mode 100644 src/test/java/net/modificationstation/sltest/tooltip/TooltipEventListener.java create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops.json rename station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/{cacti.json => crops/cactus.json} (100%) create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/pumpkin.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/sugar_cane.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/wheat.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/spruce.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/spruce.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/spruce.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/sandstone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/stone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/block.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/layer.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/black.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/brown.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/cyan.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/green.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/lime.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/magenta.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/orange.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/pink.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/purple.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/red.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/white.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/yellow.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls/wooden.json delete mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/cacti.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/charcoal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/black.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/brown.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/cyan.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/green.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/lime.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/magenta.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/orange.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/pink.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/purple.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/red.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/white.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/yellow.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems/lapis.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/spruce.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/spruce.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/birch.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/spruce.json delete mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/standing.json delete mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/wall.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/sandstone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/stone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden/oak.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/block.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/layer.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods/wooden.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/black.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/brown.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/cyan.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/green.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_blue.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_gray.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/lime.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/magenta.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/orange.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/pink.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/purple.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/red.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/white.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/yellow.json diff --git a/src/test/java/net/modificationstation/sltest/tooltip/TooltipEventListener.java b/src/test/java/net/modificationstation/sltest/tooltip/TooltipEventListener.java new file mode 100644 index 000000000..4afc098f1 --- /dev/null +++ b/src/test/java/net/modificationstation/sltest/tooltip/TooltipEventListener.java @@ -0,0 +1,34 @@ +package net.modificationstation.sltest.tooltip; + +import net.mine_diver.unsafeevents.listener.EventListener; +import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.modificationstation.stationapi.api.block.context.BlockTagContext; +import net.modificationstation.stationapi.api.client.event.gui.screen.container.TooltipBuildEvent; +import net.modificationstation.stationapi.api.item.context.ItemTagContext; +import net.modificationstation.stationapi.api.tag.TagKey; +import net.modificationstation.stationapi.api.util.Formatting; + +public class TooltipEventListener { + @EventListener + public void addTagsToTooltip(TooltipBuildEvent event) { + ItemStack stack = event.itemStack; + + event.tooltip.add(Formatting.DARK_PURPLE + "Item Tags:"); + for (TagKey tag : stack.getItem().getRegistryEntry().getTags(ItemTagContext.of(stack))) { + event.tooltip.add(" " + Formatting.LIGHT_PURPLE + tag.id().toString()); + } + + + if (stack.getItem() instanceof BlockItem blockItem) { + event.tooltip.add(""); + event.tooltip.add(Formatting.DARK_PURPLE + "Block Tags:"); + Block placedBlock = blockItem.getBlock(); + for (TagKey tag : placedBlock.getRegistryEntry().getTags(BlockTagContext.of(blockItem.getPlacementMetadata(stack.getDamage())))) { + event.tooltip.add(" " + Formatting.LIGHT_PURPLE + tag.id().toString()); + } + } + } +} diff --git a/src/test/resources/fabric.mod.json b/src/test/resources/fabric.mod.json index f77d035c0..95cfddead 100644 --- a/src/test/resources/fabric.mod.json +++ b/src/test/resources/fabric.mod.json @@ -41,7 +41,8 @@ "net.modificationstation.sltest.option.OptionListener", "net.modificationstation.sltest.keyboard.KeyboardListener", "net.modificationstation.sltest.texture.TextureListener", - "net.modificationstation.sltest.render.entity.EntityRendererListener" + "net.modificationstation.sltest.render.entity.EntityRendererListener", + "net.modificationstation.sltest.tooltip.TooltipEventListener" ], "main": [ "net.modificationstation.sltest.MainTest" diff --git a/station-flattening-v0/src/main/java/net/modificationstation/stationapi/api/block/context/BlockTagContext.java b/station-flattening-v0/src/main/java/net/modificationstation/stationapi/api/block/context/BlockTagContext.java index 6cffa8590..303002d92 100644 --- a/station-flattening-v0/src/main/java/net/modificationstation/stationapi/api/block/context/BlockTagContext.java +++ b/station-flattening-v0/src/main/java/net/modificationstation/stationapi/api/block/context/BlockTagContext.java @@ -31,6 +31,12 @@ interface BlockTagContextDelegate extends BlockTagContext, Delegate {} return (BlockTagContextDelegate) () -> data; } + static BlockTagContext of(int meta) { + Context data = Context.of(BlockContext.BLOCK_METADATA_KEY, meta); + interface BlockTagContextDelegate extends BlockTagContext, Delegate {} + return (BlockTagContextDelegate) () -> data; + } + static BlockTagContext of(Context context) { if (context instanceof BlockTagContext b) return b; interface BlockTagContextDelegate extends BlockTagContext, Delegate {} diff --git a/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java b/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java index 430f41e1b..4004426ad 100644 --- a/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java +++ b/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java @@ -37,6 +37,7 @@ public final class ItemTags { LEATHER_LEGGINGS = of("c:armors/leggings/leather"), BONES = of("c:bones"), BOOKSHELVES = of("c:bookshelves"), + BOWLS = of("c:bowls"), BRICK_BLOCKS = of("c:brick_blocks"), NORMAL_BRICK_BLOCKS = of("c:brick_blocks/normal"), BRICKS = of("c:bricks"), @@ -48,7 +49,6 @@ public final class ItemTags { WATER_BUCKETS = of("c:buckets/water"), BUTTONS = of("c:buttons"), STONE_BUTTONS = of("c:buttons/stone"), - CACTI = of("c:cacti"), CHESTS = of("c:chests"), WOODEN_CHESTS = of("c:chests/wooden"), CLAY_BLOCKS = of("c:clay_blocks"), @@ -70,6 +70,22 @@ public final class ItemTags { GLOWSTONE_DUSTS = of("c:dusts/glowstone"), REDSTONE_DUSTS = of("c:dusts/redstone"), DYES = of("c:dyes"), + WHITE_DYES = of("c:dyes/white"), + ORANGE_DYES = of("c:dyes/orange"), + MAGENTA_DYES = of("c:dyes/magenta"), + LIGHT_BLUE_DYES = of("c:dyes/light_blue"), + YELLOW_DYES = of("c:dyes/yellow"), + LIME_DYES = of("c:dyes/lime"), + PINK_DYES = of("c:dyes/pink"), + GRAY_DYES = of("c:dyes/gray"), + LIGHT_GRAY_DYES = of("c:dyes/light_gray"), + CYAN_DYES = of("c:dyes/cyan"), + PURPLE_DYES = of("c:dyes/purple"), + BLUE_DYES = of("c:dyes/blue"), + BROWN_DYES = of("c:dyes/brown"), + GREEN_DYES = of("c:dyes/green"), + RED_DYES = of("c:dyes/red"), + BLACK_DYES = of("c:dyes/black"), EGGS = of("c:eggs"), CHICKEN_EGGS = of("c:eggs/chicken"), FEATHERS = of("c:feathers"), @@ -96,6 +112,7 @@ public final class ItemTags { VEGETABLE_FOODS = of("c:foods/vegetable"), GEMS = of("c:gems"), DIAMOND_GEMS = of("c:gems/diamond"), + LAPIS_GEMS = of("c:gems/lapis"), GLASS_BLOCKS = of("c:glass_blocks"), COLORLESS_GLASS_BLOCKS = of("c:glass_blocks/colorless"), GRASS_BLOCKS = of("c:grass_blocks"), @@ -110,7 +127,13 @@ public final class ItemTags { LEATHERS = of("c:leathers"), COW_LEATHERS = of("c:leathers/cow"), LEAVES = of("c:leaves"), + OAK_LEAVES = of("c:leaves/oak"), + SPRUCE_LEAVES = of("c:leaves/spruce"), + BIRCH_LEAVES = of("c:leaves/birch"), LOGS = of("c:logs"), + OAK_LOGS = of("c:logs/oak"), + SPRUCE_LOGS = of("c:logs/spruce"), + BIRCH_LOGS = of("c:logs/birch"), MUSHROOMS = of("c:mushrooms"), BROWN_MUSHROOMS = of("c:mushrooms/brown"), RED_MUSHROOMS = of("c:mushrooms/red"), @@ -141,6 +164,9 @@ public final class ItemTags { SANDSTONE_BLOCKS = of("c:sandstone/blocks"), NORMAL_SANDSTONE_BLOCKS = of("c:sandstone/normal_blocks"), SAPLINGS = of("c:saplings"), + OAK_SAPLINGS = of("c:saplings/oak"), + SPRUCE_SAPLINGS = of("c:saplings/spruce"), + BIRCH_SAPLINGS = of("c:saplings/birch"), SEEDS = of("c:seeds"), WHEAT_SEEDS = of("c:seeds/wheat"), SIGNS = of("c:signs"), @@ -148,10 +174,16 @@ public final class ItemTags { OAK_SIGNS = of("c:signs/wooden/oak"), OAK_STANDING_SIGNS = of("c:signs/wooden/oak/standing"), OAK_WALL_SIGNS = of("c:signs/wooden/oak/wall"), + SLABS = of("c:slabs"), + STONE_SLABS = of("c:slabs/stone"), + SANDSTONE_SLABS = of("c:slabs/sandstone"), + OAK_SLABS = of("c:slabs/wooden/oak"), + COBBLESTONE_SLABS = of("c:slabs/cobblestone"), SLIME_BALLS = of("c:slime_balls"), SNOW = of("c:snow"), STAIRS = of("c:stairs"), COBBLESTONE_STAIRS = of("c:stairs/cobblestone"), + NORMAL_COBBLESTONE_STAIRS = of("c:stairs/cobblestone/normal"), WOODEN_STAIRS = of("c:stairs/wooden"), OAK_STAIRS = of("c:stairs/wooden/oak"), STICKS = of("c:sticks"), @@ -171,6 +203,7 @@ public final class ItemTags { STONE_AXES = of("c:tools/axes/stone"), WOODEN_AXES = of("c:tools/axes/wooden"), BOWS = of("c:tools/bows"), + FISHING_RODS = of("c:tools/fishing_rods"), HOES = of("c:tools/hoes"), DIAMOND_HOES = of("c:tools/hoes/diamond"), GOLD_HOES = of("c:tools/hoes/gold"), @@ -200,7 +233,23 @@ public final class ItemTags { TRAPDOORS = of("c:trapdoors"), WOODEN_TRAPDOORS = of("c:trapdoors/wooden"), OAK_TRAPDOORS = of("c:trapdoors/wooden/oak"), - WOOLS = of("c:wools"); + WOOLS = of("c:wools"), + WHITE_WOOLS = of("c:wools/white"), + ORANGE_WOOLS = of("c:wools/orange"), + MAGENTA_WOOLS = of("c:wools/magenta"), + LIGHT_BLUE_WOOLS = of("c:wools/light_blue"), + YELLOW_WOOLS = of("c:wools/yellow"), + LIME_WOOLS = of("c:wools/lime"), + PINK_WOOLS = of("c:wools/pink"), + GRAY_WOOLS = of("c:wools/gray"), + LIGHT_GRAY_WOOLS = of("c:wools/light_gray"), + CYAN_WOOLS = of("c:wools/cyan"), + PURPLE_WOOLS = of("c:wools/purple"), + BLUE_WOOLS = of("c:wools/blue"), + BROWN_WOOLS = of("c:wools/brown"), + GREEN_WOOLS = of("c:wools/green"), + RED_WOOLS = of("c:wools/red"), + BLACK_WOOLS = of("c:wools/black"); private static TagKey of(String id) { return TagKey.of(ItemRegistry.KEY, Identifier.of(id)); diff --git a/station-registry-api-v0/src/main/java/net/modificationstation/stationapi/api/registry/RegistryEntry.java b/station-registry-api-v0/src/main/java/net/modificationstation/stationapi/api/registry/RegistryEntry.java index a08bdcfa3..64a79fae0 100644 --- a/station-registry-api-v0/src/main/java/net/modificationstation/stationapi/api/registry/RegistryEntry.java +++ b/station-registry-api-v0/src/main/java/net/modificationstation/stationapi/api/registry/RegistryEntry.java @@ -1,6 +1,7 @@ package net.modificationstation.stationapi.api.registry; import com.mojang.datafixers.util.Either; +import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import net.modificationstation.stationapi.api.tag.TagKey; import net.modificationstation.stationapi.api.tag.context.TagEvaluationContext; import net.modificationstation.stationapi.api.util.Identifier; @@ -43,6 +44,8 @@ default Stream> streamTags() { Stream> streamTags(TagEvaluationContext context); Set> getTags(); + + Set> getTags(TagEvaluationContext context); Either, T> getKeyOrValue(); @@ -116,6 +119,11 @@ public Stream> streamTags(TagEvaluationContext context) { public Set> getTags() { return Set.of(); } + + @Override + public Set> getTags(TagEvaluationContext context) { + return Set.of(); + } } abstract class Reference implements RegistryEntry { @@ -194,6 +202,21 @@ public Set> getTags() { return Set.copyOf(this.tags.keySet()); } + @Override + public Set> getTags(TagEvaluationContext context) { + if (context.ignoreTagConditions()) { + return Set.copyOf(this.tags.keySet()); + } + + Set> tags = new ObjectOpenHashSet<>(); + for (Map.Entry, Predicate> entry : this.tags.entrySet()) { + if (entry.getValue().test(context)) { + tags.add(entry.getKey()); + } + } + return tags; + } + public String toString() { return "Reference{" + registryKey() + "=" + value() + "}"; } diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops.json new file mode 100644 index 000000000..7b2f6db8c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops.json @@ -0,0 +1,20 @@ +{ + "values": [ + { + "id": "#c:crops/cactus", + "required": false + }, + { + "id": "#c:crops/pumpkin", + "required": false + }, + { + "id": "#c:crops/sugar_cane", + "required": false + }, + { + "id": "#c:crops/wheat", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/cacti.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/cactus.json similarity index 100% rename from station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/cacti.json rename to station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/cactus.json diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/pumpkin.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/pumpkin.json new file mode 100644 index 000000000..1a0f6d399 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/pumpkin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:carved_pumpkin" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/sugar_cane.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/sugar_cane.json new file mode 100644 index 000000000..6e3dc8c98 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/sugar_cane.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sugar_cane" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/wheat.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/wheat.json new file mode 100644 index 000000000..498cb445f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/crops/wheat.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wheat" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice.json new file mode 100644 index 000000000..304e6b413 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:ice/normal", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice/normal.json new file mode 100644 index 000000000..d08f7cca3 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/ice/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:ice" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves.json index fb8b0a4cd..3543bb7d8 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:leaves" + { + "id": "#c:leaves/oak", + "required": false + }, + { + "id": "#c:leaves/spruce", + "required": false + }, + { + "id": "#c:leaves/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/birch.json new file mode 100644 index 000000000..2db422268 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/birch.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:leaves@2", + "minecraft:leaves@6", + "minecraft:leaves@10", + "minecraft:leaves@14" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/oak.json new file mode 100644 index 000000000..70c43e50f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/oak.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:leaves@0", + "minecraft:leaves@4", + "minecraft:leaves@8", + "minecraft:leaves@12" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/spruce.json new file mode 100644 index 000000000..ab7b3c9ca --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/leaves/spruce.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:leaves@1", + "minecraft:leaves@5", + "minecraft:leaves@9", + "minecraft:leaves@13" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs.json index 7d753fa0e..720df4e1a 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:log" + { + "id": "#c:logs/oak", + "required": false + }, + { + "id": "#c:logs/spruce", + "required": false + }, + { + "id": "#c:logs/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/birch.json new file mode 100644 index 000000000..2c8f0b4a6 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/birch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/oak.json new file mode 100644 index 000000000..5f6cf01e0 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/spruce.json new file mode 100644 index 000000000..92c2d5dd5 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/logs/spruce.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings.json index bec4643c3..6b3591581 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:sapling" + { + "id": "#c:saplings/oak", + "required": false + }, + { + "id": "#c:saplings/spruce", + "required": false + }, + { + "id": "#c:saplings/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/birch.json new file mode 100644 index 000000000..9fa43a8ac --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/birch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/oak.json new file mode 100644 index 000000000..63d822d3a --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/spruce.json new file mode 100644 index 000000000..3138d1974 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/saplings/spruce.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs.json new file mode 100644 index 000000000..5efce64a0 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs.json @@ -0,0 +1,20 @@ +{ + "values": [ + { + "id": "#c:slabs/stone", + "required": false + }, + { + "id": "#c:slabs/sandstone", + "required": false + }, + { + "id": "#c:slabs/wooden", + "required": false + }, + { + "id": "#c:slabs/cobblestone", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone.json new file mode 100644 index 000000000..cf6e9f7e9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:slabs/cobblestone/normal", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone/normal.json new file mode 100644 index 000000000..a348d0e50 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/cobblestone/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@3" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/sandstone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/sandstone.json new file mode 100644 index 000000000..cda98fc9f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/sandstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/stone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/stone.json new file mode 100644 index 000000000..3420fe449 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/stone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden.json new file mode 100644 index 000000000..646d6bc45 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:slabs/wooden/oak", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden/oak.json new file mode 100644 index 000000000..f5ca2c71e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/slabs/wooden/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow.json index 49f75e369..d2c3909e4 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow.json @@ -1,6 +1,12 @@ { "values": [ - "minecraft:snow", - "minecraft:snow_block" + { + "id": "#c:snow/block", + "required": false + }, + { + "id": "#c:snow/layer", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/block.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/block.json new file mode 100644 index 000000000..fb967e0ed --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/block.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:snow_block" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/layer.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/layer.json new file mode 100644 index 000000000..51acf9617 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/snow/layer.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:snow" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone.json index e758f5a2f..d02931ff8 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone.json @@ -1,5 +1,8 @@ { "values": [ - "minecraft:cobblestone_stairs" + { + "id": "#c:stairs/cobblestone/normal", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone/normal.json new file mode 100644 index 000000000..e758f5a2f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/stairs/cobblestone/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:cobblestone_stairs" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools.json index ad2d8e50f..32a54423f 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools.json @@ -1,5 +1,68 @@ { "values": [ - "minecraft:wool" + { + "id": "#c:wools/white", + "required": false + }, + { + "id": "#c:wools/orange", + "required": false + }, + { + "id": "#c:wools/magenta", + "required": false + }, + { + "id": "#c:wools/light_blue", + "required": false + }, + { + "id": "#c:wools/yellow", + "required": false + }, + { + "id": "#c:wools/lime", + "required": false + }, + { + "id": "#c:wools/pink", + "required": false + }, + { + "id": "#c:wools/gray", + "required": false + }, + { + "id": "#c:wools/light_gray", + "required": false + }, + { + "id": "#c:wools/cyan", + "required": false + }, + { + "id": "#c:wools/purple", + "required": false + }, + { + "id": "#c:wools/blue", + "required": false + }, + { + "id": "#c:wools/brown", + "required": false + }, + { + "id": "#c:wools/green", + "required": false + }, + { + "id": "#c:wools/red", + "required": false + }, + { + "id": "#c:wools/black", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/black.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/black.json new file mode 100644 index 000000000..54f2ae419 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/black.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@15" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/blue.json new file mode 100644 index 000000000..01b79c4b9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@11" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/brown.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/brown.json new file mode 100644 index 000000000..b5494b71d --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/brown.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@12" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/cyan.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/cyan.json new file mode 100644 index 000000000..764fd622c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/cyan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@9" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/gray.json new file mode 100644 index 000000000..48004f837 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@7" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/green.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/green.json new file mode 100644 index 000000000..fd14ca805 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/green.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@13" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_blue.json new file mode 100644 index 000000000..17132144f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@3" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_gray.json new file mode 100644 index 000000000..ada6c64d6 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/light_gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@8" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/lime.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/lime.json new file mode 100644 index 000000000..da5cd8fbb --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/lime.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@5" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/magenta.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/magenta.json new file mode 100644 index 000000000..f17f9b47e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/magenta.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/orange.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/orange.json new file mode 100644 index 000000000..595d29779 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/orange.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/pink.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/pink.json new file mode 100644 index 000000000..901733086 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/pink.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@6" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/purple.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/purple.json new file mode 100644 index 000000000..1e902a9f9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/purple.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@10" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/red.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/red.json new file mode 100644 index 000000000..ab994242c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/red.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@14" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/white.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/white.json new file mode 100644 index 000000000..a6a059523 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/white.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/yellow.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/yellow.json new file mode 100644 index 000000000..1a83866e7 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/wools/yellow.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@4" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows.json new file mode 100644 index 000000000..1e6bf5cfb --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:arrows/normal", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows/normal.json new file mode 100644 index 000000000..e4c701b76 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/arrows/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:arrow" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls.json new file mode 100644 index 000000000..88ccd1817 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:bowls/wooden", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls/wooden.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls/wooden.json new file mode 100644 index 000000000..a3e4a9837 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/bowls/wooden.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:bowl" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/cacti.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/cacti.json deleted file mode 100644 index 2624ccf24..000000000 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/cacti.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:cactus" - ] -} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals.json index 21fb3440a..4f9e1f91c 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals.json @@ -1,5 +1,12 @@ { "values": [ - "minecraft:coal" + { + "id": "#c:coals/normal", + "required": false + }, + { + "id": "#c:coals/charcoal", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/charcoal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/charcoal.json new file mode 100644 index 000000000..71890daeb --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/charcoal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:coal@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/normal.json new file mode 100644 index 000000000..794a1401e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/coals/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:coal@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes.json index 85ad5a29e..bd2727291 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes.json @@ -1,5 +1,68 @@ { "values": [ - "minecraft:dye" + { + "id": "#c:dyes/white", + "required": false + }, + { + "id": "#c:dyes/orange", + "required": false + }, + { + "id": "#c:dyes/magenta", + "required": false + }, + { + "id": "#c:dyes/light_blue", + "required": false + }, + { + "id": "#c:dyes/yellow", + "required": false + }, + { + "id": "#c:dyes/lime", + "required": false + }, + { + "id": "#c:dyes/pink", + "required": false + }, + { + "id": "#c:dyes/gray", + "required": false + }, + { + "id": "#c:dyes/light_gray", + "required": false + }, + { + "id": "#c:dyes/cyan", + "required": false + }, + { + "id": "#c:dyes/purple", + "required": false + }, + { + "id": "#c:dyes/blue", + "required": false + }, + { + "id": "#c:dyes/brown", + "required": false + }, + { + "id": "#c:dyes/green", + "required": false + }, + { + "id": "#c:dyes/red", + "required": false + }, + { + "id": "#c:dyes/black", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/black.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/black.json new file mode 100644 index 000000000..aee808555 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/black.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/blue.json new file mode 100644 index 000000000..410252c23 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@4" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/brown.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/brown.json new file mode 100644 index 000000000..01066a0ae --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/brown.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@3" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/cyan.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/cyan.json new file mode 100644 index 000000000..b5d33757d --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/cyan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@6" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/gray.json new file mode 100644 index 000000000..b0ae56f02 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@8" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/green.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/green.json new file mode 100644 index 000000000..230874d3c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/green.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_blue.json new file mode 100644 index 000000000..1081bc74a --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@12" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_gray.json new file mode 100644 index 000000000..aa0fe2e35 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/light_gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@7" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/lime.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/lime.json new file mode 100644 index 000000000..466d1a3a5 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/lime.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@10" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/magenta.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/magenta.json new file mode 100644 index 000000000..365a44db4 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/magenta.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@13" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/orange.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/orange.json new file mode 100644 index 000000000..9a2a218c4 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/orange.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@14" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/pink.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/pink.json new file mode 100644 index 000000000..308a00690 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/pink.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@9" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/purple.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/purple.json new file mode 100644 index 000000000..15a2c46d7 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/purple.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@5" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/red.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/red.json new file mode 100644 index 000000000..0be3da9e0 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/red.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/white.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/white.json new file mode 100644 index 000000000..3af349076 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/white.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@15" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/yellow.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/yellow.json new file mode 100644 index 000000000..d2d07a0bb --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/dyes/yellow.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@11" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems.json index c3ae0cd74..73f928ce8 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems.json @@ -3,6 +3,10 @@ { "id": "#c:gems/diamond", "required": false + }, + { + "id": "#c:gems/lapis", + "required": false } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems/lapis.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems/lapis.json new file mode 100644 index 000000000..410252c23 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/gems/lapis.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:dye@4" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice.json new file mode 100644 index 000000000..304e6b413 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:ice/normal", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice/normal.json new file mode 100644 index 000000000..d08f7cca3 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/ice/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:ice" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves.json index fb8b0a4cd..3543bb7d8 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:leaves" + { + "id": "#c:leaves/oak", + "required": false + }, + { + "id": "#c:leaves/spruce", + "required": false + }, + { + "id": "#c:leaves/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/birch.json new file mode 100644 index 000000000..3486cfe32 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/birch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:leaves@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/oak.json new file mode 100644 index 000000000..9d4a4c72e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:leaves@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/spruce.json new file mode 100644 index 000000000..e475cd9a1 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/leaves/spruce.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:leaves@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs.json index 7d753fa0e..720df4e1a 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:log" + { + "id": "#c:logs/oak", + "required": false + }, + { + "id": "#c:logs/spruce", + "required": false + }, + { + "id": "#c:logs/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/birch.json new file mode 100644 index 000000000..2c8f0b4a6 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/birch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/oak.json new file mode 100644 index 000000000..5f6cf01e0 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/spruce.json new file mode 100644 index 000000000..92c2d5dd5 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/logs/spruce.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:log@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings.json index bec4643c3..6b3591581 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings.json @@ -1,5 +1,16 @@ { "values": [ - "minecraft:sapling" + { + "id": "#c:saplings/oak", + "required": false + }, + { + "id": "#c:saplings/spruce", + "required": false + }, + { + "id": "#c:saplings/birch", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/birch.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/birch.json new file mode 100644 index 000000000..9fa43a8ac --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/birch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/oak.json new file mode 100644 index 000000000..63d822d3a --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/spruce.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/spruce.json new file mode 100644 index 000000000..3138d1974 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/saplings/spruce.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:sapling@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak.json index 8c16e8628..e0213dea1 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak.json @@ -1,12 +1,5 @@ { "values": [ - { - "id": "#c:signs/wooden/oak/standing", - "required": false - }, - { - "id": "#c:signs/wooden/oak/wall", - "required": false - } + "minecraft:oak_sign" ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/standing.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/standing.json deleted file mode 100644 index e0213dea1..000000000 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/standing.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:oak_sign" - ] -} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/wall.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/wall.json deleted file mode 100644 index 85e311742..000000000 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/signs/wooden/oak/wall.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:oak_wall_sign" - ] -} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs.json new file mode 100644 index 000000000..5efce64a0 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs.json @@ -0,0 +1,20 @@ +{ + "values": [ + { + "id": "#c:slabs/stone", + "required": false + }, + { + "id": "#c:slabs/sandstone", + "required": false + }, + { + "id": "#c:slabs/wooden", + "required": false + }, + { + "id": "#c:slabs/cobblestone", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone.json new file mode 100644 index 000000000..cf6e9f7e9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:slabs/cobblestone/normal", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone/normal.json new file mode 100644 index 000000000..a348d0e50 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/cobblestone/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@3" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/sandstone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/sandstone.json new file mode 100644 index 000000000..cda98fc9f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/sandstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/stone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/stone.json new file mode 100644 index 000000000..3420fe449 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/stone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden.json new file mode 100644 index 000000000..646d6bc45 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:slabs/wooden/oak", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden/oak.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden/oak.json new file mode 100644 index 000000000..f5ca2c71e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/slabs/wooden/oak.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:slab@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow.json index 49f75e369..d2c3909e4 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow.json @@ -1,6 +1,12 @@ { "values": [ - "minecraft:snow", - "minecraft:snow_block" + { + "id": "#c:snow/block", + "required": false + }, + { + "id": "#c:snow/layer", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/block.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/block.json new file mode 100644 index 000000000..fb967e0ed --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/block.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:snow_block" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/layer.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/layer.json new file mode 100644 index 000000000..51acf9617 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/snow/layer.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:snow" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone.json index e758f5a2f..d02931ff8 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone.json @@ -1,5 +1,8 @@ { "values": [ - "minecraft:cobblestone_stairs" + { + "id": "#c:stairs/cobblestone/normal", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone/normal.json new file mode 100644 index 000000000..e758f5a2f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/stairs/cobblestone/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:cobblestone_stairs" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools.json index 8e29cf096..9d627f606 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools.json @@ -19,6 +19,22 @@ { "id": "#c:tools/swords", "required": false + }, + { + "id": "#c:tools/igniters", + "required": false + }, + { + "id": "#c:tools/fishing_rods", + "required": false + }, + { + "id": "#c:tools/bows", + "required": false + }, + { + "id": "#c:tools/shears", + "required": false } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods.json new file mode 100644 index 000000000..4e1d331d6 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#c:tools/fishing_rods/wooden", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods/wooden.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods/wooden.json new file mode 100644 index 000000000..e97941e9d --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/tools/fishing_rods/wooden.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:fishing_rod" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools.json index ad2d8e50f..32a54423f 100644 --- a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools.json +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools.json @@ -1,5 +1,68 @@ { "values": [ - "minecraft:wool" + { + "id": "#c:wools/white", + "required": false + }, + { + "id": "#c:wools/orange", + "required": false + }, + { + "id": "#c:wools/magenta", + "required": false + }, + { + "id": "#c:wools/light_blue", + "required": false + }, + { + "id": "#c:wools/yellow", + "required": false + }, + { + "id": "#c:wools/lime", + "required": false + }, + { + "id": "#c:wools/pink", + "required": false + }, + { + "id": "#c:wools/gray", + "required": false + }, + { + "id": "#c:wools/light_gray", + "required": false + }, + { + "id": "#c:wools/cyan", + "required": false + }, + { + "id": "#c:wools/purple", + "required": false + }, + { + "id": "#c:wools/blue", + "required": false + }, + { + "id": "#c:wools/brown", + "required": false + }, + { + "id": "#c:wools/green", + "required": false + }, + { + "id": "#c:wools/red", + "required": false + }, + { + "id": "#c:wools/black", + "required": false + } ] } \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/black.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/black.json new file mode 100644 index 000000000..54f2ae419 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/black.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@15" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/blue.json new file mode 100644 index 000000000..01b79c4b9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@11" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/brown.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/brown.json new file mode 100644 index 000000000..b5494b71d --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/brown.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@12" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/cyan.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/cyan.json new file mode 100644 index 000000000..764fd622c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/cyan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@9" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/gray.json new file mode 100644 index 000000000..48004f837 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@7" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/green.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/green.json new file mode 100644 index 000000000..fd14ca805 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/green.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@13" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_blue.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_blue.json new file mode 100644 index 000000000..17132144f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_blue.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@3" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_gray.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_gray.json new file mode 100644 index 000000000..ada6c64d6 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/light_gray.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@8" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/lime.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/lime.json new file mode 100644 index 000000000..da5cd8fbb --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/lime.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@5" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/magenta.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/magenta.json new file mode 100644 index 000000000..f17f9b47e --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/magenta.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@2" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/orange.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/orange.json new file mode 100644 index 000000000..595d29779 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/orange.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@1" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/pink.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/pink.json new file mode 100644 index 000000000..901733086 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/pink.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@6" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/purple.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/purple.json new file mode 100644 index 000000000..1e902a9f9 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/purple.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@10" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/red.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/red.json new file mode 100644 index 000000000..ab994242c --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/red.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@14" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/white.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/white.json new file mode 100644 index 000000000..a6a059523 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/white.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@0" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/yellow.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/yellow.json new file mode 100644 index 000000000..1a83866e7 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/wools/yellow.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:wool@4" + ] +} \ No newline at end of file From 26b67455402585e5eff8940f595255e9e160329c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 18:12:55 +0200 Subject: [PATCH 02/10] Okay now its nearly done I promise, also mine is bozo --- .../recipes/crafting/conditial_tag_test.json | 29 +++++++++++ .../stationapi/api/registry/tag/ItemTags.java | 4 ++ .../recipe/VanillaTagRecipeFixImpl.java | 50 +++++++++++++------ .../c/stationapi/tags/blocks/torches.json | 12 +++++ .../tags/blocks/torches/normal.json | 5 ++ .../tags/blocks/torches/redstone.json | 5 ++ .../data/c/stationapi/tags/items/torches.json | 12 +++++ .../stationapi/tags/items/torches/normal.json | 5 ++ .../tags/items/torches/redstone.json | 5 ++ 9 files changed, 112 insertions(+), 15 deletions(-) create mode 100644 src/test/resources/data/sltest/stationapi/recipes/crafting/conditial_tag_test.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/redstone.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/normal.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/redstone.json diff --git a/src/test/resources/data/sltest/stationapi/recipes/crafting/conditial_tag_test.json b/src/test/resources/data/sltest/stationapi/recipes/crafting/conditial_tag_test.json new file mode 100644 index 000000000..e6717298f --- /dev/null +++ b/src/test/resources/data/sltest/stationapi/recipes/crafting/conditial_tag_test.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": + [ + "pwl", + "pwl", + "pwl" + ], + "key": + { + "p": + { + "tag": "c:dyes/pink" + }, + "w": + { + "tag": "c:dyes/white" + }, + "l": + { + "tag": "c:dyes/light_blue" + } + }, + "result": + { + "item": "sltest:test_item", + "count": 67 + } +} \ No newline at end of file diff --git a/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java b/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java index 4004426ad..2ddc636f9 100644 --- a/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java +++ b/station-items-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/ItemTags.java @@ -37,6 +37,7 @@ public final class ItemTags { LEATHER_LEGGINGS = of("c:armors/leggings/leather"), BONES = of("c:bones"), BOOKSHELVES = of("c:bookshelves"), + WOODEN_BOWLS = of("c:bowls/wooden"), BOWLS = of("c:bowls"), BRICK_BLOCKS = of("c:brick_blocks"), NORMAL_BRICK_BLOCKS = of("c:brick_blocks/normal"), @@ -230,6 +231,9 @@ public final class ItemTags { IRON_SWORDS = of("c:tools/swords/iron"), STONE_SWORDS = of("c:tools/swords/stone"), WOODEN_SWORDS = of("c:tools/swords/wooden"), + TORCHES = of("c:torches"), + NORMAL_TORCHES = of("c:torches/normal"), + REDSTONE_TORCHES = of("c:torches/redstone"), TRAPDOORS = of("c:trapdoors"), WOODEN_TRAPDOORS = of("c:trapdoors/wooden"), OAK_TRAPDOORS = of("c:trapdoors/wooden/oak"), diff --git a/station-vanilla-fix-v0/src/main/java/net/modificationstation/stationapi/impl/vanillafix/recipe/VanillaTagRecipeFixImpl.java b/station-vanilla-fix-v0/src/main/java/net/modificationstation/stationapi/impl/vanillafix/recipe/VanillaTagRecipeFixImpl.java index 83fe8bc25..3cdc17047 100644 --- a/station-vanilla-fix-v0/src/main/java/net/modificationstation/stationapi/impl/vanillafix/recipe/VanillaTagRecipeFixImpl.java +++ b/station-vanilla-fix-v0/src/main/java/net/modificationstation/stationapi/impl/vanillafix/recipe/VanillaTagRecipeFixImpl.java @@ -12,30 +12,50 @@ public class VanillaTagRecipeFixImpl { private static final Supplier>> TAGIFICATION_MAP = Suppliers.memoize(() -> { val builder = ImmutableMap.>builder(); - builder.put(Block.PLANKS.asItem(), ItemTags.PLANKS); + builder.put(Block.STONE.asItem(), ItemTags.STONES); builder.put(Block.COBBLESTONE.asItem(), ItemTags.NORMAL_COBBLESTONES); + builder.put(Block.PLANKS.asItem(), ItemTags.PLANKS); builder.put(Block.SAND.asItem(), ItemTags.NORMAL_SANDS); - builder.put(Block.CHEST.asItem(), ItemTags.WOODEN_CHESTS); - builder.put(Block.WOOL.asItem(), ItemTags.WOOLS); + builder.put(Block.GOLD_ORE.asItem(), ItemTags.GOLD_ORES); + builder.put(Block.IRON_ORE.asItem(), ItemTags.IRON_ORES); + builder.put(Block.LOG.asItem(), ItemTags.LOGS); + builder.put(Block.LAPIS_BLOCK.asItem(), ItemTags.LAPIS_STORAGE_BLOCKS); + builder.put(Block.SANDSTONE.asItem(), ItemTags.NORMAL_SANDSTONE_BLOCKS); + // TODO: Color-based meta + builder.put(Block.WOOL.asItem(), ItemTags.WOOLS); + builder.put(Block.BROWN_MUSHROOM.asItem(), ItemTags.BROWN_MUSHROOMS); + builder.put(Block.RED_MUSHROOM.asItem(), ItemTags.RED_MUSHROOMS); + builder.put(Block.GOLD_BLOCK.asItem(), ItemTags.GOLD_STORAGE_BLOCKS); + builder.put(Block.IRON_BLOCK.asItem(), ItemTags.IRON_STORAGE_BLOCKS); + builder.put(Block.TORCH.asItem(), ItemTags.NORMAL_TORCHES); + builder.put(Block.DIAMOND_ORE.asItem(), ItemTags.DIAMOND_ORES); + builder.put(Block.DIAMOND_BLOCK.asItem(), ItemTags.DIAMOND_STORAGE_BLOCKS); + builder.put(Block.STONE_PRESSURE_PLATE.asItem(), ItemTags.STONE_PRESSURE_PLATES); + builder.put(Block.LIT_REDSTONE_TORCH.asItem(), ItemTags.REDSTONE_TORCHES); + builder.put(Block.CACTUS.asItem(), ItemTags.CACTUS_CROPS); + builder.put(Block.PUMPKIN.asItem(), ItemTags.NORMAL_PUMPKINS); + builder.put(Item.BOW, ItemTags.BOWS); + builder.put(Item.COAL, ItemTags.COALS); + builder.put(Item.DIAMOND, ItemTags.DIAMOND_GEMS); builder.put(Item.IRON_INGOT, ItemTags.IRON_INGOTS); builder.put(Item.GOLD_INGOT, ItemTags.GOLD_INGOTS); - builder.put(Item.GLOWSTONE_DUST, ItemTags.GLOWSTONE_DUSTS); - builder.put(Item.REDSTONE, ItemTags.REDSTONE_DUSTS); - builder.put(Item.DIAMOND, ItemTags.DIAMOND_GEMS); - builder.put(Block.GOLD_BLOCK.asItem(), ItemTags.GOLD_STORAGE_BLOCKS); - builder.put(Item.BRICK, ItemTags.NORMAL_BRICKS); + builder.put(Item.STICK, ItemTags.WOODEN_STICKS); + builder.put(Item.BOWL, ItemTags.WOODEN_BOWLS); builder.put(Item.STRING, ItemTags.STRINGS); + builder.put(Item.FEATHER, ItemTags.FEATHERS); builder.put(Item.GUNPOWDER, ItemTags.GUNPOWDERS); + builder.put(Item.WHEAT, ItemTags.WHEAT_CROPS); + builder.put(Item.REDSTONE, ItemTags.REDSTONE_DUSTS); builder.put(Item.LEATHER, ItemTags.LEATHERS); - builder.put(Item.FEATHER, ItemTags.FEATHERS); + builder.put(Item.MILK_BUCKET, ItemTags.MILK_BUCKETS); + builder.put(Item.BRICK, ItemTags.NORMAL_BRICKS); + builder.put(Item.SUGAR_CANE, ItemTags.SUGAR_CANE_CROPS); builder.put(Item.SLIMEBALL, ItemTags.SLIME_BALLS); - builder.put(Item.BONE, ItemTags.BONES); builder.put(Item.EGG, ItemTags.EGGS); - builder.put(Item.WHEAT, ItemTags.WHEAT_CROPS); - builder.put(Item.BOW, ItemTags.BOWS); - builder.put(Item.STICK, ItemTags.WOODEN_STICKS); - builder.put(Block.RED_MUSHROOM.asItem(), ItemTags.RED_MUSHROOMS); - builder.put(Block.BROWN_MUSHROOM.asItem(), ItemTags.BROWN_MUSHROOMS); + builder.put(Item.GLOWSTONE_DUST, ItemTags.GLOWSTONE_DUSTS); + // TODO: Color based dye tag + builder.put(Item.BONE, ItemTags.BONES); + return builder.build(); }); diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches.json new file mode 100644 index 000000000..1fe9331c8 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches.json @@ -0,0 +1,12 @@ +{ + "values": [ + { + "id": "#c:torches/normal", + "required": false + }, + { + "id": "#c:torches/redstone", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/normal.json new file mode 100644 index 000000000..3475e9e2f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:torch" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/redstone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/redstone.json new file mode 100644 index 000000000..015673e75 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/torches/redstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:redstone_torch_lit" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches.json new file mode 100644 index 000000000..1fe9331c8 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches.json @@ -0,0 +1,12 @@ +{ + "values": [ + { + "id": "#c:torches/normal", + "required": false + }, + { + "id": "#c:torches/redstone", + "required": false + } + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/normal.json new file mode 100644 index 000000000..3475e9e2f --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:torch" + ] +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/redstone.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/redstone.json new file mode 100644 index 000000000..015673e75 --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/items/torches/redstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:redstone_torch_lit" + ] +} \ No newline at end of file From 1bbb47d2171bb36af431c13db1e36e755b6b845b Mon Sep 17 00:00:00 2001 From: mine_diver Date: Sat, 5 Sep 2026 22:05:35 +0500 Subject: [PATCH 03/10] Fix test tags --- .../resources/data/c/stationapi/tags/blocks/pumpkins.json | 5 +++++ .../data/c/stationapi/tags/blocks/pumpkins/normal.json | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 src/test/resources/data/c/stationapi/tags/blocks/pumpkins.json create mode 100644 src/test/resources/data/c/stationapi/tags/blocks/pumpkins/normal.json diff --git a/src/test/resources/data/c/stationapi/tags/blocks/pumpkins.json b/src/test/resources/data/c/stationapi/tags/blocks/pumpkins.json new file mode 100644 index 000000000..383be352d --- /dev/null +++ b/src/test/resources/data/c/stationapi/tags/blocks/pumpkins.json @@ -0,0 +1,5 @@ +{ + "remove": [ + "#c:crops/pumpkin" + ] +} \ No newline at end of file diff --git a/src/test/resources/data/c/stationapi/tags/blocks/pumpkins/normal.json b/src/test/resources/data/c/stationapi/tags/blocks/pumpkins/normal.json new file mode 100644 index 000000000..383be352d --- /dev/null +++ b/src/test/resources/data/c/stationapi/tags/blocks/pumpkins/normal.json @@ -0,0 +1,5 @@ +{ + "remove": [ + "#c:crops/pumpkin" + ] +} \ No newline at end of file From 6d56c7ac154b124e620d73149b156c187c3e88ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:42:33 +0200 Subject: [PATCH 04/10] CustomFarmlandBlock --- .../sltest/block/VariationBlock.java | 9 ++- .../c/stationapi/tags/blocks/farmlands.json | 5 ++ .../api/block/CustomFarmlandBlock.java | 7 +++ .../api/registry/tag/BlockTags.java | 2 + .../mixin/block/CropBlockMixin.java | 63 +++++++++++++++++++ .../mixin/block/FarmlandBlockMixin.java | 15 +++++ .../mixin/block/PlantBlockMixin.java | 23 +++++++ .../resources/station-blocks-v0.mixins.json | 3 + .../stationapi/mixin/item/SeedsItemMixin.java | 25 ++++++++ .../resources/station-items-v0.mixins.json | 1 + .../c/stationapi/tags/blocks/farmlands.json | 4 ++ .../tags/blocks/farmlands/normal.json | 5 ++ 12 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/data/c/stationapi/tags/blocks/farmlands.json create mode 100644 station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/block/CustomFarmlandBlock.java create mode 100644 station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java create mode 100644 station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java create mode 100644 station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java create mode 100644 station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands.json create mode 100644 station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands/normal.json diff --git a/src/test/java/net/modificationstation/sltest/block/VariationBlock.java b/src/test/java/net/modificationstation/sltest/block/VariationBlock.java index e10a18a24..cabbf09c5 100644 --- a/src/test/java/net/modificationstation/sltest/block/VariationBlock.java +++ b/src/test/java/net/modificationstation/sltest/block/VariationBlock.java @@ -6,6 +6,7 @@ import net.minecraft.world.World; import net.modificationstation.sltest.item.ItemListener; import net.modificationstation.stationapi.api.block.BlockState; +import net.modificationstation.stationapi.api.block.CustomFarmlandBlock; import net.modificationstation.stationapi.api.util.Identifier; import net.modificationstation.stationapi.api.state.StateManager; import net.modificationstation.stationapi.api.state.property.EnumProperty; @@ -14,8 +15,7 @@ import java.util.List; -public class VariationBlock extends TemplateBlock { - +public class VariationBlock extends TemplateBlock implements CustomFarmlandBlock { public enum Variant implements StringIdentifiable { IDLE, PASSIVE, @@ -46,4 +46,9 @@ public List getDropList(World level, int x, int y, int z, BlockState case ACTIVE -> ItemListener.variationBlockActive; })); } + + @Override + public boolean isWet(World world, int x, int y, int z) { + return true; + } } diff --git a/src/test/resources/data/c/stationapi/tags/blocks/farmlands.json b/src/test/resources/data/c/stationapi/tags/blocks/farmlands.json new file mode 100644 index 000000000..1cd37b29f --- /dev/null +++ b/src/test/resources/data/c/stationapi/tags/blocks/farmlands.json @@ -0,0 +1,5 @@ +{ + "values": [ + "sltest:variation_block" + ] +} \ No newline at end of file diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/block/CustomFarmlandBlock.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/block/CustomFarmlandBlock.java new file mode 100644 index 000000000..94b5b1e3a --- /dev/null +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/block/CustomFarmlandBlock.java @@ -0,0 +1,7 @@ +package net.modificationstation.stationapi.api.block; + +import net.minecraft.world.World; + +public interface CustomFarmlandBlock { + boolean isWet(World world, int x, int y, int z); +} diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/BlockTags.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/BlockTags.java index 0976ff5b0..f8641c1f4 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/BlockTags.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/api/registry/tag/BlockTags.java @@ -94,6 +94,8 @@ public final class BlockTags { WOODEN_TRAPDOORS = of("c:trapdoors/wooden"), OAK_TRAPDOORS = of("c:trapdoors/wooden/oak"), WOOLS = of("c:wools"), + FARMLANDS = of("c:farmlands"), + NORMAL_FARMLANDS = of("c:farmlands/normal"), INFINIBURN = of("infiniburn"), MINEABLE_AXE = of("mineable/axe"), diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java new file mode 100644 index 000000000..4b21f672b --- /dev/null +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java @@ -0,0 +1,63 @@ +package net.modificationstation.stationapi.mixin.block; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import net.minecraft.block.Block; +import net.minecraft.block.CropBlock; +import net.minecraft.block.PlantBlock; +import net.minecraft.world.World; +import net.modificationstation.stationapi.api.block.BlockState; +import net.modificationstation.stationapi.api.block.CustomFarmlandBlock; +import net.modificationstation.stationapi.api.block.context.BlockTagContext; +import net.modificationstation.stationapi.api.registry.tag.BlockTags; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@Mixin(CropBlock.class) +public class CropBlockMixin extends PlantBlockMixin { + @Override + public boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + BlockState state = world.getBlockState(x,y - 1, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { + return true; + } + + return original.call(plantBlock, id); + } + + @Override + public boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + BlockState state = world.getBlockState(x,y - 1, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { + return true; + } + + return original.call(plantBlock, id); + } + + + @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I", ordinal = 8)) + public int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation original) { + int result = original.call(world, x, y, z); + + if (result != Block.FARMLAND.id) { + BlockState state = world.getBlockState(x,y, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y, z))) { + return Block.FARMLAND.id; + } + } + + return result; + } + + @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockMeta(III)I")) + public int getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { + Block block = Block.BLOCKS[world.getBlockId(x,y,z)]; + + if (block != Block.FARMLAND && block instanceof CustomFarmlandBlock customFarmlandBlock) { + return customFarmlandBlock.isWet(world, x, y, z) ? 7 : 0; + } + + return original.call(world, x, y, z); + } +} diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java new file mode 100644 index 000000000..98d5ffc20 --- /dev/null +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java @@ -0,0 +1,15 @@ +package net.modificationstation.stationapi.mixin.block; + +import net.minecraft.block.FarmlandBlock; +import net.minecraft.world.World; +import net.modificationstation.stationapi.api.block.CustomFarmlandBlock; +import org.spongepowered.asm.mixin.Mixin; + +@Mixin(FarmlandBlock.class) +public class FarmlandBlockMixin implements CustomFarmlandBlock { + + @Override + public boolean isWet(World world, int x, int y, int z) { + return world.getBlockMeta(x, y, z) > 0; + } +} diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java new file mode 100644 index 000000000..6c93d694d --- /dev/null +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java @@ -0,0 +1,23 @@ +package net.modificationstation.stationapi.mixin.block; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.llamalad7.mixinextras.sugar.Local; +import net.minecraft.block.PlantBlock; +import net.minecraft.world.World; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@SuppressWarnings("LocalMayUseName") +@Mixin(PlantBlock.class) +public class PlantBlockMixin { + @WrapOperation(method = "canPlaceAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) + public boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + return original.call(plantBlock, id); + } + + @WrapOperation(method = "canGrow", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) + public boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + return original.call(plantBlock, id); + } +} diff --git a/station-blocks-v0/src/main/resources/station-blocks-v0.mixins.json b/station-blocks-v0/src/main/resources/station-blocks-v0.mixins.json index 2951760da..d11a9f33d 100644 --- a/station-blocks-v0/src/main/resources/station-blocks-v0.mixins.json +++ b/station-blocks-v0/src/main/resources/station-blocks-v0.mixins.json @@ -6,8 +6,11 @@ "mixins": [ "BlockItemMixin", "BlockMixin", + "CropBlockMixin", + "FarmlandBlockMixin", "FireBlockMixin", "LeavesBlockMixin", + "PlantBlockMixin", "SecondaryBlockItemMixin" ], "injectors": { diff --git a/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java new file mode 100644 index 000000000..b7890a309 --- /dev/null +++ b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java @@ -0,0 +1,25 @@ +package net.modificationstation.stationapi.mixin.item; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import net.minecraft.block.Block; +import net.minecraft.item.SeedsItem; +import net.minecraft.world.World; +import net.modificationstation.stationapi.api.block.BlockState; +import net.modificationstation.stationapi.api.block.context.BlockTagContext; +import net.modificationstation.stationapi.api.registry.tag.BlockTags; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +@Mixin(SeedsItem.class) +public class SeedsItemMixin { + @WrapOperation(method = "useOnBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I")) + public int allowPlacingOnFarmlandTag(World world, int x, int y, int z, Operation original) { + BlockState state = world.getBlockState(x,y, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y, z))) { + return Block.FARMLAND.id; + } + + return original.call(world, x, y, z); + } +} diff --git a/station-items-v0/src/main/resources/station-items-v0.mixins.json b/station-items-v0/src/main/resources/station-items-v0.mixins.json index a014b3d47..c8380d955 100644 --- a/station-items-v0/src/main/resources/station-items-v0.mixins.json +++ b/station-items-v0/src/main/resources/station-items-v0.mixins.json @@ -16,6 +16,7 @@ "PlayerInventoryMixin", "SaplingBlockMixin", "ScreenHandlerMixin", + "SeedsItemMixin", "StatsMixin", "dispenser.block.DispenserBlockMixin", "dispenser.block.entity.DispenserBlockEntityMixin" diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands.json new file mode 100644 index 000000000..0a74029fc --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands.json @@ -0,0 +1,4 @@ +{ + "id": "#c:farmlands/normal", + "required": false +} \ No newline at end of file diff --git a/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands/normal.json b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands/normal.json new file mode 100644 index 000000000..ea3a8d61b --- /dev/null +++ b/station-vanilla-fix-v0/src/main/resources/data/c/stationapi/tags/blocks/farmlands/normal.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:farmland" + ] +} \ No newline at end of file From 5cd2826bf8895db7af73f7f270ed7c765a53748d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:47:54 +0200 Subject: [PATCH 05/10] How do access levels work mine --- .../stationapi/mixin/block/CropBlockMixin.java | 10 +++++----- .../stationapi/mixin/block/FarmlandBlockMixin.java | 2 +- .../stationapi/mixin/block/PlantBlockMixin.java | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java index 4b21f672b..b44fa7c08 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java @@ -14,9 +14,9 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(CropBlock.class) -public class CropBlockMixin extends PlantBlockMixin { +class CropBlockMixin extends PlantBlockMixin { @Override - public boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { BlockState state = world.getBlockState(x,y - 1, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { return true; @@ -26,7 +26,7 @@ public boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Oper } @Override - public boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { BlockState state = world.getBlockState(x,y - 1, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { return true; @@ -37,7 +37,7 @@ public boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operati @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I", ordinal = 8)) - public int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation original) { + private int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation original) { int result = original.call(world, x, y, z); if (result != Block.FARMLAND.id) { @@ -51,7 +51,7 @@ public int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation } @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockMeta(III)I")) - public int getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { + private int getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { Block block = Block.BLOCKS[world.getBlockId(x,y,z)]; if (block != Block.FARMLAND && block instanceof CustomFarmlandBlock customFarmlandBlock) { diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java index 98d5ffc20..a93c52180 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java @@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Mixin; @Mixin(FarmlandBlock.class) -public class FarmlandBlockMixin implements CustomFarmlandBlock { +class FarmlandBlockMixin implements CustomFarmlandBlock { @Override public boolean isWet(World world, int x, int y, int z) { diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java index 6c93d694d..240abe144 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java @@ -10,14 +10,14 @@ @SuppressWarnings("LocalMayUseName") @Mixin(PlantBlock.class) -public class PlantBlockMixin { +class PlantBlockMixin { @WrapOperation(method = "canPlaceAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) - public boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { return original.call(plantBlock, id); } @WrapOperation(method = "canGrow", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) - public boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { return original.call(plantBlock, id); } } From 457785b0e0146625183620a5c4bae9f42ac5d086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:50:13 +0200 Subject: [PATCH 06/10] SPACE --- .../mixin/block/CropBlockMixin.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java index b44fa7c08..b4a41d2f5 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java @@ -17,43 +17,43 @@ class CropBlockMixin extends PlantBlockMixin { @Override protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { - BlockState state = world.getBlockState(x,y - 1, z); - if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { + BlockState state = world.getBlockState(x, y - 1, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y - 1, z))) { return true; } - + return original.call(plantBlock, id); } @Override protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { - BlockState state = world.getBlockState(x,y - 1, z); - if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y -1, z))) { + BlockState state = world.getBlockState(x, y - 1, z); + if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y - 1, z))) { return true; } return original.call(plantBlock, id); } - - + + @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I", ordinal = 8)) private int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation original) { int result = original.call(world, x, y, z); - + if (result != Block.FARMLAND.id) { - BlockState state = world.getBlockState(x,y, z); + BlockState state = world.getBlockState(x, y, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y, z))) { return Block.FARMLAND.id; } } - + return result; } - + @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockMeta(III)I")) private int getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { - Block block = Block.BLOCKS[world.getBlockId(x,y,z)]; - + Block block = Block.BLOCKS[world.getBlockId(x, y, z)]; + if (block != Block.FARMLAND && block instanceof CustomFarmlandBlock customFarmlandBlock) { return customFarmlandBlock.isWet(world, x, y, z) ? 7 : 0; } From a89bcbbbf47cad1b2b0dab560ed8e4505bbc0d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:51:50 +0200 Subject: [PATCH 07/10] ok --- .../stationapi/mixin/block/CropBlockMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java index b4a41d2f5..2cf8992f3 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java @@ -37,7 +37,7 @@ protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Oper @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I", ordinal = 8)) - private int getCustomFarmlandMoisture(World world, int x, int y, int z, Operation original) { + private int getCustomFarmlandMoisturable(World world, int x, int y, int z, Operation original) { int result = original.call(world, x, y, z); if (result != Block.FARMLAND.id) { From 9c01ce188cab8a804f184c29e412764a85eb35c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:53:19 +0200 Subject: [PATCH 08/10] save 1 byte of disk space --- .../stationapi/mixin/block/FarmlandBlockMixin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java index a93c52180..53debacff 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/FarmlandBlockMixin.java @@ -7,7 +7,6 @@ @Mixin(FarmlandBlock.class) class FarmlandBlockMixin implements CustomFarmlandBlock { - @Override public boolean isWet(World world, int x, int y, int z) { return world.getBlockMeta(x, y, z) > 0; From d3ff9f70811a61dcc4e7440ef6393be585eec080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:55:45 +0200 Subject: [PATCH 09/10] =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD?= =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD?= =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stationapi/mixin/item/SeedsItemMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java index b7890a309..466c849dc 100644 --- a/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java +++ b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.At; @Mixin(SeedsItem.class) -public class SeedsItemMixin { +class SeedsItemMixin { @WrapOperation(method = "useOnBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I")) public int allowPlacingOnFarmlandTag(World world, int x, int y, int z, Operation original) { BlockState state = world.getBlockState(x,y, z); From 1ccffd607ec81e93041db644ff848ce6e384d9e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Fild=C3=A1n?= Date: Sat, 5 Sep 2026 20:55:45 +0200 Subject: [PATCH 10/10] =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD?= =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD=F0=9F=98=AD?= =?UTF-8?q?=F0=9F=98=AD=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stationapi/mixin/block/CropBlockMixin.java | 8 ++++---- .../stationapi/mixin/block/PlantBlockMixin.java | 4 ++-- .../stationapi/mixin/item/SeedsItemMixin.java | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java index 2cf8992f3..cdc2e2fa4 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/CropBlockMixin.java @@ -16,7 +16,7 @@ @Mixin(CropBlock.class) class CropBlockMixin extends PlantBlockMixin { @Override - protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + protected boolean stationapi_injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { BlockState state = world.getBlockState(x, y - 1, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y - 1, z))) { return true; @@ -26,7 +26,7 @@ protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, O } @Override - protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { + protected boolean stationapi_injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, World world, int x, int y, int z) { BlockState state = world.getBlockState(x, y - 1, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y - 1, z))) { return true; @@ -37,7 +37,7 @@ protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Oper @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I", ordinal = 8)) - private int getCustomFarmlandMoisturable(World world, int x, int y, int z, Operation original) { + private int stationapi_getCustomFarmlandMoisturable(World world, int x, int y, int z, Operation original) { int result = original.call(world, x, y, z); if (result != Block.FARMLAND.id) { @@ -51,7 +51,7 @@ private int getCustomFarmlandMoisturable(World world, int x, int y, int z, Opera } @WrapOperation(method = "getAvailableMoisture", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockMeta(III)I")) - private int getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { + private int stationapi_getCustomFarmlandWet(World world, int x, int y, int z, Operation original) { Block block = Block.BLOCKS[world.getBlockId(x, y, z)]; if (block != Block.FARMLAND && block instanceof CustomFarmlandBlock customFarmlandBlock) { diff --git a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java index 240abe144..9583abe6b 100644 --- a/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java +++ b/station-blocks-v0/src/main/java/net/modificationstation/stationapi/mixin/block/PlantBlockMixin.java @@ -12,12 +12,12 @@ @Mixin(PlantBlock.class) class PlantBlockMixin { @WrapOperation(method = "canPlaceAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) - protected boolean injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + protected boolean stationapi_injectCanPlantOnTopCanPlaceAt(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { return original.call(plantBlock, id); } @WrapOperation(method = "canGrow", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/PlantBlock;canPlantOnTop(I)Z")) - protected boolean injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { + protected boolean stationapi_injectCanPlantOnTopCanGrow(PlantBlock plantBlock, int id, Operation original, @Local(argsOnly = true, ordinal = 0) World world, @Local(argsOnly = true, ordinal = 0) int x, @Local(argsOnly = true, ordinal = 1) int y, @Local(argsOnly = true, ordinal = 2) int z) { return original.call(plantBlock, id); } } diff --git a/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java index 466c849dc..2658043e6 100644 --- a/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java +++ b/station-items-v0/src/main/java/net/modificationstation/stationapi/mixin/item/SeedsItemMixin.java @@ -14,7 +14,7 @@ @Mixin(SeedsItem.class) class SeedsItemMixin { @WrapOperation(method = "useOnBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getBlockId(III)I")) - public int allowPlacingOnFarmlandTag(World world, int x, int y, int z, Operation original) { + private int stationapi_allowPlacingOnFarmlandTag(World world, int x, int y, int z, Operation original) { BlockState state = world.getBlockState(x,y, z); if (state.isIn(BlockTags.FARMLANDS, BlockTagContext.of(world, x, y, z))) { return Block.FARMLAND.id;