Anvil now has inventory that rotates slots with direction and consumes the tongs item into inventory

This commit is contained in:
Mohammad-Ali Minaie
2017-03-05 02:58:08 -05:00
parent f00da70bf4
commit 240c1b9626
22 changed files with 649 additions and 48 deletions

View File

@@ -1,7 +1,18 @@
To-Dos
*** Priority ***
- [ ] Stone Anvil
- [x] Stone Anvil
- [x] Stone Anvil Inventory
- [x] Stone Anvil Tile
- [ ] Stone Anvil Crafting
- [ ] Stone Anvil Bounding Box
- [ ] StoneTongs Iron Chunks
- [ ] Hammer Crafting
- [ ] Iron Chunking
*** Backlog ***
- [ ] Anvil

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

View File

@@ -20,6 +20,10 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
*/
public class CommonUtils {
public static void print(Object object){
System.out.println(object);
}
public static int getVanillaItemBurnTime(ItemStack stack)
{
if (stack == null)

View File

@@ -0,0 +1,255 @@
package nmd.primal.forgecraft.blocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.forgecraft.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.tiles.TileAnvil;
import nmd.primal.forgecraft.tiles.TileForge;
/**
* Created by mminaie on 3/4/17.
*/
public class Anvil extends CustomContainerFacing {
public Anvil(Material material, String registryName, Float hardness) {
super(material);
setUnlocalizedName(ModInfo.ForgecraftBlocks.BLOOMERY.getUnlocalizedName());
setRegistryName(registryName);
//setRegistryName(ModInfo.ForgecraftBlocks.FIREBOX.getRegistryName());
setCreativeTab(ModInfo.TAB_FORGECRAFT);
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
setHardness(hardness);
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz)
{
if (!world.isRemote) {
TileAnvil tile = (TileAnvil) world.getTileEntity(pos);
if (tile != null) {
ItemStack pItem = player.inventory.getCurrentItem();
if(pItem.getItem().equals(ModItems.stonetongs)){
if(pItem.getTagCompound().getInteger("type") == 6){
if(state.getValue(FACING) == EnumFacing.NORTH){
for(int i = 1; i < 15; i+=3){
if(hitx >= (double)i/16.0) {
if(hitx <= (double)(i+3)/16.0){
for(int a = 1; a < 15; a+=3) {
if(hitz >= (double)a/16.0) {
if(hitz <= (double)(a+3)/16.0) {
int row = (int)(((i-1.0)/3.0));
int column = (int)(((a-1.0)/3.0)*5);
//System.out.println(row+column);
tile.setSlotStack((row+column), new ItemStack(ModItems.ironingotballhot, 1));
pItem.getTagCompound().setInteger("type", 0);
System.out.println(tile.getSlotStack(row+column));
return true;
}
}
}
}
}
}
}
if(state.getValue(FACING) == EnumFacing.SOUTH){
for(int i = 1; i < 15; i+=3){
if(hitx >= (double)i/16.0) {
if(hitx <= (double)(i+3)/16.0){
for(int a = 1; a < 15; a+=3) {
if(hitz >= (double)a/16.0) {
if(hitz <= (double)(a+3)/16.0) {
int row = (int)(((i-1.0)/3.0));
int column = (int)(((a-1.0)/3.0)*5);
System.out.println((int)Math.abs(24-(row+column)));
return true;
}
}
}
}
}
}
}
if(state.getValue(FACING) == EnumFacing.WEST){
for(int i = 1; i < 15; i+=3){
if(hitz >= (double)i/16.0) {
if(hitz <= (double)(i+3)/16.0){
for(int a = 1; a < 15; a+=3) {
if(hitx >= (double)a/16.0) {
if(hitx <= (double)(a+3)/16.0) {
int row = (int)Math.abs(((i-1.0)/3.0)-4);
int column = (int)(((a-1.0)/3.0)*5);
System.out.println("Row: " + row + " | Column: " + column);
System.out.println(row+column);
return true;
}
}
}
}
}
}
}
if(state.getValue(FACING) == EnumFacing.EAST){
for(int i = 1; i < 15; i+=3){
if(hitz >= (double)i/16.0) {
if(hitz <= (double)(i+3)/16.0){
for(int a = 1; a < 15; a+=3) {
if(hitx >= (double)a/16.0) {
if(hitx <= (double)(a+3)/16.0) {
int row = (int)(((i-1.0)/3.0));
int column = (int)(Math.abs(((a-1.0)/3.0)-4)*5);
System.out.println("Row: " + row + " | Column: " + column);
System.out.println(row+column);
return true;
}
}
}
}
}
}
}
}
}
return false;
}
}
return false;
}
@Override
public void breakBlock(World world, BlockPos pos, IBlockState state)
{
if (!world.isRemote && world.getGameRules().getBoolean("doTileDrops"))
{
TileAnvil tile = (TileAnvil) world.getTileEntity(pos);
if (tile !=null)
{
for (ItemStack stack : tile.getSlotList())
{
if (stack != null) {
float offset = 0.7F;
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetY = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetZ = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
EntityItem item = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
item.setDefaultPickupDelay();
world.spawnEntity(item);
}
}
}
}
super.breakBlock(world, pos, state);
}
@Override
public TileEntity createNewTileEntity(World worldIn, int meta)
{
return new TileAnvil();
}
@Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
{
worldIn.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing()),2);
}
@Override
public int getMetaFromState(IBlockState state) {
int i = 0;
if( state.getValue(FACING) == EnumFacing.EAST) {
i = 0;
return i;
}
if( state.getValue(FACING) == EnumFacing.WEST) {
i = 1;
return i;
}
if( state.getValue(FACING) == EnumFacing.SOUTH){
i = 2;
return i;
}
if( state.getValue(FACING) == EnumFacing.NORTH){
i = 3;
return i;
}
return i;
}
@Override
public IBlockState getStateFromMeta(int meta)
{
IBlockState iblockstate = this.getDefaultState();
if (meta == 0){
iblockstate = iblockstate.withProperty(FACING, EnumFacing.EAST);
}
if (meta == 1) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.WEST);
}
if (meta == 2) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.SOUTH);
}
if (meta == 3) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.NORTH);
}
return iblockstate;
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[] {FACING});
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
public boolean isFullyOpaque(IBlockState state)
{
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
return true;
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.MODEL;
}
}

View File

@@ -0,0 +1,22 @@
package nmd.primal.forgecraft.blocks;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
/**
* Created by mminaie on 3/4/17.
*/
public abstract class CustomContainer extends BlockContainer{
protected CustomContainer(Material material)
{
super(material);
}
protected CustomContainer(Material material, MapColor color)
{
super(material, color);
}
}

View File

@@ -39,9 +39,12 @@ public class ModBlocks {
public static Block failedironcruciblehot;
public static Block ironball;
public static Block ironchunk;
//public static ItemBlock ironballitemcool;
//public static ItemBlock ironballitemhot;
public static Block stoneanvil;
public static void init() {
@@ -69,6 +72,9 @@ public class ModBlocks {
failedironcruciblehot = new CrucibleHot(Material.ROCK, "failedironcruciblehot");
ironball = new IngotBall(Material.IRON, "ironball", 5.0F);
ironchunk = new IngotBall(Material.IRON, "ironchunk", 5.0F);
stoneanvil = new Anvil(Material.ROCK, "stoneanvil", 5.0f);
//ironballitemcool = new ItemBlockIngotBall(ironball);
//ironballitemhot = new ItemBlockIngotBall(ironball);
@@ -99,8 +105,11 @@ public class ModBlocks {
registerBlock(failedironcruciblehot);
registerBlock(ironball);
registerBlock(ironchunk);
//registerBlockSubType(ironball, ironballitemcool, "ironcool");
//registerBlockSubType(ironball, ironballitemhot, "ironhot");
registerBlock(stoneanvil);
}
@SideOnly(Side.CLIENT)
@@ -126,9 +135,12 @@ public class ModBlocks {
registerRender(failedironcruciblehot);
registerRender(ironball);
registerRender(ironchunk);
//registerRenderCustom(ironballitemcool, 0, new ModelResourceLocation(ironballitemcool.getUnlocalizedName()));
//registerRenderCustom(ironballitemhot, 1, new ModelResourceLocation(ironballitemhot.getUnlocalizedName()));
registerRender(stoneanvil);
}
private static void registerBlock(Block block) {

View File

@@ -2,10 +2,7 @@ package nmd.primal.forgecraft.init;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fml.common.registry.GameRegistry;
import nmd.primal.forgecraft.tiles.TileBaseCrucible;
import nmd.primal.forgecraft.tiles.TileBloomery;
import nmd.primal.forgecraft.tiles.TileForge;
import nmd.primal.forgecraft.tiles.TilePistonBellows;
import nmd.primal.forgecraft.tiles.*;
/**
* Created by kitsu on 12/2/2016.
@@ -17,6 +14,7 @@ public class ModTiles {
registerTileEntity(TilePistonBellows.class, "pistonbellows");
registerTileEntity(TileBloomery.class, "bloomery");
registerTileEntity(TileBaseCrucible.class, "basecrucible");
registerTileEntity(TileAnvil.class, "anvil");
}
private static void registerTileEntity(Class<? extends TileEntity> tile_class, String baseName) {

View File

@@ -71,7 +71,7 @@ public class ItemStoneTongs extends Item {
itemstack.getTagCompound().setInteger("type", 6);
//itemstack.getTagCompound().setInteger("cooldown", tileCrucible.countdown);
world.setBlockToAir(pos);
System.out.println(itemstack.getTagCompound().getInteger("type"));
//System.out.println(itemstack.getTagCompound().getInteger("type"));
return EnumActionResult.SUCCESS;
}
}

View File

@@ -0,0 +1,13 @@
package nmd.primal.forgecraft.tiles;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
/**
* Created by mminaie on 3/4/17.
*/
public class TileAnvil extends TileBaseSlot {
private NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(25, ItemStack.EMPTY);
}

View File

@@ -0,0 +1,26 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
},
"parent": "forgecraft:ironchunk"
},
"variants": {
"active=false": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
}
},
"active=true": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/iron_ingot_hot",
"texture": "forgecraft:blocks/iron_ingot_hot"
}
}
}
}

View File

@@ -0,0 +1,18 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone",
"texture": "forgecraft:blocks/stone",
"texture1": "forgecraft:blocks/anvil_base",
"texture2": "forgecraft:blocks/anvil_base_top"
},
"parent": "forgecraft:stoneanvil"
},
"variants": {
"facing=north": { "model": "forgecraft:stoneanvil" },
"facing=east": { "model": "forgecraft:stoneanvil", "y": 90 },
"facing=south": { "model": "forgecraft:stoneanvil", "y": 180 },
"facing=west": { "model": "forgecraft:stoneanvil", "y": 270 }
}
}

View File

@@ -7,15 +7,15 @@
"elements": [
{
"__comment": "Cube1",
"from": [ 7, 0, 7 ],
"to": [ 9, 2, 9 ],
"from": [ 6, 0, 6 ],
"to": [ 10, 4, 10 ],
"faces": {
"down": { "uv": [ 7, 5, 9, 7 ], "texture": "#texture" },
"up": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture" },
"north": { "uv": [ 7, 12, 9, 14 ], "texture": "#texture" },
"south": { "uv": [ 7, 14, 9, 16 ], "texture": "#texture" },
"west": { "uv": [ 5, 8, 7, 10 ], "texture": "#texture" },
"east": { "uv": [ 5, 10, 7, 12 ], "texture": "#texture" }
"down": { "uv": [ 6, 4, 10, 8 ], "texture": "#texture" },
"up": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture" },
"north": { "uv": [ 6, 11, 10, 15 ], "texture": "#texture" },
"south": { "uv": [ 6, 12, 10, 16 ], "texture": "#texture" },
"west": { "uv": [ 4, 7, 8, 11 ], "texture": "#texture" },
"east": { "uv": [ 4, 9, 8, 13 ], "texture": "#texture" }
}
}
],

View File

@@ -0,0 +1,40 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
},
"elements": [
{
"__comment": "Cube1",
"from": [ 7, 0, 7 ],
"to": [ 9, 2, 9 ],
"faces": {
"down": { "uv": [ 7, 6, 9, 7 ], "texture": "#texture" },
"up": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture" },
"north": { "uv": [ 8, 12, 10, 14 ], "texture": "#texture" },
"south": { "uv": [ 8, 13, 10, 15 ], "texture": "#texture" },
"west": { "uv": [ 5, 8, 7, 10 ], "texture": "#texture" },
"east": { "uv": [ 5, 10, 7, 12], "texture": "#texture" }
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [ 0, 7, -0.7 ]
},
"firstperson_righthand": {
"translation": [ 0, 7.35, 0 ]
},
"gui": {
"rotation": [ 30, 225, 0 ],
"scale": [ 0.625, 0.625, 0.625 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"translation": [ 0, 7, 0 ]
}
}
}

View File

@@ -0,0 +1,60 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"parent": "block/block",
"textures": {
"particle": "forgecraft:blocks/stone",
"texture": "forgecraft:blocks/stone",
"texture1": "forgecraft:blocks/anvil_base",
"texture2": "forgecraft:blocks/anvil_base_top"
},
"elements": [
{
"__comment": "Cube1",
"from": [ 0, 0, 0 ],
"to": [ 16, 14, 16 ],
"faces": {
"down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
"north": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" },
"south": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" },
"west": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0, 2, 16, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube2",
"from": [ 0, 14, 0 ],
"to": [ 16, 16, 16 ],
"faces": {
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2" },
"north": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture1" },
"south": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture1" },
"west": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture1" },
"east": { "uv": [ 0, 0, 16, 2 ], "texture": "#texture1" }
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [ 75, 45, 0 ],
"translation": [ 0, 2.5, 0 ],
"scale": [ 0.375, 0.375, 0.375 ]
},
"firstperson_righthand": {
"rotation": [ 0, 45, 0 ],
"scale": [ 0.4, 0.4, 0.4 ]
},
"gui": {
"rotation": [ 30, 225, 0 ],
"scale": [ 0.625, 0.625, 0.625 ]
},
"ground": {
"translation": [ 0, 3, 0 ],
"scale": [ 0.25, 0.25, 0.25 ]
},
"fixed": {
"scale": [ 0.5, 0.5, 0.5 ]
}
},
"overrides": [
]
}

View File

@@ -0,0 +1,8 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
},
"parent": "forgecraft:block/ironchunk"
}

View File

@@ -0,0 +1,10 @@
{
"forge_marker":1,
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/iron_ingot_hot"
},
"parent": "forgecraft:item/stonetongs_chunk_default"
}

View File

@@ -0,0 +1,124 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/iron_ingot_hot"
},
"elements": [
{
"__comment": "Cube1",
"from": [ 6, 0, 0 ],
"to": [ 7, 1, 3 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
"north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" },
"south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" },
"west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" },
"east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" }
}
},
{
"__comment": "Cube2",
"from": [ 9, 0, 0 ],
"to": [ 10, 1, 3 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
"north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" },
"south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" },
"west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" },
"east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" }
}
},
{
"__comment": "Cube3",
"from": [ 6, 0, 3 ],
"to": [ 7, 1, 8 ],
"rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
"faces": {
"down": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture" },
"up": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture" },
"north": { "uv": [ 11, 15, 12, 16 ], "texture": "#texture" },
"south": { "uv": [ 4, 15, 5, 16 ], "texture": "#texture" },
"west": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture" },
"east": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube5",
"from": [ 6, 0, 5.5 ],
"to": [ 7, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0.5, 7, 11 ], "texture": "#texture" },
"up": { "uv": [ 6, 4.5, 7, 15 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 5.5, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0.5, 15, 11, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube6",
"from": [ 9, 0, 5.5 ],
"to": [ 10, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0.5, 7, 11 ], "texture": "#texture" },
"up": { "uv": [ 6, 4.5, 7, 15 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 5.5, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0.5, 15, 11, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube7",
"from": [ 7, -0.5, 0 ],
"to": [ 9, 1.5, 2 ],
"faces": {
"down": { "uv": [ 7, 12, 9, 14 ], "texture": "#texture2" },
"up": { "uv": [ 7, 0, 9, 2 ], "texture": "#texture2" },
"north": { "uv": [ 7, 14, 9, 16 ], "texture": "#texture2" },
"south": { "uv": [ 7, 14, 9, 16 ], "texture": "#texture2" },
"west": { "uv": [ 0, 14, 2, 16 ], "texture": "#texture2" },
"east": { "uv": [ 14, 14, 16, 16 ], "texture": "#texture2" }
}
},
{
"__comment": "Cube3",
"from": [ 9, 0, 3 ],
"to": [ 10, 1, 8 ],
"rotation": { "origin": [ 10, 1, 3 ], "axis": "y", "angle": -45 },
"faces": {
"down": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture", "rotation": 180 },
"up": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture", "rotation": 180 },
"north": { "uv": [ 12, 16, 11, 15 ], "texture": "#texture" },
"south": { "uv": [ 5, 16, 4, 15 ], "texture": "#texture" },
"west": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture", "rotation": 180 },
"east": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture", "rotation": 180 }
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [60, 0, 0],
"translation": [ 0, 8.9, 3.7 ]
},
"firstperson_righthand": {
"translation": [ 0, 5.5, -7 ]
},
"gui": {
"rotation": [ 90, 0, 0 ],
"scale": [ 0.95, 0.95, 0.95 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 90, 0, 0 ],
"translation": [ 0, 0, 8 ]
}
}
}

View File

@@ -3,14 +3,14 @@
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/iron_ingot_hot"
"texture1": "blocks/stone_slab",
"texture2": "blocks/iron_ingot_hot"
},
"elements": [
{
"__comment": "Cube1",
"from": [ 6, 0, 0 ],
"to": [ 7, 1, 3 ],
"from": [ 5, 0, 0 ],
"to": [ 6, 1, 3 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
@@ -22,8 +22,8 @@
},
{
"__comment": "Cube2",
"from": [ 9, 0, 0 ],
"to": [ 10, 1, 3 ],
"from": [ 10, 0, 0 ],
"to": [ 11, 1, 3 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
@@ -35,11 +35,11 @@
},
{
"__comment": "Cube3",
"from": [ 6, 0, 3 ],
"to": [ 7, 1, 8 ],
"rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
"from": [ 5, 0, 3 ],
"to": [ 6, 1, 10 ],
"rotation": { "origin": [ 5, 0, 3 ], "axis": "y", "angle": 45 },
"faces": {
"down": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture" },
"down": { "uv": [ 7, 0, 8, 7 ], "texture": "#texture" },
"up": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture" },
"north": { "uv": [ 11, 15, 12, 16 ], "texture": "#texture" },
"south": { "uv": [ 4, 15, 5, 16 ], "texture": "#texture" },
@@ -49,48 +49,48 @@
},
{
"__comment": "Cube5",
"from": [ 6, 0, 5.5 ],
"to": [ 7, 1, 16 ],
"from": [ 5.5, 0, 7 ],
"to": [ 6.5, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0.5, 7, 11 ], "texture": "#texture" },
"up": { "uv": [ 6, 4.5, 7, 15 ], "texture": "#texture" },
"down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 5.5, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0.5, 15, 11, 16 ], "texture": "#texture" }
"west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube6",
"from": [ 9, 0, 5.5 ],
"to": [ 10, 1, 16 ],
"from": [ 9.5, 0, 7 ],
"to": [ 10.5, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0.5, 7, 11 ], "texture": "#texture" },
"up": { "uv": [ 6, 4.5, 7, 15 ], "texture": "#texture" },
"down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 6, 7, 7, 16 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 5.5, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0.5, 15, 11, 16 ], "texture": "#texture" }
"west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube7",
"from": [ 7, -0.5, 0 ],
"to": [ 9, 1.5, 2 ],
"from": [ 6, -0.5, -1.5 ],
"to": [ 10, 3.5, 2.5 ],
"faces": {
"down": { "uv": [ 7, 12, 9, 14 ], "texture": "#texture2" },
"up": { "uv": [ 7, 0, 9, 2 ], "texture": "#texture2" },
"north": { "uv": [ 7, 14, 9, 16 ], "texture": "#texture2" },
"south": { "uv": [ 7, 14, 9, 16 ], "texture": "#texture2" },
"west": { "uv": [ 0, 14, 2, 16 ], "texture": "#texture2" },
"east": { "uv": [ 14, 14, 16, 16 ], "texture": "#texture2" }
"down": { "uv": [ 7, 12, 11, 16 ], "texture": "#texture2" },
"up": { "uv": [ 7, 0, 11, 4 ], "texture": "#texture2" },
"north": { "uv": [ 7, 12, 11, 16 ], "texture": "#texture2" },
"south": { "uv": [ 7, 12, 11, 16 ], "texture": "#texture2" },
"west": { "uv": [ 0, 12, 4, 16 ], "texture": "#texture2" },
"east": { "uv": [ 12, 12, 16, 16 ], "texture": "#texture2" }
}
},
{
"__comment": "Cube3",
"from": [ 9, 0, 3 ],
"to": [ 10, 1, 8 ],
"rotation": { "origin": [ 10, 1, 3 ], "axis": "y", "angle": -45 },
"from": [ 10, 0, 3 ],
"to": [ 11, 1, 10 ],
"rotation": { "origin": [ 11, 1, 3 ], "axis": "y", "angle": -45 },
"faces": {
"down": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture", "rotation": 180 },
"up": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture", "rotation": 180 },

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B