Merge remote-tracking branch 'origin/1.8-Rewrite' into 1.8-Rewrite

This commit is contained in:
Nick 2015-11-07 09:08:02 -08:00
commit e9cbcd4bfb
25 changed files with 697 additions and 5 deletions

View file

@ -0,0 +1,48 @@
package WayofTime.bloodmagic.api.ritual;
import java.util.Collection;
import net.minecraft.block.properties.PropertyEnum;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
public class PropertyRuneType extends PropertyEnum
{
protected PropertyRuneType(String name, Collection values)
{
super(name, EnumRuneType.class, values);
}
/**
* Create a new PropertyRuneType with the given name
*/
public static PropertyRuneType create(String name)
{
/**
* Create a new PropertyRuneType with all directions that match the given Predicate
*/
return create(name, Predicates.alwaysTrue());
}
/**
* Create a new PropertyRuneType with all directions that match the given Predicate
*/
public static PropertyRuneType create(String name, Predicate filter)
{
/**
* Create a new PropertyRuneType for the given direction values
*/
return create(name, Collections2.filter(Lists.newArrayList(EnumRuneType.values()), filter));
}
/**
* Create a new PropertyRuneType for the given direction values
*/
public static PropertyRuneType create(String name, Collection values)
{
return new PropertyRuneType(name, values);
}
}

View file

@ -0,0 +1,83 @@
package WayofTime.bloodmagic.block;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
import WayofTime.bloodmagic.api.ritual.IRitualStone;
import WayofTime.bloodmagic.api.ritual.PropertyRuneType;
public class BlockRitualStone extends Block implements IRitualStone {
public static final String[] names = { "blank", "water", "fire", "earth", "air", "dusk", "dawn" };
public static final PropertyRuneType TYPE = PropertyRuneType.create("TYPE");
public BlockRitualStone() {
super(Material.iron);
setUnlocalizedName(BloodMagic.MODID + ".ritualStone.");
setCreativeTab(BloodMagic.tabBloodMagic);
setStepSound(soundTypeStone);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState()
.withProperty(TYPE, EnumRuneType.byMetadata(meta));
}
@Override
public int getMetaFromState(IBlockState state) {
return ((EnumRuneType) state.getValue(TYPE)).ordinal();
}
@Override
public int damageDropped(IBlockState state) {
return 0;
}
@Override
protected BlockState createBlockState() {
return new BlockState(this, TYPE);
}
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos, EntityPlayer player) {
return new ItemStack(this, 1, this.getMetaFromState(world
.getBlockState(pos)));
}
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings("unchecked")
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) {
for (int i = 0; i < names.length; i++)
list.add(new ItemStack(this, 1, i));
}
@Override
public boolean isRuneType(World world, BlockPos pos, int meta, EnumRuneType runeType) {
return this.getRitualStone(world, pos, meta).equals(runeType);
}
private EnumRuneType getRitualStone(World world, BlockPos pos, int meta) {
IBlockState state = this.getStateFromMeta(meta);
return ((EnumRuneType) state.getValue(TYPE));
}
}

View file

@ -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;
}
}

View file

@ -0,0 +1,24 @@
package WayofTime.bloodmagic.item.block;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import WayofTime.bloodmagic.block.BlockRitualStone;
public class ItemBlockRitualStone extends ItemBlock {
public ItemBlockRitualStone(Block block) {
super(block);
setHasSubtypes(true);
}
@Override
public String getUnlocalizedName(ItemStack stack) {
return super.getUnlocalizedName(stack) + BlockRitualStone.names[stack.getItemDamage()];
}
@Override
public int getMetadata(int meta) {
return meta;
}
}

View file

@ -1,27 +1,32 @@
package WayofTime.bloodmagic.registry; 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.BloodMagic;
import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.ConfigHandler;
import WayofTime.bloodmagic.block.BlockAltar; import WayofTime.bloodmagic.block.BlockAltar;
import WayofTime.bloodmagic.block.BlockBloodRune; import WayofTime.bloodmagic.block.BlockBloodRune;
import WayofTime.bloodmagic.block.BlockLifeEssence; import WayofTime.bloodmagic.block.BlockLifeEssence;
import WayofTime.bloodmagic.block.BlockRitualController; import WayofTime.bloodmagic.block.BlockRitualController;
import WayofTime.bloodmagic.block.BlockRitualStone;
import WayofTime.bloodmagic.block.BlockTestSpellBlock;
import WayofTime.bloodmagic.item.block.ItemBlockBloodRune; import WayofTime.bloodmagic.item.block.ItemBlockBloodRune;
import WayofTime.bloodmagic.item.block.ItemBlockRitualController; import WayofTime.bloodmagic.item.block.ItemBlockRitualController;
import WayofTime.bloodmagic.item.block.ItemBlockRitualStone;
import WayofTime.bloodmagic.tile.TileAltar; import WayofTime.bloodmagic.tile.TileAltar;
import WayofTime.bloodmagic.tile.TileImperfectRitualStone; import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
import WayofTime.bloodmagic.tile.TileMasterRitualStone; import WayofTime.bloodmagic.tile.TileMasterRitualStone;
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper; 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 class ModBlocks
{ {
public static Block altar; public static Block altar;
public static Block bloodRune; public static Block bloodRune;
public static Block ritualController;
public static Block ritualStone; public static Block ritualStone;
public static Block testSpellBlock;
public static Block lifeEssence; public static Block lifeEssence;
@ -35,7 +40,9 @@ public class ModBlocks
altar = registerBlock(new BlockAltar()); altar = registerBlock(new BlockAltar());
bloodRune = registerBlock(new BlockBloodRune(), ItemBlockBloodRune.class); bloodRune = registerBlock(new BlockBloodRune(), ItemBlockBloodRune.class);
ritualStone = registerBlock(new BlockRitualController(), ItemBlockRitualController.class); ritualController = registerBlock(new BlockRitualController(), ItemBlockRitualController.class);
ritualStone = registerBlock(new BlockRitualStone(), ItemBlockRitualStone.class);
testSpellBlock = registerBlock(new BlockTestSpellBlock());
initTiles(); initTiles();
} }
@ -62,8 +69,15 @@ public class ModBlocks
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 7); renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 7);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 8); renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 8);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 9); renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodRune), 9);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualController), 0);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualController), 1);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 0); renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 0);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 1); renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 1);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 2);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 3);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 4);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 5);
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 6);
} }
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) { private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) {

View file

@ -0,0 +1,47 @@
{
"forge_marker": 1,
"defaults": {
"textures": { },
"model": "cube_all",
"uvlock": true
},
"variants": {
"type": {
"blank": {
"textures": {
"all": "bloodmagic:blocks/RitualStone"
}
},
"water": {
"textures": {
"all": "bloodmagic:blocks/WaterRitualStone"
}
},
"fire": {
"textures": {
"all": "bloodmagic:blocks/FireRitualStone"
}
},
"earth": {
"textures": {
"all": "bloodmagic:blocks/EarthRitualStone"
}
},
"air": {
"textures": {
"all": "bloodmagic:blocks/AirRitualStone"
}
},
"dusk": {
"textures": {
"all": "bloodmagic:blocks/DuskRitualStone"
}
},
"dawn": {
"textures": {
"all": "bloodmagic:blocks/LightRitualStone"
}
}
}
}
}

View file

@ -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}
}
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/RitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/WaterRitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/FireRitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/EarthRitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/AirRitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/DuskRitualStone"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "bloodmagic:blocks/LightRitualStone"
}
}

View file

@ -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"
}
]
}

View file

@ -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"
}
]
}

View file

@ -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" }
}
}
]
}

View file

@ -0,0 +1,10 @@
{
"parent": "bloodmagic:block/BlockRitualStone0",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone1",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone2",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone3",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone4",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone5",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "bloodmagic:block/BlockRitualStone6",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB