Advertisement
Guest User

Untitled

a guest
Dec 29th, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. package vazkii.botania.common.block;
  2.  
  3. import java.util.List;
  4. import java.util.Random;
  5.  
  6. import net.minecraft.block.Block;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.block.state.BlockState;
  9. import net.minecraft.block.state.IBlockState;
  10. import net.minecraft.creativetab.CreativeTabs;
  11. import net.minecraft.entity.Entity;
  12. import net.minecraft.entity.item.EntityItem;
  13. import net.minecraft.entity.player.EntityPlayer;
  14. import net.minecraft.init.Items;
  15. import net.minecraft.item.Item;
  16. import net.minecraft.item.ItemStack;
  17. import net.minecraft.nbt.NBTTagCompound;
  18. import net.minecraft.tileentity.TileEntity;
  19. import net.minecraft.util.BlockPos;
  20. import net.minecraft.util.EnumFacing;
  21. import net.minecraft.util.EnumWorldBlockLayer;
  22. import net.minecraft.world.IBlockAccess;
  23. import net.minecraft.world.World;
  24. import net.minecraftforge.fluids.FluidContainerRegistry;
  25. import net.minecraftforge.fluids.FluidRegistry;
  26. import net.minecraftforge.fluids.FluidStack;
  27. import net.minecraftforge.fluids.IFluidContainerItem;
  28. import vazkii.botania.api.internal.VanillaPacketDispatcher;
  29. import vazkii.botania.api.lexicon.ILexiconable;
  30. import vazkii.botania.api.lexicon.LexiconEntry;
  31. import vazkii.botania.api.mana.ManaItemHandler;
  32. import vazkii.botania.api.state.BotaniaStateProps;
  33. import vazkii.botania.api.state.enums.AltarVariant;
  34. import vazkii.botania.client.lib.LibRenderIDs;
  35. import vazkii.botania.common.Botania;
  36. import vazkii.botania.common.block.tile.TileAltar;
  37. import vazkii.botania.common.block.tile.TileSimpleInventory;
  38. import vazkii.botania.common.item.ModItems;
  39. import vazkii.botania.common.item.block.ItemBlockWithMetadataAndName;
  40. import vazkii.botania.common.item.rod.ItemWaterRod;
  41. import vazkii.botania.common.lexicon.LexiconData;
  42. import vazkii.botania.common.lib.LibBlockNames;
  43. import net.minecraftforge.fml.common.registry.GameRegistry;
  44.  
  45. public class BlockAltar extends BlockModContainer implements ILexiconable {
  46.  
  47. Random random;
  48.  
  49. protected BlockAltar() {
  50. super(Material.rock);
  51. setHardness(3.5F);
  52. setStepSound(soundTypeStone);
  53. setUnlocalizedName(LibBlockNames.ALTAR);
  54.  
  55. float f = 1F / 16F * 2F;
  56. setBlockBounds(f, f, f, 1F - f, 1F / 16F * 20F, 1F - f);
  57.  
  58. random = new Random();
  59.  
  60. setDefaultState(blockState.getBaseState()
  61. .withProperty(BotaniaStateProps.ALTAR_VARIANT, AltarVariant.DEFAULT)
  62. );
  63. }
  64.  
  65. @Override
  66. public BlockState createBlockState() {
  67. return new BlockState(this, BotaniaStateProps.ALTAR_VARIANT);
  68. }
  69.  
  70. @Override
  71. public int getMetaFromState(IBlockState state) {
  72. AltarVariant variant = state.getValue(BotaniaStateProps.ALTAR_VARIANT);
  73. return variant == AltarVariant.MOSSY ? AltarVariant.DEFAULT.ordinal() : variant.ordinal();
  74. }
  75.  
  76. @Override
  77. public IBlockState getStateFromMeta(int meta) {
  78. if (meta < 0 || meta >= AltarVariant.values().length - 1) { // Off by one on purpose, to exclude MOSSY
  79. meta = 0;
  80. }
  81. return getDefaultState().withProperty(BotaniaStateProps.ALTAR_VARIANT, AltarVariant.values()[meta]);
  82. }
  83.  
  84. @Override
  85. public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
  86. TileEntity te = worldIn.getTileEntity(pos);
  87. if (te instanceof TileAltar) {
  88. TileAltar altar = ((TileAltar) te);
  89.  
  90. if (altar.isMossy) {
  91. System.out.println("MOSSY");
  92. state = state.withProperty(BotaniaStateProps.ALTAR_VARIANT, AltarVariant.MOSSY);
  93. }
  94. }
  95. return state;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement