Have a look at BlockLog and BlockRotatedPillar to see how they work. You'll also need to make sure you have a blockstate JSON file with properties for rotation, like acacia_log.json.
When posting code, please use PasteBin, GitHub or Gist and use syntax highlighting - it makes it much easier to read
public class BlockDecorationAC extends BlockBaseAC
{
public static final PropertyDirection FACING = PropertyDirection.create("facing",EnumFacing.Plane.HORIZONTAL);
public BlockDecorationAC(Material material)
{
super(material);
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
}
public class BlockJapaneseToriTampleGate extends BlockDecorationAC
{
public static PropertyEnum VARIANT = PropertyEnum.create("variant", BlockType.class);
0
not rotate like a Furnace with metadata rotation


0
Block rotation design put go rotate according to player according to direction, and a metadata.
0
I make a this file & Not work
-Main Class for extends
package nookerzaza.mods.asiancraft.common.blocks;
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.entity.EntityLivingBase;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumFacing.Plane;
import net.minecraft.world.World;
public class BlockDecorationAC extends BlockBaseAC
{
public static final PropertyDirection FACING = PropertyDirection.create("facing",EnumFacing.Plane.HORIZONTAL);
public BlockDecorationAC(Material material)
{
super(material);
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
}
public boolean isOpaqueCube() {
return false;
}
public boolean isFullCube() {
return false;
}
public IBlockState onBlockPlaced(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ,int meta, EntityLivingBase placer)
{
IBlockState state = super.onBlockPlaced(world, pos, facing, hitX, hitY, hitZ, meta, placer);
return state.withProperty(FACING, placer.getHorizontalFacing());
}
public int getMetaFromState(IBlockState state)
{
return ((EnumFacing) state.getValue(FACING)).getHorizontalIndex();
}
public IBlockState getStateFromMeta(int meta)
{
return getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta));
}
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] { FACING });
}
}
Block Class
package nookerzaza.mods.asiancraft.country.japanese.blocks;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFence;
import net.minecraft.block.BlockFenceGate;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityChest;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nookerzaza.mods.asiancraft.common.blocks.BlockBaseAC;
import nookerzaza.mods.asiancraft.common.blocks.BlockDecorationAC;
import nookerzaza.mods.asiancraft.core.AsianCraftCore;
import nookerzaza.mods.asiancraft.country.japanese.blocks.BlcokJapaneseFence.BlockType;
public class BlockJapaneseToriTampleGate extends BlockDecorationAC
{
public static PropertyEnum VARIANT = PropertyEnum.create("variant", BlockType.class);
public BlockJapaneseToriTampleGate(String name)
{
super(Material.rock);
this.setHardness(2.0F);
this.setStepSound(soundTypeStone);
this.setDefaultState(this.getDefaultState().withProperty(VARIANT, BlockType.tori_pole).withProperty(FACING, EnumFacing.NORTH));
this.setDefaultState(getDefaultState());
this.setUnlocalizedName(name);
}
@Override
public CreativeTabs getCreativeTabToDisplayOn()
{
return AsianCraftCore.japaneseTab;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean isFullCube()
{
return false;
}
public IBlockState onBlockPlaced(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ,int meta, EntityLivingBase placer)
{
IBlockState state = super.onBlockPlaced(world, pos, facing, hitX, hitY, hitZ, meta, placer);
return state.withProperty(FACING, placer.getHorizontalFacing().getOpposite());
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockAccess world, BlockPos pos, EnumFacing side)
{
return true;
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int i = 0; i < 2; ++i)
{
list.add(new ItemStack(this, 1, i));
}
}
@Override
public int damageDropped(IBlockState state)
{
return this.getMetaFromState(state);
}
@Override
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] { VARIANT, FACING });
}
@Override
public IBlockState getStateFromMeta(int meta)
{
EnumFacing enumfacing = EnumFacing.getFront(meta);
if (enumfacing.getAxis() == EnumFacing.Axis.Y) {
enumfacing = EnumFacing.NORTH;
}
return this.getDefaultState().withProperty(VARIANT, BlockType.values()[meta]);
}
@Override
public int getMetaFromState(IBlockState state)
{
return ((BlockType)state.getValue(VARIANT)).ordinal();
}
public static enum BlockType implements IStringSerializable
{
tori_pole,
tori_pole_v_shape;
@Override
public String toString()
{
return this.getName();
}
@Override
public String getName()
{
return this.name();
}
}
}
That not work , help me please!
0
this link = http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2815461-gl-eror-chunk-render-bug-asiancraft-mods
0
How to fix block not render the same the normal world in minecraft . me create a new dimension. are japanese world
and GL eror of this world in japanese world are coming in this world.
########################GL ERROR################################
@ Post Render
1283: Stack overflow
0
I would like to take this mod to development. In the name of "Asian's Craft". in 1.7.10 and freature
0
I would like to give my support to the mod your Mod. If it was sent to the [email protected]
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2424967-asians-craft-mod-v-1-0-4-1-7-10-update
0
Hello! everybody I'm Nookerzaza moder. This Mod Add More country is Thailand , Japanese , Asian's Craft is Version 1.0.4
Coming soon...
Japanese Dimension
japanese
- Add Tree ,sapling , door, sushi crafting Table,Chest, Fence,Wood , sushi and More
- add Furnace(fixed)
Thailand [W.I.P]
- add Ruby Ores and Ruby Items
Mod Download
Mod For v.1.7.2
Forge required 10.12.2.1147
download old version[1.7.2]
0.0.1 | download this --> http://www.mediafire.com/download/5c66vl15g52ybd8/Utsunagicraft 0.0.1.jar
0.0.2 | download this --> http://www.mediafire.com/download/kwdeci95rdd9456/Asiacraft 0.0.2.jar
Mod For 1.7.10
Forge required 10.13.2.1291
download new version[1.7.10]
[ 1.0.3 ] this is no Recipe |
download this --> http://www.mediafire.com/download/d3m4kt55tuczjzr/Asian's_Craft_1.0.3_no_Recipe__1.7.10.jar
1.0.4 (W.I.P) | download this --> http://www.mediafire.com/download/y3gyfidsf1kwh9d/Asian's_Craft_17.10_-_v.1.0.4.jar
Recipe
Japanese Furnace
put a Japanese Rice Seed to Japanese Furnace out put to Japanese Rice
Sushi Crafting Table
put seaweed on top , Seaweed bar and Japanese Rice is Out put to Sushi with Seaweed
Installation
For 1.7.2
1. Download and Install the Latest version of Forge 1.7.2
2. Put the Mod Into your Folder Mods
For 1.7.10
1. Download and Install the Forge 1.7.10
2. Put the Mod Into your folder Mods
Note : Put Into .minecraft/mods Only!
Enjoy!
Credit
All copyright to...
texture :
Biome O' Plenty
Aether II
Some Resource Pack
Bug Report please write in Reply Only! (Wait for website to Create)
Note 1 : My English is very bad. This isn't my main language!
Note 2 : If you understand thai language.(สวัสดีครับ ผมนะอาจใช้ภาษาอังกฤษแปลกๆ เพราะผมไม่เก่งอะไรมากหรอกนะครับผม -.-)
Note 3: I'm Thai. I'm not English Okay.
0
This mod about japanese
-----------------------------------------------------Add------------------------------------------------------------
ore ,Block and Item
-------------------------------------------------download---------------------------------------------------------
http://www.mediafire.com/download/5c66vl15g52ybd8/Utsunagicraft 0.0.1.jar
---------------------------------------------------Credit-------------------------------------------------------------
texture some Resorcepack and mod Biome O' penty