Change to using proper blockstates

This commit is contained in:
Ellpeck 2016-11-21 16:23:48 +01:00
parent 12c7acf3f3
commit 0dc3dd7d1a
66 changed files with 767 additions and 595 deletions

View file

@ -18,11 +18,10 @@ import de.ellpeck.actuallyadditions.mod.util.AssetUtil;
import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil;
import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.*;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.ScaledResolution;
@ -35,6 +34,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@ -48,7 +49,6 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud
public static final int NAME_FLAVOR_AMOUNTS_1 = 12; public static final int NAME_FLAVOR_AMOUNTS_1 = 12;
public static final int NAME_FLAVOR_AMOUNTS_2 = 14; public static final int NAME_FLAVOR_AMOUNTS_2 = 14;
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
public BlockAtomicReconstructor(String name){ public BlockAtomicReconstructor(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
@ -148,8 +148,28 @@ public class BlockAtomicReconstructor extends BlockContainerBase implements IHud
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{

View file

@ -16,10 +16,12 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityBreaker; import de.ellpeck.actuallyadditions.mod.tile.TileEntityBreaker;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityPlacer; import de.ellpeck.actuallyadditions.mod.tile.TileEntityPlacer;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -28,12 +30,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockBreaker extends BlockContainerBase{ public class BlockBreaker extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
private final boolean isPlacer; private final boolean isPlacer;
public BlockBreaker(boolean isPlacer, String name){ public BlockBreaker(boolean isPlacer, String name){
@ -80,8 +83,28 @@ public class BlockBreaker extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
@Override @Override

View file

@ -15,18 +15,19 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoalGenerator; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoalGenerator;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.*;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -37,8 +38,6 @@ import java.util.Random;
public class BlockCoalGenerator extends BlockContainerBase{ public class BlockCoalGenerator extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 3);
public BlockCoalGenerator(String name){ public BlockCoalGenerator(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -90,20 +89,7 @@ public class BlockCoalGenerator extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@ -120,7 +106,27 @@ public class BlockCoalGenerator extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
} }

View file

@ -14,9 +14,11 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoffeeMachine; import de.ellpeck.actuallyadditions.mod.tile.TileEntityCoffeeMachine;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -25,6 +27,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -35,8 +39,6 @@ public class BlockCoffeeMachine extends BlockContainerBase{
private static final AxisAlignedBB AABB = new AxisAlignedBB(0.0625, 0, 0.0625, 1-0.0625, 1-0.0625*2, 1-0.0625); private static final AxisAlignedBB AABB = new AxisAlignedBB(0.0625, 0, 0.0625, 1-0.0625, 1-0.0625*2, 1-0.0625);
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 3);
public BlockCoffeeMachine(String name){ public BlockCoffeeMachine(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -112,7 +114,27 @@ public class BlockCoffeeMachine extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
} }

View file

@ -15,12 +15,15 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks;
import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil;
import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -43,7 +46,7 @@ import java.util.Random;
public class BlockColoredLamp extends BlockBase{ public class BlockColoredLamp extends BlockBase{
public static final TheColoredLampColors[] ALL_LAMP_TYPES = TheColoredLampColors.values(); public static final TheColoredLampColors[] ALL_LAMP_TYPES = TheColoredLampColors.values();
private static final PropertyInteger META = PropertyInteger.create("meta", 0, ALL_LAMP_TYPES.length-1); private static final PropertyEnum<TheColoredLampColors> TYPE = PropertyEnum.create("type", TheColoredLampColors.class);
public final boolean isOn; public final boolean isOn;
public BlockColoredLamp(boolean isOn, String name){ public BlockColoredLamp(boolean isOn, String name){
@ -126,7 +129,7 @@ public class BlockColoredLamp extends BlockBase{
@Override @Override
protected void registerRendering(){ protected void registerRendering(){
for(int i = 0; i < ALL_LAMP_TYPES.length; i++){ for(int i = 0; i < ALL_LAMP_TYPES.length; i++){
ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), META.getName()+"="+i); ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), TYPE.getName()+"="+ALL_LAMP_TYPES[i].regName);
} }
} }
@ -136,8 +139,18 @@ public class BlockColoredLamp extends BlockBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(TYPE, TheColoredLampColors.values()[meta]);
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(TYPE).ordinal();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, TYPE);
} }
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{

View file

@ -16,14 +16,20 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals; import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Mirror;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.Rotation;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
@ -32,7 +38,7 @@ import java.util.List;
public class BlockCrystal extends BlockBase{ public class BlockCrystal extends BlockBase{
public static final TheCrystals[] ALL_CRYSTALS = TheCrystals.values(); public static final TheCrystals[] ALL_CRYSTALS = TheCrystals.values();
private static final PropertyInteger META = PropertyInteger.create("meta", 0, ALL_CRYSTALS.length-1); private static final PropertyEnum<TheCrystals> TYPE = PropertyEnum.create("type", TheCrystals.class);
private final boolean isEmpowered; private final boolean isEmpowered;
@ -65,20 +71,30 @@ public class BlockCrystal extends BlockBase{
@Override @Override
protected void registerRendering(){ protected void registerRendering(){
for(int i = 0; i < ALL_CRYSTALS.length; i++){ for(int i = 0; i < ALL_CRYSTALS.length; i++){
ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), META.getName()+"="+i); ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), TYPE.getName()+"="+ALL_CRYSTALS[i].name);
} }
} }
@Override
public IBlockState getStateFromMeta(int meta){
return this.getDefaultState().withProperty(TYPE, TheCrystals.values()[meta]);
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(TYPE).ordinal();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, TYPE);
}
@Override @Override
public EnumRarity getRarity(ItemStack stack){ public EnumRarity getRarity(ItemStack stack){
return stack.getItemDamage() >= ALL_CRYSTALS.length ? EnumRarity.COMMON : ALL_CRYSTALS[stack.getItemDamage()].rarity; return stack.getItemDamage() >= ALL_CRYSTALS.length ? EnumRarity.COMMON : ALL_CRYSTALS[stack.getItemDamage()].rarity;
} }
@Override
protected PropertyInteger getMetaProperty(){
return META;
}
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{
public TheItemBlock(Block block){ public TheItemBlock(Block block){

View file

@ -15,10 +15,12 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityDirectionalBreaker; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDirectionalBreaker;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -27,13 +29,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockDirectionalBreaker extends BlockContainerBase{ public class BlockDirectionalBreaker extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
public BlockDirectionalBreaker(String name){ public BlockDirectionalBreaker(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -77,8 +79,28 @@ public class BlockDirectionalBreaker extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
@Override @Override

View file

@ -14,10 +14,13 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityDropper; import de.ellpeck.actuallyadditions.mod.tile.TileEntityDropper;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -26,13 +29,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockDropper extends BlockContainerBase{ public class BlockDropper extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
public BlockDropper(String name){ public BlockDropper(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -76,8 +79,28 @@ public class BlockDropper extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
@Override @Override

View file

@ -14,9 +14,12 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityFarmer; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFarmer;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -25,14 +28,14 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockFarmer extends BlockContainerBase{ public class BlockFarmer extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 3);
public BlockFarmer(String name){ public BlockFarmer(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -66,27 +69,34 @@ public class BlockFarmer extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
@Override @Override

View file

@ -16,10 +16,12 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityFluidCollector; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFluidCollector;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityFluidPlacer; import de.ellpeck.actuallyadditions.mod.tile.TileEntityFluidPlacer;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -28,13 +30,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockFluidCollector extends BlockContainerBase{ public class BlockFluidCollector extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
private final boolean isPlacer; private final boolean isPlacer;
public BlockFluidCollector(boolean isPlacer, String name){ public BlockFluidCollector(boolean isPlacer, String name){
@ -84,8 +86,28 @@ public class BlockFluidCollector extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
@Override @Override

View file

@ -18,20 +18,18 @@ import de.ellpeck.actuallyadditions.mod.tile.TileEntityFurnaceDouble;
import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.*;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -43,8 +41,6 @@ import java.util.Random;
public class BlockFurnaceDouble extends BlockContainerBase{ public class BlockFurnaceDouble extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 7);
public BlockFurnaceDouble(String name){ public BlockFurnaceDouble(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -63,34 +59,13 @@ public class BlockFurnaceDouble extends BlockContainerBase{
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand){ public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand){
int meta = this.getMetaFromState(state); TileEntity tile = world.getTileEntity(pos);
if(tile instanceof TileEntityFurnaceDouble){
if(meta > 3){ TileEntityFurnaceDouble furnace = (TileEntityFurnaceDouble)tile;
float f = (float)pos.getX()+0.5F; if(furnace.firstSmeltTime > 0 || furnace.secondSmeltTime > 0){
float f1 = (float)pos.getY()+0.0F+rand.nextFloat()*6.0F/16.0F; for(int i = 0; i < 5; i++){
float f2 = (float)pos.getZ()+0.5F; world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D);
float f3 = 0.52F; }
float f4 = rand.nextFloat()*0.6F-0.3F;
if(meta == 6){
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D);
world.spawnParticle(EnumParticleTypes.FLAME, (double)(f-f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D);
}
if(meta == 7){
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D);
world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f3), (double)f1, (double)(f2+f4), 0.0D, 0.0D, 0.0D);
}
if(meta == 4){
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D);
world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f4), (double)f1, (double)(f2-f3), 0.0D, 0.0D, 0.0D);
}
if(meta == 5){
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D);
world.spawnParticle(EnumParticleTypes.FLAME, (double)(f+f4), (double)f1, (double)(f2+f3), 0.0D, 0.0D, 0.0D);
}
for(int i = 0; i < 5; i++){
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D);
} }
} }
} }
@ -119,27 +94,34 @@ public class BlockFurnaceDouble extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
@Override @Override

View file

@ -17,7 +17,6 @@ import de.ellpeck.actuallyadditions.mod.tile.TileEntityGrinder;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityGrinderDouble; import de.ellpeck.actuallyadditions.mod.tile.TileEntityGrinderDouble;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
@ -36,7 +35,6 @@ import java.util.Random;
public class BlockGrinder extends BlockContainerBase{ public class BlockGrinder extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 1);
private final boolean isDouble; private final boolean isDouble;
public BlockGrinder(boolean isDouble, String name){ public BlockGrinder(boolean isDouble, String name){
@ -49,7 +47,6 @@ public class BlockGrinder extends BlockContainerBase{
this.setTickRandomly(true); this.setTickRandomly(true);
} }
@Override @Override
public TileEntity createNewTileEntity(World world, int par2){ public TileEntity createNewTileEntity(World world, int par2){
return this.isDouble ? new TileEntityGrinderDouble() : new TileEntityGrinder(); return this.isDouble ? new TileEntityGrinderDouble() : new TileEntityGrinder();
@ -58,16 +55,19 @@ public class BlockGrinder extends BlockContainerBase{
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand){ public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand){
int meta = this.getMetaFromState(state); TileEntity tile = world.getTileEntity(pos);
if(tile instanceof TileEntityGrinder){
if(meta == 1){ TileEntityGrinder crusher = (TileEntityGrinder)tile;
for(int i = 0; i < 5; i++){ if(crusher.firstCrushTime > 0 || crusher.secondCrushTime > 0){
double xRand = rand.nextDouble()/0.75D-0.5D; for(int i = 0; i < 5; i++){
double zRand = rand.nextDouble()/0.75D-0.5D; double xRand = rand.nextDouble()/0.75D-0.5D;
world.spawnParticle(EnumParticleTypes.CRIT, (double)pos.getX()+0.4F, (double)pos.getY()+0.8F, (double)pos.getZ()+0.4F, xRand, 0.5D, zRand); double zRand = rand.nextDouble()/0.75D-0.5D;
world.spawnParticle(EnumParticleTypes.CRIT, (double)pos.getX()+0.4F, (double)pos.getY()+0.8F, (double)pos.getZ()+0.4F, xRand, 0.5D, zRand);
}
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D);
} }
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, (double)pos.getX()+0.5F, (double)pos.getY()+1.0F, (double)pos.getZ()+0.5F, 0.0D, 0.0D, 0.0D);
} }
} }
@Override @Override
@ -88,13 +88,13 @@ public class BlockGrinder extends BlockContainerBase{
} }
@Override @Override
public EnumRarity getRarity(ItemStack stack){ public int damageDropped(IBlockState state){
return EnumRarity.EPIC; return 0;
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public EnumRarity getRarity(ItemStack stack){
return META; return EnumRarity.EPIC;
} }
@Override @Override

View file

@ -14,15 +14,19 @@ package de.ellpeck.actuallyadditions.mod.blocks;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase;
import de.ellpeck.actuallyadditions.mod.util.WorldUtil; import de.ellpeck.actuallyadditions.mod.util.WorldUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockPistonBase; import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -31,8 +35,6 @@ import java.util.List;
public class BlockLampPowerer extends BlockBase{ public class BlockLampPowerer extends BlockBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
public BlockLampPowerer(String name){ public BlockLampPowerer(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -104,7 +106,27 @@ public class BlockLampPowerer extends BlockBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
} }

View file

@ -18,9 +18,12 @@ import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.*; import de.ellpeck.actuallyadditions.mod.tile.*;
import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.ScaledResolution;
@ -32,6 +35,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
@ -56,7 +61,6 @@ public class BlockLaserRelay extends BlockContainerBase implements IHudDisplay{
private static final AxisAlignedBB AABB_SOUTH = new AxisAlignedBB(2*F, 2*F, 0, 1-2*F, 1-2*F, 1-6*F); private static final AxisAlignedBB AABB_SOUTH = new AxisAlignedBB(2*F, 2*F, 0, 1-2*F, 1-2*F, 1-6*F);
private static final AxisAlignedBB AABB_WEST = new AxisAlignedBB(6*F, 2*F, 2*F, 1, 1-2*F, 1-2*F); private static final AxisAlignedBB AABB_WEST = new AxisAlignedBB(6*F, 2*F, 2*F, 1, 1-2*F, 1-2*F);
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 5);
private final Type type; private final Type type;
public BlockLaserRelay(String name, Type type){ public BlockLaserRelay(String name, Type type){
@ -130,8 +134,28 @@ public class BlockLaserRelay extends BlockContainerBase implements IHudDisplay{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockDirectional.FACING, EnumFacing.getFront(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockDirectional.FACING).getIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockDirectional.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockDirectional.FACING, rot.rotate(state.getValue(BlockDirectional.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockDirectional.FACING)));
} }
@Override @Override

View file

@ -14,10 +14,13 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheMiscBlocks;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheWildPlants;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
@ -32,7 +35,7 @@ import java.util.List;
public class BlockMisc extends BlockBase{ public class BlockMisc extends BlockBase{
public static final TheMiscBlocks[] ALL_MISC_BLOCKS = TheMiscBlocks.values(); public static final TheMiscBlocks[] ALL_MISC_BLOCKS = TheMiscBlocks.values();
private static final PropertyInteger META = PropertyInteger.create("meta", 0, ALL_MISC_BLOCKS.length-1); private static final PropertyEnum<TheMiscBlocks> TYPE = PropertyEnum.create("type", TheMiscBlocks.class);
public BlockMisc(String name){ public BlockMisc(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
@ -62,7 +65,7 @@ public class BlockMisc extends BlockBase{
@Override @Override
protected void registerRendering(){ protected void registerRendering(){
for(int i = 0; i < ALL_MISC_BLOCKS.length; i++){ for(int i = 0; i < ALL_MISC_BLOCKS.length; i++){
ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), META.getName()+"="+i); ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), TYPE.getName()+"="+ALL_MISC_BLOCKS[i].name);
} }
} }
@ -72,8 +75,18 @@ public class BlockMisc extends BlockBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(TYPE, TheMiscBlocks.values()[meta]);
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(TYPE).ordinal();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, TYPE);
} }
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{

View file

@ -15,18 +15,18 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityOilGenerator; import de.ellpeck.actuallyadditions.mod.tile.TileEntityOilGenerator;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.*;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -93,20 +93,7 @@ public class BlockOilGenerator extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@ -123,8 +110,27 @@ public class BlockOilGenerator extends BlockContainerBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
} }
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
}
} }

View file

@ -14,17 +14,17 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.BlockSlab;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumActionResult; import net.minecraft.util.*;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
@ -37,7 +37,6 @@ public class BlockSlabs extends BlockBase{
public static final AxisAlignedBB AABB_BOTTOM_HALF = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.5D, 1.0D); public static final AxisAlignedBB AABB_BOTTOM_HALF = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.5D, 1.0D);
private static final AxisAlignedBB AABB_TOP_HALF = new AxisAlignedBB(0.0D, 0.5D, 0.0D, 1.0D, 1.0D, 1.0D); private static final AxisAlignedBB AABB_TOP_HALF = new AxisAlignedBB(0.0D, 0.5D, 0.0D, 1.0D, 1.0D, 1.0D);
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 1);
private final Block fullBlock; private final Block fullBlock;
private final int meta; private final int meta;
@ -91,7 +90,7 @@ public class BlockSlabs extends BlockBase{
@Override @Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos){ public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos){
return state.getValue(META) == 1 ? AABB_TOP_HALF : AABB_BOTTOM_HALF; return state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.TOP ? AABB_TOP_HALF : AABB_BOTTOM_HALF;
} }
@Override @Override
@ -105,8 +104,18 @@ public class BlockSlabs extends BlockBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockSlab.HALF, meta == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP);
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.BOTTOM ? 0 : 1;
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockSlab.HALF);
} }
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{
@ -125,7 +134,7 @@ public class BlockSlabs extends BlockBase{
if(state.getBlock() == this.block){ if(state.getBlock() == this.block){
BlockSlabs theBlock = (BlockSlabs)this.block; BlockSlabs theBlock = (BlockSlabs)this.block;
if((facing == EnumFacing.UP && state.getValue(META) == 0 || facing == EnumFacing.DOWN && state.getValue(META) == 1)){ if((facing == EnumFacing.UP && state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.BOTTOM) || (facing == EnumFacing.DOWN && state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.TOP)){
IBlockState newState = theBlock.fullBlock.getStateFromMeta(theBlock.meta); IBlockState newState = theBlock.fullBlock.getStateFromMeta(theBlock.meta);
AxisAlignedBB bound = newState.getCollisionBoundingBox(worldIn, pos); AxisAlignedBB bound = newState.getCollisionBoundingBox(worldIn, pos);
@ -152,7 +161,7 @@ public class BlockSlabs extends BlockBase{
IBlockState state = worldIn.getBlockState(pos); IBlockState state = worldIn.getBlockState(pos);
if(state.getBlock() == this.block){ if(state.getBlock() == this.block){
if((side == EnumFacing.UP && state.getValue(META) == 0 || side == EnumFacing.DOWN && state.getValue(META) == 1)){ if((side == EnumFacing.UP && state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.BOTTOM) || (side == EnumFacing.DOWN && state.getValue(BlockSlab.HALF) == BlockSlab.EnumBlockHalf.TOP)){
return true; return true;
} }
} }

View file

@ -16,18 +16,18 @@ import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntitySmileyCloud; import de.ellpeck.actuallyadditions.mod.tile.TileEntitySmileyCloud;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.*;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -38,8 +38,6 @@ import java.util.Random;
public class BlockSmileyCloud extends BlockContainerBase{ public class BlockSmileyCloud extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 7);
public BlockSmileyCloud(String name){ public BlockSmileyCloud(String name){
super(Material.CLOTH, name); super(Material.CLOTH, name);
this.setHardness(0.5F); this.setHardness(0.5F);
@ -103,26 +101,33 @@ public class BlockSmileyCloud extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
} }

View file

@ -15,9 +15,11 @@ import de.ellpeck.actuallyadditions.api.recipe.TreasureChestLoot;
import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements; import de.ellpeck.actuallyadditions.mod.achievement.TheAchievements;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBase;
import de.ellpeck.actuallyadditions.mod.util.StackUtil; import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
@ -37,8 +39,6 @@ import java.util.Random;
public class BlockTreasureChest extends BlockBase{ public class BlockTreasureChest extends BlockBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 3);
public BlockTreasureChest(String name){ public BlockTreasureChest(String name){
super(Material.WOOD, name); super(Material.WOOD, name);
this.setHarvestLevel("axe", 0); this.setHarvestLevel("axe", 0);
@ -79,20 +79,9 @@ public class BlockTreasureChest extends BlockBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){ super.onBlockPlacedBy(world, pos, state, player, stack);
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
} }
@Override @Override
@ -124,7 +113,27 @@ public class BlockTreasureChest extends BlockBase{
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
} }

View file

@ -16,11 +16,14 @@ import de.ellpeck.actuallyadditions.mod.blocks.base.BlockBushBase;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockPlant; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockPlant;
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase; import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheWildPlants; import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheWildPlants;
import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals;
import de.ellpeck.actuallyadditions.mod.util.StringUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -41,7 +44,7 @@ import java.util.List;
public class BlockWildPlant extends BlockBushBase{ public class BlockWildPlant extends BlockBushBase{
public static final TheWildPlants[] ALL_WILD_PLANTS = TheWildPlants.values(); public static final TheWildPlants[] ALL_WILD_PLANTS = TheWildPlants.values();
private static final PropertyInteger META = PropertyInteger.create("meta", 0, ALL_WILD_PLANTS.length-1); private static final PropertyEnum<TheWildPlants> TYPE = PropertyEnum.create("type", TheWildPlants.class);
public BlockWildPlant(String name){ public BlockWildPlant(String name){
super(name); super(name);
@ -96,20 +99,30 @@ public class BlockWildPlant extends BlockBushBase{
@Override @Override
protected void registerRendering(){ protected void registerRendering(){
for(int i = 0; i < ALL_WILD_PLANTS.length; i++){ for(int i = 0; i < ALL_WILD_PLANTS.length; i++){
ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), META.getName()+"="+i); ActuallyAdditions.proxy.addRenderRegister(new ItemStack(this, 1, i), this.getRegistryName(), TYPE.getName()+"="+ALL_WILD_PLANTS[i].name);
} }
} }
@Override
public IBlockState getStateFromMeta(int meta){
return this.getDefaultState().withProperty(TYPE, TheWildPlants.values()[meta]);
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(TYPE).ordinal();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, TYPE);
}
@Override @Override
public EnumRarity getRarity(ItemStack stack){ public EnumRarity getRarity(ItemStack stack){
return stack.getItemDamage() >= ALL_WILD_PLANTS.length ? EnumRarity.COMMON : ALL_WILD_PLANTS[stack.getItemDamage()].rarity; return stack.getItemDamage() >= ALL_WILD_PLANTS.length ? EnumRarity.COMMON : ALL_WILD_PLANTS[stack.getItemDamage()].rarity;
} }
@Override
protected PropertyInteger getMetaProperty(){
return META;
}
public static class TheItemBlock extends ItemBlockBase{ public static class TheItemBlock extends ItemBlockBase{
public TheItemBlock(Block block){ public TheItemBlock(Block block){
@ -121,7 +134,7 @@ public class BlockWildPlant extends BlockBushBase{
@Override @Override
public String getUnlocalizedName(ItemStack stack){ public String getUnlocalizedName(ItemStack stack){
return stack.getItemDamage() >= ALL_WILD_PLANTS.length ? StringUtil.BUGGED_ITEM_NAME : this.getUnlocalizedName()+ALL_WILD_PLANTS[stack.getItemDamage()].name; return stack.getItemDamage() >= ALL_WILD_PLANTS.length ? StringUtil.BUGGED_ITEM_NAME : this.getUnlocalizedName()+"_"+ALL_WILD_PLANTS[stack.getItemDamage()].name;
} }
} }
} }

View file

@ -15,9 +15,11 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase; import de.ellpeck.actuallyadditions.mod.blocks.base.BlockContainerBase;
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler; import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityXPSolidifier; import de.ellpeck.actuallyadditions.mod.tile.TileEntityXPSolidifier;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -26,14 +28,14 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockXPSolidifier extends BlockContainerBase{ public class BlockXPSolidifier extends BlockContainerBase{
private static final PropertyInteger META = PropertyInteger.create("meta", 0, 3);
public BlockXPSolidifier(String name){ public BlockXPSolidifier(String name){
super(Material.ROCK, name); super(Material.ROCK, name);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
@ -67,27 +69,34 @@ public class BlockXPSolidifier extends BlockContainerBase{
@Override @Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack){
int rotation = MathHelper.floor_double((double)(player.rotationYaw*4.0F/360.0F)+0.5D) & 3; world.setBlockState(pos, state.withProperty(BlockHorizontal.FACING, player.getHorizontalFacing().getOpposite()), 2);
if(rotation == 0){
world.setBlockState(pos, this.getStateFromMeta(0), 2);
}
if(rotation == 1){
world.setBlockState(pos, this.getStateFromMeta(3), 2);
}
if(rotation == 2){
world.setBlockState(pos, this.getStateFromMeta(1), 2);
}
if(rotation == 3){
world.setBlockState(pos, this.getStateFromMeta(2), 2);
}
super.onBlockPlacedBy(world, pos, state, player, stack); super.onBlockPlacedBy(world, pos, state, player, stack);
} }
@Override @Override
protected PropertyInteger getMetaProperty(){ public IBlockState getStateFromMeta(int meta){
return META; return this.getDefaultState().withProperty(BlockHorizontal.FACING, EnumFacing.getHorizontal(meta));
}
@Override
public int getMetaFromState(IBlockState state){
return state.getValue(BlockHorizontal.FACING).getHorizontalIndex();
}
@Override
protected BlockStateContainer createBlockState(){
return new BlockStateContainer(this, BlockHorizontal.FACING);
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot){
return state.withProperty(BlockHorizontal.FACING, rot.rotate(state.getValue(BlockHorizontal.FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirror){
return this.withRotation(state, mirror.toRotation(state.getValue(BlockHorizontal.FACING)));
} }
@Override @Override

View file

@ -57,24 +57,4 @@ public class BlockBase extends Block implements ItemBlockBase.ICustomRarity{
public EnumRarity getRarity(ItemStack stack){ public EnumRarity getRarity(ItemStack stack){
return EnumRarity.COMMON; return EnumRarity.COMMON;
} }
@Override
public IBlockState getStateFromMeta(int meta){
return this.getMetaProperty() == null ? super.getStateFromMeta(meta) : this.getDefaultState().withProperty(this.getMetaProperty(), meta);
}
@Override
public int getMetaFromState(IBlockState state){
return this.getMetaProperty() == null ? super.getMetaFromState(state) : state.getValue(this.getMetaProperty());
}
@Override
protected BlockStateContainer createBlockState(){
return this.getMetaProperty() == null ? super.createBlockState() : new BlockStateContainer(this, this.getMetaProperty());
}
protected PropertyInteger getMetaProperty(){
return null;
}
} }

View file

@ -57,24 +57,4 @@ public class BlockBushBase extends BlockBush implements ItemBlockBase.ICustomRar
public EnumRarity getRarity(ItemStack stack){ public EnumRarity getRarity(ItemStack stack){
return EnumRarity.COMMON; return EnumRarity.COMMON;
} }
@Override
public IBlockState getStateFromMeta(int meta){
return this.getMetaProperty() == null ? super.getStateFromMeta(meta) : this.getDefaultState().withProperty(this.getMetaProperty(), meta);
}
@Override
public int getMetaFromState(IBlockState state){
return this.getMetaProperty() == null ? super.getMetaFromState(state) : state.getValue(this.getMetaProperty());
}
@Override
protected BlockStateContainer createBlockState(){
return this.getMetaProperty() == null ? super.createBlockState() : new BlockStateContainer(this, this.getMetaProperty());
}
protected PropertyInteger getMetaProperty(){
return null;
}
} }

View file

@ -132,16 +132,6 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB
return false; return false;
} }
@Override
public IBlockState getStateFromMeta(int meta){
return this.getMetaProperty() == null ? super.getStateFromMeta(meta) : this.getDefaultState().withProperty(this.getMetaProperty(), meta);
}
@Override
public int getMetaFromState(IBlockState state){
return this.getMetaProperty() == null ? super.getMetaFromState(state) : state.getValue(this.getMetaProperty());
}
@Override @Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random random){ public void updateTick(World world, BlockPos pos, IBlockState state, Random random){
if(!world.isRemote){ if(!world.isRemote){
@ -245,13 +235,6 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB
return 0; return 0;
} }
@Override
protected BlockStateContainer createBlockState(){
return this.getMetaProperty() == null ? super.createBlockState() : new BlockStateContainer(this, this.getMetaProperty());
}
@Override @Override
public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune){ public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune){
ArrayList<ItemStack> drops = new ArrayList<ItemStack>(); ArrayList<ItemStack> drops = new ArrayList<ItemStack>();
@ -290,11 +273,6 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB
return drops; return drops;
} }
protected PropertyInteger getMetaProperty(){
return null;
}
@Override @Override
public EnumBlockRenderType getRenderType(IBlockState state){ public EnumBlockRenderType getRenderType(IBlockState state){
return EnumBlockRenderType.MODEL; return EnumBlockRenderType.MODEL;

View file

@ -10,7 +10,9 @@
package de.ellpeck.actuallyadditions.mod.blocks.metalists; package de.ellpeck.actuallyadditions.mod.blocks.metalists;
public enum TheColoredLampColors{ import net.minecraft.util.IStringSerializable;
public enum TheColoredLampColors implements IStringSerializable{
WHITE("White", "white"), WHITE("White", "white"),
ORANGE("Orange", "orange"), ORANGE("Orange", "orange"),
@ -37,6 +39,11 @@ public enum TheColoredLampColors{
this.regName = regName; this.regName = regName;
} }
@Override
public String getName(){
return this.regName;
}
public static TheColoredLampColors getColorFromDyeName(String color){ public static TheColoredLampColors getColorFromDyeName(String color){
if(color.substring(0, 3).equals("dye")){ if(color.substring(0, 3).equals("dye")){
String actualName = color.substring(3); String actualName = color.substring(3);

View file

@ -11,8 +11,9 @@
package de.ellpeck.actuallyadditions.mod.blocks.metalists; package de.ellpeck.actuallyadditions.mod.blocks.metalists;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.util.IStringSerializable;
public enum TheMiscBlocks{ public enum TheMiscBlocks implements IStringSerializable{
QUARTZ_PILLAR("black_quartz_pillar", EnumRarity.RARE), QUARTZ_PILLAR("black_quartz_pillar", EnumRarity.RARE),
QUARTZ_CHISELED("black_quartz_chiseled", EnumRarity.RARE), QUARTZ_CHISELED("black_quartz_chiseled", EnumRarity.RARE),
@ -32,4 +33,9 @@ public enum TheMiscBlocks{
this.name = name; this.name = name;
this.rarity = rarity; this.rarity = rarity;
} }
@Override
public String getName(){
return this.name;
}
} }

View file

@ -13,13 +13,14 @@ package de.ellpeck.actuallyadditions.mod.blocks.metalists;
import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks; import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.util.IStringSerializable;
public enum TheWildPlants{ public enum TheWildPlants implements IStringSerializable{
CANOLA("Canola", EnumRarity.RARE, InitBlocks.blockCanola), CANOLA("canola", EnumRarity.RARE, InitBlocks.blockCanola),
FLAX("Flax", EnumRarity.RARE, InitBlocks.blockFlax), FLAX("flax", EnumRarity.RARE, InitBlocks.blockFlax),
RICE("Rice", EnumRarity.RARE, InitBlocks.blockRice), RICE("rice", EnumRarity.RARE, InitBlocks.blockRice),
COFFEE("Coffee", EnumRarity.RARE, InitBlocks.blockCoffee); COFFEE("coffee", EnumRarity.RARE, InitBlocks.blockCoffee);
public final String name; public final String name;
public final EnumRarity rarity; public final EnumRarity rarity;
@ -30,4 +31,9 @@ public enum TheWildPlants{
this.rarity = rarity; this.rarity = rarity;
this.wildVersionOf = wildVersionOf; this.wildVersionOf = wildVersionOf;
} }
@Override
public String getName(){
return this.name;
}
} }

View file

@ -32,8 +32,6 @@ public class RenderSmileyCloud extends TileEntitySpecialRenderer{
GlStateManager.rotate(180F, 0.0F, 0.0F, 1.0F); GlStateManager.rotate(180F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(0.0F, -2F, 0.0F); GlStateManager.translate(0.0F, -2F, 0.0F);
theCloud.setStatus(theCloud.name != null && !theCloud.name.isEmpty() && theCloud.name.equals("Pink Fluffy Unicloud"));
if(theCloud.name != null && !theCloud.name.isEmpty()){ if(theCloud.name != null && !theCloud.name.isEmpty()){
easterEggs: easterEggs:
for(ISmileyCloudEasterEgg cloud : SmileyCloudEasterEggs.CLOUD_STUFF){ for(ISmileyCloudEasterEgg cloud : SmileyCloudEasterEggs.CLOUD_STUFF){

View file

@ -12,8 +12,9 @@ package de.ellpeck.actuallyadditions.mod.items.metalists;
import de.ellpeck.actuallyadditions.mod.util.Util; import de.ellpeck.actuallyadditions.mod.util.Util;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.util.IStringSerializable;
public enum TheCrystals{ public enum TheCrystals implements IStringSerializable{
REDSTONE("red", Util.CRYSTAL_RED_RARITY, 158F/255F, 43F/255F, 39F/255F), REDSTONE("red", Util.CRYSTAL_RED_RARITY, 158F/255F, 43F/255F, 39F/255F),
LAPIS("blue", Util.CRYSTAL_BLUE_RARITY, 37F/255F, 49F/255F, 147F/255F), LAPIS("blue", Util.CRYSTAL_BLUE_RARITY, 37F/255F, 49F/255F, 147F/255F),
@ -31,4 +32,9 @@ public enum TheCrystals{
this.rarity = rarity; this.rarity = rarity;
this.conversionColorParticles = conversionColorParticles; this.conversionColorParticles = conversionColorParticles;
} }
@Override
public String getName(){
return this.name;
}
} }

View file

@ -139,21 +139,6 @@ public class TileEntityFurnaceDouble extends TileEntityInventoryBase implements
this.secondSmeltTime = 0; this.secondSmeltTime = 0;
} }
if(flag != (this.firstSmeltTime > 0 || this.secondSmeltTime > 0)){
this.markDirty();
IBlockState state = this.worldObj.getBlockState(this.pos);
Block block = state.getBlock();
int meta = block.getMetaFromState(state);
if(meta > 3){
if(!this.canSmeltOn(SLOT_INPUT_1, SLOT_OUTPUT_1) && !this.canSmeltOn(SLOT_INPUT_2, SLOT_OUTPUT_2)){
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(meta-4), 2);
}
}
else{
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(meta+4), 2);
}
}
if((this.lastEnergy != this.storage.getEnergyStored() || this.lastFirstSmelt != this.firstSmeltTime || this.lastSecondSmelt != this.secondSmeltTime || this.isAutoSplit != this.lastAutoSplit) && this.sendUpdateWithInterval()){ if((this.lastEnergy != this.storage.getEnergyStored() || this.lastFirstSmelt != this.firstSmeltTime || this.lastSecondSmelt != this.secondSmeltTime || this.isAutoSplit != this.lastAutoSplit) && this.sendUpdateWithInterval()){
this.lastEnergy = this.storage.getEnergyStored(); this.lastEnergy = this.storage.getEnergyStored();
this.lastFirstSmelt = this.firstSmeltTime; this.lastFirstSmelt = this.firstSmeltTime;

View file

@ -117,7 +117,7 @@ public class TileEntityGrinder extends TileEntityInventoryBase implements ICusto
if(canCrushOnFirst){ if(canCrushOnFirst){
if(this.storage.getEnergyStored() >= ENERGY_USE){ if(this.storage.getEnergyStored() >= ENERGY_USE){
if(this.firstCrushTime%30 == 0){ if(this.firstCrushTime%20 == 0){
shouldPlaySound = true; shouldPlaySound = true;
} }
this.firstCrushTime++; this.firstCrushTime++;
@ -135,7 +135,7 @@ public class TileEntityGrinder extends TileEntityInventoryBase implements ICusto
if(this.isDouble){ if(this.isDouble){
if(canCrushOnSecond){ if(canCrushOnSecond){
if(this.storage.getEnergyStored() >= ENERGY_USE){ if(this.storage.getEnergyStored() >= ENERGY_USE){
if(this.secondCrushTime%30 == 0){ if(this.secondCrushTime%20 == 0){
shouldPlaySound = true; shouldPlaySound = true;
} }
this.secondCrushTime++; this.secondCrushTime++;
@ -151,21 +151,6 @@ public class TileEntityGrinder extends TileEntityInventoryBase implements ICusto
} }
} }
if(flag != (this.firstCrushTime > 0 || this.secondCrushTime > 0)){
this.markDirty();
IBlockState state = this.worldObj.getBlockState(this.pos);
Block block = state.getBlock();
int meta = block.getMetaFromState(state);
if(meta == 1){
if(!this.canCrushOn(SLOT_INPUT_1, SLOT_OUTPUT_1_1, SLOT_OUTPUT_1_2) && (!this.isDouble || !this.canCrushOn(SLOT_INPUT_2, SLOT_OUTPUT_2_1, SLOT_OUTPUT_2_2))){
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(0), 2);
}
}
else{
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(1), 2);
}
}
if((this.lastEnergy != this.storage.getEnergyStored() || this.lastFirstCrush != this.firstCrushTime || this.lastSecondCrush != this.secondCrushTime || this.isAutoSplit != this.lastAutoSplit) && this.sendUpdateWithInterval()){ if((this.lastEnergy != this.storage.getEnergyStored() || this.lastFirstCrush != this.firstCrushTime || this.lastSecondCrush != this.secondCrushTime || this.isAutoSplit != this.lastAutoSplit) && this.sendUpdateWithInterval()){
this.lastEnergy = this.storage.getEnergyStored(); this.lastEnergy = this.storage.getEnergyStored();
this.lastFirstCrush = this.firstCrushTime; this.lastFirstCrush = this.firstCrushTime;

View file

@ -57,20 +57,4 @@ public class TileEntitySmileyCloud extends TileEntityBase implements IStringReac
public void onTextReceived(String text, int textID, EntityPlayer player){ public void onTextReceived(String text, int textID, EntityPlayer player){
this.name = text; this.name = text;
} }
public void setStatus(boolean pinkAndFluffy){
IBlockState state = this.worldObj.getBlockState(this.pos);
Block block = state.getBlock();
int meta = block.getMetaFromState(state);
if(pinkAndFluffy){
if(meta <= 3){
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(meta+4), 2);
}
}
else{
if(meta >= 4){
this.worldObj.setBlockState(this.pos, block.getStateFromMeta(meta-4), 2);
}
}
}
} }

View file

@ -14,13 +14,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -12,9 +12,9 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "half": {
"0": {}, "bottom": {},
"1": { "model": "minecraft:upper_slab" } "top": { "model": "minecraft:upper_slab" }
} }
} }
} }

View file

@ -10,11 +10,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -7,11 +7,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 180 }, "south": { "y" : 180 },
"1": { "y" : 0 }, "west": { "y" : 0 },
"2": { "y" : 90 }, "north": { "y" : 90 },
"3": { "y" : 270 } "east": { "y" : 270 }
} }
} }
} }

View file

@ -7,23 +7,23 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_white" } }, "white": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_white" } },
"1": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_orange" } }, "orange": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_orange" } },
"2": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_magenta" } }, "magenta": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_magenta" } },
"3": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_light_blue" } }, "light_blue": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_light_blue" } },
"4": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_yellow" } }, "yellow": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_yellow" } },
"5": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_lime" } }, "lime": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_lime" } },
"6": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_pink" } }, "pink": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_pink" } },
"7": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_gray" } }, "gray": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_gray" } },
"8": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_light_gray" } }, "light_gray": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_light_gray" } },
"9": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_cyan" } }, "cyan": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_cyan" } },
"10": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_purple" } }, "purple": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_purple" } },
"11": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_blue" } }, "blue": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_blue" } },
"12": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_brown" } }, "brown": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_brown" } },
"13": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_green" } }, "green": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_green" } },
"14": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_red" } }, "red": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_red" } },
"15": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_black" } } "black": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_black" } }
} }
} }
} }

View file

@ -7,23 +7,23 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_white" } }, "white": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_white" } },
"1": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_orange" } }, "orange": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_orange" } },
"2": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_magenta" } }, "magenta": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_magenta" } },
"3": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_light_blue" } }, "light_blue": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_light_blue" } },
"4": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_yellow" } }, "yellow": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_yellow" } },
"5": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_lime" } }, "lime": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_lime" } },
"6": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_pink" } }, "pink": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_pink" } },
"7": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_gray" } }, "gray": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_gray" } },
"8": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_light_gray" } }, "light_gray": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_light_gray" } },
"9": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_cyan" } }, "cyan": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_cyan" } },
"10": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_purple" } }, "purple": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_purple" } },
"11": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_blue" } }, "blue": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_blue" } },
"12": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_brown" } }, "brown": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_brown" } },
"13": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_green" } }, "green": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_green" } },
"14": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_red" } }, "red": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_red" } },
"15": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_black" } } "black": { "textures" : { "all" : "actuallyadditions:blocks/block_colored_lamp_on_black" } }
} }
} }
} }

View file

@ -7,13 +7,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_red" } }, "red": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_red" } },
"1": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_blue" } }, "blue": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_blue" } },
"2": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_light_blue" } }, "light_blue": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_light_blue" } },
"3": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_black" } }, "black": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_black" } },
"4": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_green" } }, "green": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_green" } },
"5": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_white" } } "white": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_white" } }
} }
} }
} }

View file

@ -7,13 +7,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_red" } }, "red": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_red" } },
"1": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_blue" } }, "blue": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_blue" } },
"2": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_light_blue" } }, "light_blue": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_light_blue" } },
"3": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_black" } }, "black": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_black" } },
"4": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_green" } }, "green": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_green" } },
"5": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_white" } } "white": { "textures" : { "all" : "actuallyadditions:blocks/block_crystal_empowered_white" } }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,11 +16,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -16,15 +16,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 }, "east": { "y" : 90 }
"4": { "y" : 0, "textures": { "north": "actuallyadditions:blocks/block_furnace_double_on" } },
"5": { "y" : 180, "textures": { "north": "actuallyadditions:blocks/block_furnace_double_on" } },
"6": { "y" : 270, "textures": { "north": "actuallyadditions:blocks/block_furnace_double_on" } },
"7": { "y" : 90, "textures": { "north": "actuallyadditions:blocks/block_furnace_double_on" } }
} }
} }
} }

View file

@ -11,10 +11,6 @@
}, },
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}]
"meta": {
"0": {},
"1": { "textures": { "top": "actuallyadditions:blocks/block_grinder_on" } }
}
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -10,13 +10,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x": 180 }, "down": { "x": 180 },
"1": {}, "up": {},
"2": { "x": 90 }, "north": { "x": 90 },
"3": { "x": 270 }, "south": { "x": 270 },
"4": { "x": 90, "y": 270 }, "west": { "x": 90, "y": 270 },
"5": { "x": 270, "y": 270 } "east": { "x": 270, "y": 270 }
} }
} }
} }

View file

@ -7,17 +7,17 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz_pillar" } }, "black_quartz_pillar": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz_pillar" } },
"1": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz_chiseled" } }, "black_quartz_chiseled": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz_chiseled" } },
"2": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz" } }, "black_quartz": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_black_quartz" } },
"3": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_ore_black_quartz" } }, "ore_black_quartz": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_ore_black_quartz" } },
"4": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_wood_casing" } }, "wood_casing": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_wood_casing" } },
"5": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_charcoal" } }, "charcoal": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_charcoal" } },
"6": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_enderpearl" } }, "enderpearl": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_enderpearl" } },
"7": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_lava_factory_case" } }, "lava_factory_case": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_lava_factory_case" } },
"8": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_ender_casing" } }, "ender_casing": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_ender_casing" } },
"9": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_iron_casing" } } "iron_casing": { "textures" : { "all" : "actuallyadditions:blocks/block_misc_iron_casing" } }
} }
} }
} }

View file

@ -10,11 +10,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -12,9 +12,9 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "half": {
"0": {}, "bottom": {},
"1": { "model": "minecraft:upper_slab" } "top": { "model": "minecraft:upper_slab" }
} }
} }
} }

View file

@ -16,13 +16,13 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "x" : 90 }, "down": { "x" : 90 },
"1": { "x" : 270 }, "up": { "x" : 270 },
"2": { "y" : 0 }, "north": { "y" : 0 },
"3": { "y" : 180 }, "south": { "y" : 180 },
"4": { "y" : 270 }, "west": { "y" : 270 },
"5": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -12,9 +12,9 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "half": {
"0": {}, "bottom": {},
"1": { "model": "minecraft:upper_slab" } "top": { "model": "minecraft:upper_slab" }
} }
} }
} }

View file

@ -7,15 +7,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0}, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 }, "east": { "y" : 90 }
"4": { "y" : 0, "model": "actuallyadditions:block_smiley_cloud_fluffy" },
"5": { "y" : 180, "model": "actuallyadditions:block_smiley_cloud_fluffy" },
"6": { "y" : 270, "model": "actuallyadditions:block_smiley_cloud_fluffy" },
"7": { "y" : 90, "model": "actuallyadditions:block_smiley_cloud_fluffy" }
} }
} }
} }

View file

@ -12,9 +12,9 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "half": {
"0": {}, "bottom": {},
"1": { "model": "minecraft:upper_slab" } "top": { "model": "minecraft:upper_slab" }
} }
} }
} }

View file

@ -12,9 +12,9 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "half": {
"0": {}, "bottom": {},
"1": { "model": "minecraft:upper_slab" } "top": { "model": "minecraft:upper_slab" }
} }
} }
} }

View file

@ -16,11 +16,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }

View file

@ -7,11 +7,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "type": {
"0": { "textures" : { "cross" : "actuallyadditions:blocks/block_canola_stage_4" } }, "canola": { "textures" : { "cross" : "actuallyadditions:blocks/block_canola_stage_4" } },
"1": { "textures" : { "cross" : "actuallyadditions:blocks/block_flax_stage_6" } }, "flax": { "textures" : { "cross" : "actuallyadditions:blocks/block_flax_stage_6" } },
"2": { "textures" : { "cross" : "actuallyadditions:blocks/block_rice_stage_6" } }, "rice": { "textures" : { "cross" : "actuallyadditions:blocks/block_rice_stage_6" } },
"3": { "textures" : { "cross" : "actuallyadditions:blocks/block_coffee_stage_6" } } "coffee": { "textures" : { "cross" : "actuallyadditions:blocks/block_coffee_stage_6" } }
} }
} }
} }

View file

@ -16,11 +16,11 @@
"variants": { "variants": {
"normal": [{}], "normal": [{}],
"inventory": [{}], "inventory": [{}],
"meta": { "facing": {
"0": { "y" : 0 }, "north": { "y" : 0 },
"1": { "y" : 180 }, "south": { "y" : 180 },
"2": { "y" : 270 }, "west": { "y" : 270 },
"3": { "y" : 90 } "east": { "y" : 90 }
} }
} }
} }