Skip to content

Commit

Permalink
blockstates
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaupenjoe committed Sep 10, 2024
1 parent 4f5e565 commit 98d8edb
Show file tree
Hide file tree
Showing 16 changed files with 85 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-09T20:42:17.6901731 Tutorial Mod/Block Loot Tables
// 1.21.1 2024-09-10T16:12:46.9973489 Tutorial Mod/Block Loot Tables
1382e8045641fe6784d8535d113c80a6028a5ace data\tutorialmod\loot_table\blocks\pink_garnet_pressure_plate.json
f9fed56792aac989521a48d25cde5a55d5973db4 data\tutorialmod\loot_table\blocks\pink_garnet_fence_gate.json
3bfcba243820f2344471574d75b7b48ba680fd3f data\tutorialmod\loot_table\blocks\pink_garnet_door.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-09T20:42:17.6921734 Tutorial Mod/Tags for minecraft:block
// 1.21.1 2024-09-10T16:12:46.9993517 Tutorial Mod/Tags for minecraft:block
8159fdbcb7619cbd57674525489b6dfed8a407fd data\minecraft\tags\block\fence_gates.json
079e21ee82e19be3b06c0ad61d06e9bdce588108 data\minecraft\tags\block\needs_iron_tool.json
87c23b954c6a1061edf28d30d87d40ccfecb8a8f data\minecraft\tags\block\fences.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-09T20:42:17.6911749 Tutorial Mod/Model Definitions
// 1.21.1 2024-09-10T16:12:46.9983506 Tutorial Mod/Model Definitions
51e9c213683a5edc7250a3fc72a4dda3cd4a547e assets\tutorialmod\models\block\pink_garnet_stairs_inner.json
06cb8ccbdefea36e870bb0d601dec9e4baddc6b9 assets\tutorialmod\blockstates\pink_garnet_wall.json
44df06c1ed35df1eb8954755fdc61e81fb77e9da assets\tutorialmod\models\item\pink_garnet_deepslate_ore.json
Expand Down Expand Up @@ -26,6 +26,7 @@ f8b6f1021ac80c221d8d83ede8e5816c45ef723f assets\tutorialmod\blockstates\pink_gar
91bcbb578a52ac33eb56704bbe5f62e310abe5ee assets\tutorialmod\models\block\pink_garnet_fence_inventory.json
7db57b6386f02d11557397a148c30dea085235e0 assets\tutorialmod\blockstates\pink_garnet_slab.json
e10ed0f44080df33ec18cbea1e4ca95ffa54b62f assets\tutorialmod\models\item\pink_garnet_button.json
2c337e9d04bbac33f9d13fdfaac49fb239b1b0d9 assets\tutorialmod\models\item\pink_garnet_lamp.json
ed27aaa00c275028e1495bb6d6bfdcea1851067b assets\tutorialmod\models\block\magic_block.json
a7779ae2aac4f4da3808d0d77fdeae99af2b43f8 assets\tutorialmod\models\item\pink_garnet_wall.json
f3f72a1eb57f8b905366cac9bf1a67bca00e859b assets\tutorialmod\models\block\pink_garnet_slab.json
Expand All @@ -39,6 +40,7 @@ f3f72a1eb57f8b905366cac9bf1a67bca00e859b assets\tutorialmod\models\block\pink_ga
f6782b74c6765a7069b470aa024e7842d988830e assets\tutorialmod\models\block\pink_garnet_door_top_left_open.json
69a45d9eda7fcbbb46f3a4bf568243a7b2141123 assets\tutorialmod\models\item\chisel.json
ef1aa6cb184e8340a5afc3a86268274faaf4ce20 assets\tutorialmod\models\item\pink_garnet_ore.json
4d633dc23654e5f70770dc4b835059a04300f26f assets\tutorialmod\models\block\pink_garnet_lamp_on.json
8ddfdc10d7070d71bc96e16eda77bad9dfb603fe assets\tutorialmod\models\block\pink_garnet_button_pressed.json
78060f761e21d98042a47bf0698ec8ee5d9abad2 assets\tutorialmod\models\block\pink_garnet_wall_side.json
85f8daae4c33ffad6aebd3e7f1d0bba169b1dff1 assets\tutorialmod\models\block\pink_garnet_door_top_right.json
Expand All @@ -61,11 +63,13 @@ c0f86e3f90e3aee91ec48242469069878a02edef assets\tutorialmod\models\block\pink_ga
cf96d28db115823b34bfd1565914960950d7f752 assets\tutorialmod\models\block\pink_garnet_stairs_outer.json
37d814e2e0356a246af16618c42984b84d9e2ed9 assets\tutorialmod\models\block\pink_garnet_block.json
5766845b2b537199e0d43d0fa33b3fb4ff9dc38d assets\tutorialmod\models\block\pink_garnet_ore.json
19e117f512b98bc699379365b240a1afd8dfb66e assets\tutorialmod\blockstates\pink_garnet_lamp.json
728955dac1ae3917f7506e988e00df1c568fe08a assets\tutorialmod\blockstates\pink_garnet_stairs.json
22e3abaf5d35f4abb244206541c642bd57e93135 assets\tutorialmod\models\item\pink_garnet_fence.json
8d78b866bd5c4782e72d22f2bf83140a407bb550 assets\tutorialmod\models\block\pink_garnet_door_bottom_right.json
f7956eb1acfccb309307cd40ba8d8e9a1f968b6e assets\tutorialmod\models\block\pink_garnet_pressure_plate_down.json
6a728eda7238fed6b027e801e464250c3f3144ba assets\tutorialmod\blockstates\pink_garnet_block.json
c5c2c9e3791629868052f3ae6a783c1fbeb77e49 assets\tutorialmod\models\block\pink_garnet_lamp.json
71d14427350d8972a3b7c9d3b7f2f9ebb012d386 assets\tutorialmod\models\block\pink_garnet_button.json
75e5b55e50c1534b829f5a052542c160ae5ed12d assets\tutorialmod\models\item\pink_garnet_slab.json
b269497b1a0f1665b4f6e15f1fa613cbb3e52a72 assets\tutorialmod\blockstates\raw_pink_garnet_block.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.21.1 2024-09-09T20:42:17.6911749 Tutorial Mod/Recipes
// 1.21.1 2024-09-10T16:12:46.9973489 Tutorial Mod/Recipes
612885645657e824e35aaf7ab21f9a0d6d427c19 data\tutorialmod\advancement\recipes\misc\raw_pink_garnet_from_magic_block.json
434e6d50936f8f4e61b7019a3b6f0717cf6020ac data\tutorialmod\recipe\pink_garnet_from_smelting_raw_pink_garnet.json
e4ae33d7b5461829f0d6342e361ffab69adf9fbf data\tutorialmod\advancement\recipes\misc\pink_garnet_from_smelting_raw_pink_garnet.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-09-09T20:42:17.6891736 Tutorial Mod/Tags for minecraft:item
// 1.21.1 2024-09-10T16:12:46.9963499 Tutorial Mod/Tags for minecraft:item
092261f42ebfb549fb26de57a2f4a5a8b86bc6b9 data\tutorialmod\tags\item\transformable_items.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"variants": {
"clicked=false": {
"model": "tutorialmod:block/pink_garnet_lamp"
},
"clicked=true": {
"model": "tutorialmod:block/pink_garnet_lamp_on"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "tutorialmod:block/pink_garnet_lamp"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "tutorialmod:block/pink_garnet_lamp_on"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "tutorialmod:block/pink_garnet_lamp"
}
5 changes: 5 additions & 0 deletions src/main/java/net/kaupenjoe/tutorialmod/block/ModBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.kaupenjoe.tutorialmod.TutorialMod;
import net.kaupenjoe.tutorialmod.block.custom.MagicBlock;
import net.kaupenjoe.tutorialmod.block.custom.PinkGarnetLampBlock;
import net.minecraft.block.*;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
Expand Down Expand Up @@ -54,6 +55,10 @@ public class ModBlocks {
public static final Block PINK_GARNET_TRAPDOOR = registerBlock("pink_garnet_trapdoor",
new TrapdoorBlock(BlockSetType.IRON, AbstractBlock.Settings.create().strength(2f).requiresTool().nonOpaque()));

public static final Block PINK_GARNET_LAMP = registerBlock("pink_garnet_lamp",
new PinkGarnetLampBlock(AbstractBlock.Settings.create()
.strength(1f).requiresTool().luminance(state -> state.get(PinkGarnetLampBlock.CLICKED) ? 15 : 0)));


private static Block registerBlock(String name, Block block) {
registerBlockItem(name, block);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package net.kaupenjoe.tutorialmod.block.custom;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.util.ActionResult;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class PinkGarnetLampBlock extends Block {
public static final BooleanProperty CLICKED = BooleanProperty.of("clicked");

public PinkGarnetLampBlock(Settings settings) {
super(settings);
setDefaultState(this.getDefaultState().with(CLICKED, false));
}

@Override
protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) {
if(!world.isClient()) {
world.setBlockState(pos, state.cycle(CLICKED));
}

return ActionResult.SUCCESS;
}

@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
builder.add(CLICKED);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
import net.kaupenjoe.tutorialmod.block.ModBlocks;
import net.kaupenjoe.tutorialmod.block.custom.PinkGarnetLampBlock;
import net.kaupenjoe.tutorialmod.item.ModItems;
import net.minecraft.data.client.BlockStateModelGenerator;
import net.minecraft.data.client.ItemModelGenerator;
import net.minecraft.data.client.Models;
import net.minecraft.data.client.*;
import net.minecraft.util.Identifier;

public class ModModelProvider extends FabricModelProvider {
public ModModelProvider(FabricDataOutput output) {
Expand Down Expand Up @@ -34,6 +34,11 @@ public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGen

blockStateModelGenerator.registerDoor(ModBlocks.PINK_GARNET_DOOR);
blockStateModelGenerator.registerTrapdoor(ModBlocks.PINK_GARNET_TRAPDOOR);

Identifier lampOffIdentifier = TexturedModel.CUBE_ALL.upload(ModBlocks.PINK_GARNET_LAMP, blockStateModelGenerator.modelCollector);
Identifier lampOnIdentifier = blockStateModelGenerator.createSubModel(ModBlocks.PINK_GARNET_LAMP, "_on", Models.CUBE_ALL, TextureMap::all);
blockStateModelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(ModBlocks.PINK_GARNET_LAMP)
.coordinate(BlockStateModelGenerator.createBooleanModelMap(PinkGarnetLampBlock.CLICKED, lampOnIdentifier, lampOffIdentifier)));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ public class ModItemGroups {
entries.add(ModBlocks.PINK_GARNET_DOOR);
entries.add(ModBlocks.PINK_GARNET_TRAPDOOR);

entries.add(ModBlocks.PINK_GARNET_LAMP);


}).build());

Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/assets/tutorialmod/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
"block.tutorialmod.pink_garnet_door": "Pink Garnet Door",
"block.tutorialmod.pink_garnet_trapdoor": "Pink Garnet Trapdoor",

"block.tutorialmod.pink_garnet_lamp": "Pink Garnet Lamp",


"itemgroup.tutorialmod.pink_garnet_items": "Pink Garnet Items",
"itemgroup.tutorialmod.pink_garnet_blocks": "Pink Garnet Blocks",
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 98d8edb

Please sign in to comment.