12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package com.zjinja.mcmod.decor.elements.blocks;
- import com.zjinja.mcmod.decor.ZJinJaDecoration;
- import com.zjinja.mcmod.decor.element_base.EBaseTileBlock;
- import com.zjinja.mcmod.decor.element_templates.renderer.TileRenderResourceSpecifiedRenderer;
- import com.zjinja.mcmod.decor.elements.te.TE_RenderResourceSpecifiedTileEntity;
- import com.zjinja.mcmod.decor.misc.RenderResource;
- import com.zjinja.mcmod.decor.registers.GeneralRegister;
- import com.zjinja.mcmod.decor.utils.model_dir_util.BoundingBoxVector;
- import com.zjinja.mcmod.decor.utils.model_dir_util.OffsetVector;
- import com.zjinja.mcmod.decor.utils.model_dir_util.PlaceSideEnum;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- import net.minecraft.client.renderer.texture.IIconRegister;
- import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.item.ItemStack;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.world.World;
- public class B_H7FTDSignM extends EBaseTileBlock {
- private RenderResource RenderResourceData;
- public B_H7FTDSignM(String texture) {
- super(Material.wood, TE_RenderResourceSpecifiedTileEntity.class);
- setBasicProperty(1.0F, 0.3F, 10.0F, Block.soundTypeGlass);
- DirUtil.FastDefine_4Dir();
- DirUtil.DefineRelBoundingBox(new BoundingBoxVector(0.5F, 0.25F, 0.0F, 1.0F, 0.6875F, 0.0625F));
- RenderResourceData = new RenderResource();
- RenderResourceData.LoadBlockResource("h7ftdsign", texture);
- }
- @Override
- public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side){
- if(side < 2) return false;
- int meta = PlaceSideEnum.TransToRotation(PlaceSideEnum.valueOf(side));
- OffsetVector ov = DirUtil.CalcOffsetFromRelOffset(meta, 1,0,0);
- int nsx = x + ov.getIntX();
- int nsy = y + ov.getIntY();
- int nsz = z + ov.getIntZ();
- return world.isAirBlock(nsx, nsy, nsz);
- }
- @Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack){
- DirUtil.FastPlaceConv_4Dir(world, x, y, z, player, itemStack);
- int meta = world.getBlockMetadata(x, y, z);
- OffsetVector ov = DirUtil.CalcOffsetFromRelOffset(meta, 1,0,0);
- int nsx = x + ov.getIntX();
- int nsy = y + ov.getIntY();
- int nsz = z + ov.getIntZ();
- Block SlaveBlock = ZJinJaDecoration.proxy.Registry.GetBlockByName("h7ftdsigns");
- world.setBlock(nsx, nsy, nsz, SlaveBlock, meta, 2);
- }
- @Override
- public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int smeta)
- {
- return side;
- }
- @Override
- public TileEntitySpecialRenderer GetTileRenderer(){
- return new TileRenderResourceSpecifiedRenderer();
- }
- @Override
- public TileEntity createNewTileEntity(World world, int meta) {
- return new TE_RenderResourceSpecifiedTileEntity(RenderResourceData);
- }
- @Override
- public void breakBlock(World world, int x, int y, int z, Block block, int meta){
- OffsetVector ov = DirUtil.CalcOffsetFromRelOffset(meta, 1,0,0);
- int nsx = x + ov.getIntX();
- int nsy = y + ov.getIntY();
- int nsz = z + ov.getIntZ();
- super.breakBlock(world, x, y, z,block, meta);
- world.setBlockToAir(nsx, nsy, nsz);
- }
- }
|