diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockTestSpellBlock.java b/src/main/java/WayofTime/bloodmagic/block/BlockTestSpellBlock.java new file mode 100644 index 00000000..cefd5f05 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/block/BlockTestSpellBlock.java @@ -0,0 +1,67 @@ +package WayofTime.bloodmagic.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.properties.PropertyDirection; +import net.minecraft.block.state.BlockState; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.world.IBlockAccess; +import WayofTime.bloodmagic.BloodMagic; + +public class BlockTestSpellBlock extends Block { + public static final PropertyDirection INPUT = PropertyDirection + .create("input"); + public static final PropertyDirection OUTPUT = PropertyDirection + .create("output"); + + public BlockTestSpellBlock() { + super(Material.rock); + setHardness(2.0F); + setResistance(5.0F); + + setUnlocalizedName(BloodMagic.MODID + ".testSpellBlock"); + setCreativeTab(BloodMagic.tabBloodMagic); + this.setDefaultState(this.blockState.getBaseState() + .withProperty(INPUT, EnumFacing.DOWN) + .withProperty(OUTPUT, EnumFacing.UP)); + } + + @Override + public IBlockState getStateFromMeta(int meta) { + return this.getDefaultState(); + } + + @Override + public int getMetaFromState(IBlockState state) { + return 0; + } + + @Override + public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) { + return state.withProperty(INPUT, EnumFacing.DOWN) + .withProperty(OUTPUT, EnumFacing.UP); + } + + @Override + protected BlockState createBlockState() { + return new BlockState(this, new IProperty[] { INPUT, OUTPUT }); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean isFullCube() { + return false; + } + + @Override + public boolean isPassable(IBlockAccess blockAccess, BlockPos pos) { + return false; + } +} diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java index 8e52f16f..8837990e 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java @@ -1,27 +1,29 @@ package WayofTime.bloodmagic.registry; +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.block.BlockAltar; import WayofTime.bloodmagic.block.BlockBloodRune; import WayofTime.bloodmagic.block.BlockLifeEssence; import WayofTime.bloodmagic.block.BlockRitualController; +import WayofTime.bloodmagic.block.BlockTestSpellBlock; import WayofTime.bloodmagic.item.block.ItemBlockBloodRune; import WayofTime.bloodmagic.item.block.ItemBlockRitualController; import WayofTime.bloodmagic.tile.TileAltar; import WayofTime.bloodmagic.tile.TileImperfectRitualStone; import WayofTime.bloodmagic.tile.TileMasterRitualStone; import WayofTime.bloodmagic.util.helper.InventoryRenderHelper; -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fml.common.registry.GameRegistry; public class ModBlocks { public static Block altar; public static Block bloodRune; public static Block ritualStone; + public static Block testSpellBlock; public static Block lifeEssence; @@ -36,6 +38,7 @@ public class ModBlocks altar = registerBlock(new BlockAltar()); bloodRune = registerBlock(new BlockBloodRune(), ItemBlockBloodRune.class); ritualStone = registerBlock(new BlockRitualController(), ItemBlockRitualController.class); + testSpellBlock = registerBlock(new BlockTestSpellBlock()); initTiles(); } diff --git a/src/main/resources/assets/bloodmagic/blockstates/BlockTestSpellBlock.json b/src/main/resources/assets/bloodmagic/blockstates/BlockTestSpellBlock.json new file mode 100644 index 00000000..8bdc9a94 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/blockstates/BlockTestSpellBlock.json @@ -0,0 +1,29 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "bloodmagic:sub/BlockSpellModifierCore", + "textures": { + "model": "bloodmagic:models/SpellModifierDefault" + }, + + "uvlock": false + }, + "variants": { + "input": { + "up": {"submodel": "bloodmagic:sub/BlockSpellModifierInput", "x": 90}, + "down": {"submodel": "bloodmagic:sub/BlockSpellModifierInput", "x": -90}, + "east": {"submodel": "bloodmagic:sub/BlockSpellModifierInput", "y": -90}, + "west": {"submodel": "bloodmagic:sub/BlockSpellModifierInput", "y": 90}, + "north": {"submodel": "bloodmagic:sub/BlockSpellModifierInput", "y": 180}, + "south": {"submodel": "bloodmagic:sub/BlockSpellModifierInput"} + }, + "output": { + "up": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput", "transform": {"rotation": {"z": 90}} }, + "down": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput", "transform": {"rotation": {"z": -90}} }, + "west": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput", "y": 180}, + "east": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput"}, + "north": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput", "y": -90}, + "south": {"submodel": "bloodmagic:sub/BlockSpellModifierOutput", "y": 90} + } + } +} diff --git a/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierCore.json b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierCore.json new file mode 100644 index 00000000..53852b6a --- /dev/null +++ b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierCore.json @@ -0,0 +1,19 @@ +{ + "textures": { + "particle": "#model" + }, + "elements": [ + { "from": [ 5, 5, 5 ], + "to": [ 11, 11, 11 ], + "faces": { + "down": { "uv": [ 3, 0, 4.5, 1.5 ], "texture": "#model" }, + "up": { "uv": [ 1.5, 0, 3, 1.5 ], "texture": "#model" }, + "north": { "uv": [ 1.5, 1.5, 3, 3 ], "texture": "#model" }, + "south": { "uv": [ 4.5, 1.5, 6, 3 ], "texture": "#model" }, + "west": { "uv": [ 3, 1.5, 4.5, 3 ], "texture": "#model" }, + "east": { "uv": [ 0, 1.5, 1.5, 3 ], "texture": "#model" } + }, + "__comment": "This is the core of the model" + } + ] +} diff --git a/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierInput.json b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierInput.json new file mode 100644 index 00000000..c632c397 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierInput.json @@ -0,0 +1,176 @@ +{ + "textures": { + "particle": "#model" + }, + "elements": [ + { + "from": [ 6, 13, 6 ], + "to": [ 10, 14, 10 ], + "faces": { + "down": { "uv": [ 5.75, 9, 6.75, 8 ], "texture": "#model" }, + "up": { "uv": [ 4.75, 8, 5.75, 9 ], "texture": "#model" }, + "north": { "uv": [ 6.75, 9, 7.75, 9.25 ], "texture": "#model" }, + "south": { "uv": [ 4.75, 9, 5.75, 9.25 ], "texture": "#model" }, + "west": { "uv": [ 3.75, 9, 4.75, 9.25 ], "texture": "#model" }, + "east": { "uv": [ 5.75, 9, 6.75, 9.25 ], "texture": "#model" } + }, + "__comment": "Top symbol" + }, + { + "from": [ 6, 2, 6 ], + "to": [ 10, 3, 10 ], + "faces": { + "down": { "uv": [ 5.75, 10.75, 6.75, 9.75 ], "texture": "#model" }, + "up": { "uv": [ 4.75, 9.75, 5.75, 10.75 ], "texture": "#model" }, + "north": { "uv": [ 6.75, 10.75, 7.75, 11 ], "texture": "#model" }, + "south": { "uv": [ 4.75, 10.75, 5.75, 11 ], "texture": "#model" }, + "west": { "uv": [ 3.75, 10.75, 4.75, 11 ], "texture": "#model" }, + "east": { "uv": [ 5.75, 10.75, 6.75, 11 ], "texture": "#model" } + }, + "__comment": "Bottom symbol" + }, + { + "from": [ 2, 6, 6 ], + "to": [ 3, 10, 10 ], + "faces": { + "down": { "uv": [ 4.5, 12.5, 4.75, 11.5 ], "texture": "#model" }, + "up": { "uv": [ 4.25, 11.5, 4.5, 12.5 ], "texture": "#model" }, + "north": { "uv": [ 5.5, 12.5, 5.75, 13.5 ], "texture": "#model" }, + "south": { "uv": [ 4.25, 12.5, 4.5, 13.5 ], "texture": "#model" }, + "west": { "uv": [ 3.25, 12.5, 4.25, 13.5 ], "texture": "#model" }, + "east": { "uv": [ 4.5, 12.5, 5.5, 13.5 ], "texture": "#model" } + }, + "__comment": "Left symbol" + }, + { + "from": [ 13, 6, 6 ], + "to": [ 14, 10, 10 ], + "faces": { + "down": { "uv": [ 4.5, 15, 4.75, 14 ], "texture": "#model" }, + "up": { "uv": [ 4.25, 14, 4.5, 15 ], "texture": "#model" }, + "north": { "uv": [ 5.5, 15, 5.75, 16 ], "texture": "#model" }, + "south": { "uv": [ 4.25, 15, 4.5, 16 ], "texture": "#model" }, + "west": { "uv": [ 3.25, 15, 4.25, 16 ], "texture": "#model" }, + "east": { "uv": [ 4.5, 15, 5.5, 16 ], "texture": "#model" } + }, + "__comment": "Right symbol" + }, + { + "from": [ 7, 13, 10 ], + "to": [ 9, 14, 15 ], + "faces": { + "down": { "uv": [ 1.75, 9.25, 2.25, 8 ], "texture": "#model" }, + "up": { "uv": [ 1.25, 8, 1.75, 9.25 ], "texture": "#model" }, + "north": { "uv": [ 3, 9.25, 3.5, 9.5 ], "texture": "#model" }, + "south": { "uv": [ 1.25, 9.25, 1.75, 9.5 ], "texture": "#model" }, + "west": { "uv": [ 0, 9.25, 1.25, 9.5 ], "texture": "#model" }, + "east": { "uv": [ 1.75, 9.25, 3, 9.5 ], "texture": "#model" } + }, + "__comment": "Top holding bar" + }, + { + "from": [ 7, 2, 10 ], + "to": [ 9, 3, 15 ], + "faces": { + "down": { "uv": [ 1.75, 11, 2.25, 9.75 ], "texture": "#model" }, + "up": { "uv": [ 1.25, 9.75, 1.75, 11 ], "texture": "#model" }, + "north": { "uv": [ 3, 11, 3.5, 11.25 ], "texture": "#model" }, + "south": { "uv": [ 1.25, 11, 1.75, 11.25 ], "texture": "#model" }, + "west": { "uv": [ 0, 11, 1.25, 11.25 ], "texture": "#model" }, + "east": { "uv": [ 1.75, 11, 3, 11.25 ], "texture": "#model" } + }, + "__comment": "Bottom holding bar" + }, + { + "from": [ 2, 7, 10 ], + "to": [ 3, 9, 15 ], + "faces": { + "down": { "uv": [ 1.5, 15.25, 1.75, 14 ], "texture": "#model" }, + "up": { "uv": [ 1.25, 14, 1.5, 15.25 ], "texture": "#model" }, + "north": { "uv": [ 2.75, 15.25, 3, 15.75 ], "texture": "#model" }, + "south": { "uv": [ 1.25, 15.25, 1.5, 15.75 ], "texture": "#model" }, + "west": { "uv": [ 0, 15.25, 1.25, 15.75 ], "texture": "#model" }, + "east": { "uv": [ 1.5, 15.25, 2.75, 15.75 ], "texture": "#model" } + }, + "__comment": "Left holding bar" + }, + { + "from": [ 13, 7, 10 ], + "to": [ 14, 9, 15 ], + "faces": { + "down": { "uv": [ 1.5, 12.75, 1.75, 11.5 ], "texture": "#model" }, + "up": { "uv": [ 1.25, 11.5, 1.5, 12.75 ], "texture": "#model" }, + "north": { "uv": [ 2.75, 12.75, 3, 13.25 ], "texture": "#model" }, + "south": { "uv": [ 1.25, 12.75, 1.5, 13.25 ], "texture": "#model" }, + "west": { "uv": [ 0, 12.75, 1.25, 13.25 ], "texture": "#model" }, + "east": { "uv": [ 1.5, 12.75, 2.75, 13.25 ], "texture": "#model" } + }, + "__comment": "Right holding bar" + }, + { + "from": [ 6, 6, 15 ], + "to": [ 10, 10, 16 ], + "faces": { + "down": { "uv": [ 7.5, 4.75, 8.5, 4.5 ], "texture": "#model" }, + "up": { "uv": [ 6.5, 4.5, 7.5, 4.75 ], "texture": "#model" }, + "north": { "uv": [ 7.75, 4.75, 8.75, 5.75 ], "texture": "#model" }, + "south": { "uv": [ 6.5, 4.75, 7.5, 5.75 ], "texture": "#model" }, + "west": { "uv": [ 6.25, 4.75, 6.5, 5.75 ], "texture": "#model" }, + "east": { "uv": [ 7.5, 4.75, 7.75, 5.75 ], "texture": "#model" } + }, + "__comment": "Central point" + }, + { + "from": [ 3, 11, 14 ], + "to": [ 13, 13, 16 ], + "faces": { + "down": { "uv": [ 3, 3.75, 5.5, 3.25 ], "texture": "#model" }, + "up": { "uv": [ 0.5, 3.25, 3, 3.75 ], "texture": "#model" }, + "north": { "uv": [ 3.5, 3.75, 6, 4.25 ], "texture": "#model" }, + "south": { "uv": [ 0.5, 3.75, 3, 4.25 ], "texture": "#model" }, + "west": { "uv": [ 0, 3.75, 0.5, 4.25 ], "texture": "#model" }, + "east": { "uv": [ 3, 3.75, 3.5, 4.25 ], "texture": "#model" } + }, + "__comment": "Top main brace" + }, + { + "from": [ 3, 3, 14 ], + "to": [ 13, 5, 16 ], + "faces": { + "down": { "uv": [ 3, 7.25, 5.5, 6.75 ], "texture": "#model" }, + "up": { "uv": [ 0.5, 6.75, 3, 7.25 ], "texture": "#model" }, + "north": { "uv": [ 3.5, 7.25, 6, 7.75 ], "texture": "#model" }, + "south": { "uv": [ 0.5, 7.25, 3, 7.75 ], "texture": "#model" }, + "west": { "uv": [ 0, 7.25, 0.5, 7.75 ], "texture": "#model" }, + "east": { "uv": [ 3, 7.25, 3.5, 7.75 ], "texture": "#model" } + }, + "__comment": "Bottom main brace" + }, + { + "from": [ 3, 5, 14 ], + "to": [ 5, 11, 16 ], + "faces": { + "down": { "uv": [ 1, 5, 1.5, 4.5 ], "texture": "#model" }, + "up": { "uv": [ 0.5, 4.5, 1, 5 ], "texture": "#model" }, + "north": { "uv": [ 1.5, 5, 2, 6.5 ], "texture": "#model" }, + "south": { "uv": [ 0.5, 5, 1, 6.5 ], "texture": "#model" }, + "west": { "uv": [ 0, 5, 0.5, 6.5 ], "texture": "#model" }, + "east": { "uv": [ 1, 5, 1.5, 6.5 ], "texture": "#model" } + }, + "__comment": "Left main brace" + }, + { + "from": [ 11, 5, 14 ], + "to": [ 13, 11, 16 ], + "faces": { + "down": { "uv": [ 5, 5, 5.5, 4.5 ], "texture": "#model" }, + "up": { "uv": [ 4.5, 4.5, 5, 5 ], "texture": "#model" }, + "north": { "uv": [ 5.5, 5, 6, 6.5 ], "texture": "#model" }, + "south": { "uv": [ 4.5, 5, 5, 6.5 ], "texture": "#model" }, + "west": { "uv": [ 4, 5, 4.5, 6.5 ], "texture": "#model" }, + "east": { "uv": [ 5, 5, 5.5, 6.5 ], "texture": "#model" } + }, + "__comment": "Right main brace" + } + ] +} diff --git a/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierOutput.json b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierOutput.json new file mode 100644 index 00000000..b08bbd47 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/models/block/sub/BlockSpellModifierOutput.json @@ -0,0 +1,67 @@ +{ + "textures": { + "particle": "#model" + }, + "elements": [ + { + "from": [ 15, 6, 6 ], + "to": [ 16, 10, 10 ], + "faces": { + "down": { "uv": [ 14, 5.75, 14.25, 6.75 ], "texture": "#model" }, + "up": { "uv": [ 13.75, 5.75, 14, 6.75 ], "texture": "#model" }, + "north": { "uv": [ 15, 6.75, 15.25, 7.75 ], "texture": "#model" }, + "south": { "uv": [ 13.75, 6.75, 14, 7.75 ], "texture": "#model" }, + "west": { "uv": [ 12.75, 6.75, 13.75, 7.75 ], "texture": "#model" }, + "east": { "uv": [ 14, 6.75, 15, 7.75 ], "texture": "#model" } + } + }, + { + "from": [ 13, 3, 3 ], + "to": [ 16, 5, 5 ], + "faces": { + "down": { "uv": [ 14, 4.5, 14.75, 5 ], "texture": "#model" }, + "up": { "uv": [ 13.25, 4.5, 14, 5 ], "texture": "#model" }, + "north": { "uv": [ 14.5, 5, 15.25, 5.5 ], "texture": "#model" }, + "south": { "uv": [ 13.25, 5, 14, 5.5 ], "texture": "#model" }, + "west": { "uv": [ 12.75, 5, 13.25, 5.5 ], "texture": "#model" }, + "east": { "uv": [ 14, 5, 14.5, 5.5 ], "texture": "#model" } + } + }, + { + "from": [ 13, 11, 3 ], + "to": [ 16, 13, 5 ], + "faces": { + "down": { "uv": [ 14, 4.5, 14.75, 5 ], "texture": "#model" }, + "up": { "uv": [ 13.25, 4.5, 14, 5 ], "texture": "#model" }, + "north": { "uv": [ 14.5, 5, 15.25, 5.5 ], "texture": "#model" }, + "south": { "uv": [ 13.25, 5, 14, 5.5 ], "texture": "#model" }, + "west": { "uv": [ 12.75, 5, 13.25, 5.5 ], "texture": "#model" }, + "east": { "uv": [ 14, 5, 14.5, 5.5 ], "texture": "#model" } + } + }, + { + "from": [ 13, 3, 11 ], + "to": [ 16, 5, 13 ], + "faces": { + "down": { "uv": [ 14, 4.5, 14.75, 5 ], "texture": "#model" }, + "up": { "uv": [ 13.25, 4.5, 14, 5 ], "texture": "#model" }, + "north": { "uv": [ 14.5, 5, 15.25, 5.5 ], "texture": "#model" }, + "south": { "uv": [ 13.25, 5, 14, 5.5 ], "texture": "#model" }, + "west": { "uv": [ 12.75, 5, 13.25, 5.5 ], "texture": "#model" }, + "east": { "uv": [ 14, 5, 14.5, 5.5 ], "texture": "#model" } + } + }, + { + "from": [ 13, 11, 11 ], + "to": [ 16, 13, 13 ], + "faces": { + "down": { "uv": [ 14, 4.5, 14.75, 5 ], "texture": "#model" }, + "up": { "uv": [ 13.25, 4.5, 14, 5 ], "texture": "#model" }, + "north": { "uv": [ 14.5, 5, 15.25, 5.5 ], "texture": "#model" }, + "south": { "uv": [ 13.25, 5, 14, 5.5 ], "texture": "#model" }, + "west": { "uv": [ 12.75, 5, 13.25, 5.5 ], "texture": "#model" }, + "east": { "uv": [ 14, 5, 14.5, 5.5 ], "texture": "#model" } + } + } + ] +} diff --git a/src/main/resources/assets/bloodmagic/textures/models/SpellModifierDefault.png b/src/main/resources/assets/bloodmagic/textures/models/SpellModifierDefault.png index f72ff9f8..efd531cf 100644 Binary files a/src/main/resources/assets/bloodmagic/textures/models/SpellModifierDefault.png and b/src/main/resources/assets/bloodmagic/textures/models/SpellModifierDefault.png differ