B_StaticSlaveBlock4Dir.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.zjinja.mcmod.decor.elements.blocks;
  2. import com.zjinja.mcmod.decor.ZJinJaDecoration;
  3. import com.zjinja.mcmod.decor.element_base.EBaseTileBlock;
  4. import com.zjinja.mcmod.decor.element_templates.renderer.TileRenderResourceSpecifiedRenderer;
  5. import com.zjinja.mcmod.decor.elements.te.TE_H7FTDSignS;
  6. import com.zjinja.mcmod.decor.elements.te.TE_RenderResourceSpecifiedTileEntity;
  7. import com.zjinja.mcmod.decor.misc.RenderResource;
  8. import com.zjinja.mcmod.decor.utils.model_dir_util.BoundingBoxVector;
  9. import com.zjinja.mcmod.decor.utils.model_dir_util.OffsetVector;
  10. import net.minecraft.block.Block;
  11. import net.minecraft.block.material.Material;
  12. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  13. import net.minecraft.entity.EntityLivingBase;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.tileentity.TileEntity;
  16. import net.minecraft.world.World;
  17. public class B_StaticSlaveBlock4Dir extends EBaseTileBlock {
  18. private int OffsetX,OffsetY,OffsetZ;
  19. public B_StaticSlaveBlock4Dir(BoundingBoxVector bbbox, float hardness, float lightLevel,
  20. float resistance, SoundType soundType,
  21. int offsetX, int offsetY, int offsetZ) {
  22. super(Material.wood, TE_RenderResourceSpecifiedTileEntity.class);
  23. setBasicProperty(hardness, lightLevel, resistance, soundType);
  24. DirUtil.FastDefine_4Dir();
  25. DirUtil.DefineRelBoundingBox(bbbox);
  26. OffsetX = offsetX;
  27. OffsetY = offsetY;
  28. OffsetZ = offsetZ;
  29. }
  30. @Override
  31. public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack){
  32. DirUtil.FastPlaceConv_4Dir(world, x, y, z, player, itemStack);
  33. }
  34. @Override
  35. public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int smeta)
  36. {
  37. return side;
  38. }
  39. @Override
  40. public boolean AutoBindRenderer(){return false; }
  41. @Override
  42. public TileEntitySpecialRenderer GetTileRenderer(){
  43. return null;
  44. }
  45. @Override
  46. public TileEntity createNewTileEntity(World world, int meta) {
  47. return new TE_H7FTDSignS();
  48. }
  49. @Override
  50. public void breakBlock(World world, int x, int y, int z, Block block, int meta){
  51. OffsetVector ov = DirUtil.CalcOffsetFromRelOffset(meta, OffsetX, OffsetY, OffsetZ);
  52. int nsx = x + ov.getIntX();
  53. int nsy = y + ov.getIntY();
  54. int nsz = z + ov.getIntZ();
  55. super.breakBlock(world, x, y, z,block, meta);
  56. world.setBlockToAir(nsx, nsy, nsz);
  57. }
  58. }