+ baby_turtle

+ block tags for toy blocks
This commit is contained in:
Glitchlabs
2026-08-03 20:26:27 +02:00
parent 46c8ce498c
commit 97188d6e1e
21 changed files with 298 additions and 12 deletions
@@ -1,12 +1,12 @@
// 1.21.1 2026-08-02T22:24:30.432351142 Tags for minecraft:block mod id ornamentum
// 1.21.1 2026-08-03T20:25:42.959672416 Tags for minecraft:block mod id ornamentum
585e131e594c65c425b3e81803fae3fdd63e2f03 data/c/tags/block/concretes.json
8a593276bf0f1a0b0c1ed9cc71973bca6b52a1e0 data/c/tags/block/dyed.json
354a0712e83c8365d9054ffc2a122cf7dd69ad53 data/c/tags/block/dyed.json
8281ec180c87b02f17e4be444a350685b52f1e31 data/c/tags/block/dyed/black.json
c5af22efdd6bc4e49db48d9f1c6aa9a6228f3943 data/c/tags/block/dyed/blue.json
23316dbc715ef307fc7403c96e7106aaeb37c78f data/c/tags/block/dyed/brown.json
eb499fefa72db8d1e3e453d094537ad533530912 data/c/tags/block/dyed/cyan.json
753a3a458033836ca4352682013ed3e76dcd442b data/c/tags/block/dyed/gray.json
0ceba1c7359802b606a615fd0d90e8aa1da52f2e data/c/tags/block/dyed/green.json
993a003140ea021b0df9453f6de2602148651081 data/c/tags/block/dyed/green.json
073b2d70e8cee5518bb76c787d57d00c86de1b2e data/c/tags/block/dyed/light_blue.json
dd5777e3a92ad6912d7705917ad2458c38adc560 data/c/tags/block/dyed/light_gray.json
604672e8575c9e1adb08a18651f2fdb4e8893679 data/c/tags/block/dyed/lime.json
@@ -23,7 +23,7 @@ b1e1e3c5f1ef9108a9411874a67bb3d9fb46f83a data/c/tags/block/obsidians.json
b1e1e3c5f1ef9108a9411874a67bb3d9fb46f83a data/c/tags/block/obsidians/normal.json
3681d2d9c40c84bbf5e4af460e9514b3c9cca3bc data/minecraft/tags/block/ancient_city_replaceable.json
00813da53c71d14e1be0b3750d3082ee8584eddc data/minecraft/tags/block/crystal_sound_blocks.json
7790f70a440a62743072fe45560bc1504cffca43 data/minecraft/tags/block/dampens_vibrations.json
8b771a730def8958b41eb9c4e3b6628365c5d429 data/minecraft/tags/block/dampens_vibrations.json
b1e1e3c5f1ef9108a9411874a67bb3d9fb46f83a data/minecraft/tags/block/dragon_immune.json
c79b0cf1b19fd14258867e1f8d2c87cf6481ae11 data/minecraft/tags/block/impermeable.json
ae7d2e386f2eb4df7cd8f8f3e0a4040cae7a13bf data/minecraft/tags/block/incorrect_for_gold_tool.json
@@ -35,13 +35,14 @@ ae7d2e386f2eb4df7cd8f8f3e0a4040cae7a13bf data/minecraft/tags/block/incorrect_for
ec379d82d3fd4ddd3a9f6664ddb9aaaf0290834d data/minecraft/tags/block/needs_diamond_tool.json
bad82b905081d37caba6026145cd8611bd369d5c data/minecraft/tags/block/needs_iron_tool.json
f6c07d4b70f139839ab8227ef4de8cd2c0c617f9 data/minecraft/tags/block/needs_stone_tool.json
7790f70a440a62743072fe45560bc1504cffca43 data/minecraft/tags/block/occludes_vibration_signals.json
8b771a730def8958b41eb9c4e3b6628365c5d429 data/minecraft/tags/block/occludes_vibration_signals.json
aad2571fcde7dc73bb943c24237eb17699067cfb data/minecraft/tags/block/sculk_replaceable.json
6014324ec06e8974ac7b92e7c0724c7710a6331c data/minecraft/tags/block/sculk_replaceable_world_gen.json
6b90f1b7a2445e2fcd7a94e1868c519346f538b0 data/minecraft/tags/block/slabs.json
b6c17e9f0dca3e23e0f1a2216fed15c517307c9d data/minecraft/tags/block/stairs.json
00813da53c71d14e1be0b3750d3082ee8584eddc data/minecraft/tags/block/vibration_resonators.json
7790f70a440a62743072fe45560bc1504cffca43 data/minecraft/tags/block/wool.json
8b771a730def8958b41eb9c4e3b6628365c5d429 data/minecraft/tags/block/wool.json
e4ae82dd0cb196f34f9128191dac796d24da8bef data/ornamentum/tags/block/countries_flags.json
aab679c9c8b8bd6ccf7f2decbcb9e66e5e6282fd data/ornamentum/tags/block/flags.json
6e6f2af444861c953f968ba3a6e5633feed02e44 data/ornamentum/tags/block/pride_flags.json
4a859aeca21f590aa01eb89e9c8385e6615571d8 data/ornamentum/tags/block/toys.json
@@ -1,4 +1,4 @@
// 1.21.1 2026-08-02T22:15:44.398016331 Loot Tables
// 1.21.1 2026-08-03T20:21:04.131305356 Loot Tables
b840d3c223a8269ea4ead11f9d1a337f16c87728 data/ornamentum/loot_table/blocks/agender_flag.json
c5c3cbbff0b4af321ae05896dbd68e551f598c86 data/ornamentum/loot_table/blocks/amethyst_grate.json
f44341b5b821a1ea423b1f9e81a020e324a3952e data/ornamentum/loot_table/blocks/ametist_bricks.json
@@ -8,6 +8,7 @@ f44341b5b821a1ea423b1f9e81a020e324a3952e data/ornamentum/loot_table/blocks/ameti
0f37b2322486c931eef4c89da623637c12c946ca data/ornamentum/loot_table/blocks/aromantic_flag.json
10c87749d24fe722d89889c39eedbb7f39b16c5f data/ornamentum/loot_table/blocks/asexual_flag.json
c858fb2e2f839d27d293eb54e3d5070aef02c84b data/ornamentum/loot_table/blocks/austria_flag.json
72828234b7bcdca8d1dbdac53301ecbaa64d5200 data/ornamentum/loot_table/blocks/baby_turtle.json
0c55ca3f1a58a887196b61cefba30f3df42bb8fb data/ornamentum/loot_table/blocks/bisexual_flag.json
11e191f2b17890ecc31a439791729c08ed2079c3 data/ornamentum/loot_table/blocks/black_bricks.json
7d3cf3a994d75366db8210dfcdda6bf347f64e93 data/ornamentum/loot_table/blocks/black_bricks_slab.json
@@ -1,2 +1,2 @@
// 1.21.1 2026-08-02T22:15:44.404577242 Languages: en_us for mod: ornamentum
88428a6464b98f96f1bab11aef531d0a3e1c00fe assets/ornamentum/lang/en_us.json
// 1.21.1 2026-08-03T20:23:24.688735561 Languages: en_us for mod: ornamentum
e90b34cd760a6870e25029f79146934547ef0e6f assets/ornamentum/lang/en_us.json
@@ -8,6 +8,7 @@
"block.ornamentum.aromantic_flag": "Aromantic Flag",
"block.ornamentum.asexual_flag": "Asexual Flag",
"block.ornamentum.austria_flag": "Austria Flag",
"block.ornamentum.baby_turtle": "Baby Turtle",
"block.ornamentum.bisexual_flag": "Bisexual Flag",
"block.ornamentum.black_bricks": "Black Bricks",
"block.ornamentum.black_bricks_slab": "Black Bricks Slab",
@@ -1,6 +1,7 @@
{
"values": [
"ornamentum:duck",
"ornamentum:baby_turtle",
"ornamentum:white_flag",
"ornamentum:orange_flag",
"ornamentum:magenta_flag",
@@ -9,6 +9,7 @@
"ornamentum:green_pattern_block",
"ornamentum:green_pattern_block_stairs",
"ornamentum:green_pattern_block_slab",
"ornamentum:green_flag"
"ornamentum:green_flag",
"ornamentum:baby_turtle"
]
}
@@ -1,6 +1,7 @@
{
"values": [
"ornamentum:duck",
"ornamentum:baby_turtle",
"ornamentum:white_wool_slab",
"ornamentum:orange_wool_slab",
"ornamentum:magenta_wool_slab",
@@ -1,6 +1,7 @@
{
"values": [
"ornamentum:duck",
"ornamentum:baby_turtle",
"ornamentum:white_wool_slab",
"ornamentum:orange_wool_slab",
"ornamentum:magenta_wool_slab",
@@ -1,6 +1,7 @@
{
"values": [
"ornamentum:duck",
"ornamentum:baby_turtle",
"ornamentum:white_wool_slab",
"ornamentum:orange_wool_slab",
"ornamentum:magenta_wool_slab",
@@ -0,0 +1,21 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "ornamentum:baby_turtle"
}
],
"rolls": 1.0
}
],
"random_sequence": "ornamentum:blocks/baby_turtle"
}
@@ -0,0 +1,6 @@
{
"values": [
"ornamentum:duck",
"ornamentum:baby_turtle"
]
}
@@ -20,6 +20,9 @@ public class ModBlocks {
public static final DeferredBlock<Block> DUCK = registerBlock("duck",
() -> new duckBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.YELLOW_CARPET).noOcclusion()));
public static final DeferredBlock<Block> BABY_TURTLE = registerBlock("baby_turtle",
() -> new babyTurtleBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GREEN_CARPET).noOcclusion()));
public static final DeferredBlock<Block> IRON_SHELF = registerBlock("iron_shelf",
() -> new ShelfBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK).noOcclusion()));
@@ -0,0 +1,61 @@
package ovh.glitchlabs.ornamentum.blocks.custom;
import com.google.common.collect.ImmutableMap;
import com.mojang.serialization.MapCodec;
import net.minecraft.core.BlockPos;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.Nullable;
public class babyTurtleBlock extends HorizontalDirectionalBlock {
public static final MapCodec<babyTurtleBlock> CODEC = simpleCodec(babyTurtleBlock::new);
private final ImmutableMap<BlockState, VoxelShape> shapes = this.makeShapes();
public babyTurtleBlock(Properties properties) {
super(properties);
}
private ImmutableMap<BlockState, VoxelShape> makeShapes() {
return this.getShapeForEachState(state -> {
return switch (state.getValue(FACING)) {
case NORTH -> Shapes.or(box(6.46339, 0, 7.13839, 9.46339, 2, 10.13839), box(6.96339, 2, 9.88839, 8.96339, 2.5, 10.38839), box(6.96339, 0.5, 10.13839, 8.96339, 2, 10.63839), box(9.46339, 1, 7.88839, 9.96339, 2, 9.88839),
box(5.96339, 1, 7.88839, 6.46339, 2, 9.88839), box(6.96339, 1.5, 5.63839, 8.96339, 3.5, 7.63839), box(7.46339, 1.75, 5.13839, 8.46339, 2.25, 6.13839));
case EAST -> Shapes.or(box(5.86161, 0, 6.46339, 8.86161, 2, 9.46339), box(5.61161, 2, 6.96339, 6.11161, 2.5, 8.96339), box(5.36161, 0.5, 6.96339, 5.86161, 2, 8.96339), box(6.11161, 1, 9.46339, 8.11161, 2, 9.96339),
box(6.11161, 1, 5.96339, 8.11161, 2, 6.46339), box(8.36161, 1.5, 6.96339, 10.36161, 3.5, 8.96339), box(9.86161, 1.75, 7.46339, 10.86161, 2.25, 8.46339));
case WEST -> Shapes.or(box(7.13839, 0, 6.53661, 10.13839, 2, 9.53661), box(9.88839, 2, 7.03661, 10.38839, 2.5, 9.03661), box(10.13839, 0.5, 7.03661, 10.63839, 2, 9.03661), box(7.88839, 1, 6.03661, 9.88839, 2, 6.53661),
box(7.88839, 1, 9.53661, 9.88839, 2, 10.03661), box(5.63839, 1.5, 7.03661, 7.63839, 3.5, 9.03661), box(5.13839, 1.75, 7.53661, 6.13839, 2.25, 8.53661));
default -> Shapes.or(box(6.53661, 0, 5.86161, 9.53661, 2, 8.86161), box(7.03661, 2, 5.61161, 9.03661, 2.5, 6.11161), box(7.03661, 0.5, 5.36161, 9.03661, 2, 5.86161), box(6.03661, 1, 6.11161, 6.53661, 2, 8.11161),
box(9.53661, 1, 6.11161, 10.03661, 2, 8.11161), box(7.03661, 1.5, 8.36161, 9.03661, 3.5, 10.36161), box(7.53661, 1.75, 9.86161, 8.53661, 2.25, 10.86161));
};
});
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return shapes.get(state);
}
@Override
protected MapCodec<? extends HorizontalDirectionalBlock> codec() {
return CODEC;
}
@Nullable
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite());
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(FACING);
}
}
@@ -18,6 +18,7 @@ public class ModBlockLootTableProvider extends BlockLootSubProvider {
protected void generate() {
dropSelf(ModBlocks.DUCK.get());
dropSelf(ModBlocks.BABY_TURTLE.get());
dropSelf(ModBlocks.IRON_SHELF.get());
dropSelf(ModBlocks.OBSIDIAN_BRICKS.get());
@@ -588,6 +588,7 @@ public class ModBlockTagProvider extends BlockTagsProvider {
tag(BlockTags.DAMPENS_VIBRATIONS)
.add(ModBlocks.DUCK.get())
.add(ModBlocks.BABY_TURTLE.get())
.add(ModBlocks.WHITE_WOOL_SLAB.get())
.add(ModBlocks.ORANGE_WOOL_SLAB.get())
@@ -627,7 +628,7 @@ public class ModBlockTagProvider extends BlockTagsProvider {
tag(BlockTags.OCCLUDES_VIBRATION_SIGNALS)
.add(ModBlocks.DUCK.get())
.add(ModBlocks.BABY_TURTLE.get())
.add(ModBlocks.WHITE_WOOL_SLAB.get())
.add(ModBlocks.ORANGE_WOOL_SLAB.get())
.add(ModBlocks.MAGENTA_WOOL_SLAB.get())
@@ -665,6 +666,7 @@ public class ModBlockTagProvider extends BlockTagsProvider {
tag(BlockTags.WOOL)
.add(ModBlocks.DUCK.get())
.add(ModBlocks.BABY_TURTLE.get())
.add(ModBlocks.WHITE_WOOL_SLAB.get())
.add(ModBlocks.ORANGE_WOOL_SLAB.get())
@@ -703,6 +705,7 @@ public class ModBlockTagProvider extends BlockTagsProvider {
tag(Tags.Blocks.DYED)
.add(ModBlocks.DUCK.get())
.add(ModBlocks.BABY_TURTLE.get())
.add(ModBlocks.WHITE_FLAG.get())
.add(ModBlocks.ORANGE_FLAG.get())
@@ -1181,6 +1184,8 @@ public class ModBlockTagProvider extends BlockTagsProvider {
.add(ModBlocks.GREEN_PATTERN_BLOCK_SLAB.get())
.add(ModBlocks.GREEN_FLAG.get())
.add(ModBlocks.BABY_TURTLE.get())
;
tag(Tags.Blocks.DYED_RED)
@@ -1518,5 +1523,10 @@ public class ModBlockTagProvider extends BlockTagsProvider {
.add(ModBlocks.UNITED_STATES_FLAG.get())
;
tag(ModTags.Blocks.TOYS)
.add(ModBlocks.DUCK.get())
.add(ModBlocks.BABY_TURTLE.get())
;
}
}
@@ -343,6 +343,7 @@ public class ModLanguageProvider extends LanguageProvider {
add(ModBlocks.IRON_SHELF.get(), "Iron Shelf");
add(ModBlocks.DUCK.get(), "Duck");
add(ModBlocks.BABY_TURTLE.get(), "Baby Turtle");
add("creativetab.ornamentum.ornamentum", "Ornamentum");
@@ -23,9 +23,12 @@ public class ModCreativeModeTabs {
.title(Component.translatable("creativetab.ornamentum.ornamentum"))
.displayItems((itemDisplayParameters, output) -> {
output.accept(ModBlocks.DUCK);
output.accept(ModBlocks.IRON_SHELF);
//toys
output.accept(ModBlocks.DUCK);
output.accept(ModBlocks.BABY_TURTLE);
//flagen
output.accept(ModBlocks.WHITE_FLAG);
output.accept(ModBlocks.ORANGE_FLAG);
@@ -27,5 +27,11 @@ public class ModTags {
Registries.BLOCK,
ResourceLocation.fromNamespaceAndPath(Ornamentum.MODID, "countries_flags")
);
public static final TagKey<Block> TOYS =
TagKey.create(
Registries.BLOCK,
ResourceLocation.fromNamespaceAndPath(Ornamentum.MODID, "toys")
);
}
}
@@ -0,0 +1,16 @@
{
"variants": {
"facing=north": [
{ "model": "ornamentum:block/baby_turtle"}
],
"facing=south": [
{ "model": "ornamentum:block/baby_turtle", "y": 180}
],
"facing=east": [
{ "model": "ornamentum:block/baby_turtle", "y": 90}
],
"facing=west": [
{ "model": "ornamentum:block/baby_turtle", "y": 270}
]
}
}
@@ -0,0 +1,147 @@
{
"format_version": "1.21.11",
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"0": "ornamentum:block/turtle_baby",
"particle": "ornamentum:block/turtle_baby"
},
"elements": [
{
"name": "head",
"from": [6.5, 0.1, 4],
"to": [9.5, 3.1, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [3, 9, 6, 12], "texture": "#0"},
"east": {"uv": [0, 9, 3, 12], "texture": "#0"},
"south": {"uv": [9, 9, 12, 12], "texture": "#0"},
"west": {"uv": [6, 9, 9, 12], "texture": "#0"},
"up": {"uv": [6, 9, 3, 6], "texture": "#0"},
"down": {"uv": [9, 6, 6, 9], "texture": "#0"}
}
},
{
"name": "left_hind_leg",
"from": [4, 0.1, 10],
"to": [6, 0.1, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [0, 2, 2, 2], "texture": "#0"},
"east": {"uv": [-1, 2, 0, 2], "texture": "#0"},
"south": {"uv": [3, 2, 5, 2], "texture": "#0"},
"west": {"uv": [2, 2, 3, 2], "texture": "#0"},
"up": {"uv": [2, 2, 0, 1], "texture": "#0"},
"down": {"uv": [4, 1, 2, 2], "texture": "#0"}
}
},
{
"name": "right_hind_leg",
"from": [10, 0.1, 10],
"to": [12, 0.1, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [0, 1, 2, 1], "texture": "#0"},
"east": {"uv": [-1, 1, 0, 1], "texture": "#0"},
"south": {"uv": [3, 1, 5, 1], "texture": "#0"},
"west": {"uv": [2, 1, 3, 1], "texture": "#0"},
"up": {"uv": [2, 1, 0, 0], "texture": "#0"},
"down": {"uv": [4, 0, 2, 1], "texture": "#0"}
}
},
{
"name": "left_front_leg",
"from": [4, 0.1, 7],
"to": [6, 0.1, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [9, 8, 11, 8], "texture": "#0"},
"east": {"uv": [8, 8, 9, 8], "texture": "#0"},
"south": {"uv": [12, 8, 14, 8], "texture": "#0"},
"west": {"uv": [11, 8, 12, 8], "texture": "#0"},
"up": {"uv": [11, 8, 9, 7], "texture": "#0"},
"down": {"uv": [13, 7, 11, 8], "texture": "#0"}
}
},
{
"name": "right_front_leg",
"from": [10, 0.1, 7],
"to": [12, 0.1, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [9, 7, 11, 7], "texture": "#0"},
"east": {"uv": [8, 7, 9, 7], "texture": "#0"},
"south": {"uv": [12, 7, 14, 7], "texture": "#0"},
"west": {"uv": [11, 7, 12, 7], "texture": "#0"},
"up": {"uv": [11, 7, 9, 6], "texture": "#0"},
"down": {"uv": [13, 6, 11, 7], "texture": "#0"}
}
},
{
"name": "body",
"from": [6, 0.1, 7],
"to": [10, 2.1, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0.85, 8]},
"faces": {
"north": {"uv": [4, 4, 8, 6], "texture": "#0"},
"east": {"uv": [0, 4, 4, 6], "texture": "#0"},
"south": {"uv": [12, 4, 16, 6], "texture": "#0"},
"west": {"uv": [8, 4, 12, 6], "texture": "#0"},
"up": {"uv": [8, 4, 4, 0], "texture": "#0"},
"down": {"uv": [12, 0, 8, 4], "texture": "#0"}
}
}
],
"groups": [
{
"name": "baby_turtle",
"origin": [0, 0, 0],
"scope": 0,
"color": 0,
"children": [
{
"name": "head",
"origin": [0, 1.1, -1],
"scope": 0,
"color": 0,
"children": [0]
},
{
"name": "left_hind_leg",
"origin": [-2, 0.1, 2.5],
"scope": 0,
"color": 0,
"children": [1]
},
{
"name": "right_hind_leg",
"origin": [2, 0.1, 2.5],
"scope": 0,
"color": 0,
"children": [2]
},
{
"name": "left_front_leg",
"origin": [-2, 0.1, -0.5],
"scope": 0,
"color": 0,
"children": [3]
},
{
"name": "right_front_leg",
"origin": [2, 0.1, -0.5],
"scope": 0,
"color": 0,
"children": [4]
},
{
"name": "body",
"origin": [0, 1.1, 1],
"scope": 0,
"color": 0,
"children": [5]
}
]
}
]
}
@@ -0,0 +1,3 @@
{
"parent": "ornamentum:block/baby_turtle"
}