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.utils.model_dir_util.BoundingBoxVector; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class B_FireHydrant extends EBaseTileBlock { protected RenderResource RenderResourceData; public B_FireHydrant() { super(Material.wood, TE_RenderResourceSpecifiedTileEntity.class); setBasicProperty(3.0F, 0.1F, 5.0F, Block.soundTypeMetal); DirUtil.FastDefine_4Dir(); Init(); } protected void Init(){ DirUtil.DefineRelBoundingBox(new BoundingBoxVector(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.0625F)); RenderResourceData = new RenderResource(); RenderResourceData.LoadBlockResource("firehydrant", "firehydrant_tex"); } @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); } @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 boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { world.extinguishFire(player,x,y,z,2); ItemStack held = player.getHeldItem(); if(held == null){return false;} if(held.isItemEqual(new ItemStack(Items.bucket,1))){ player.setCurrentItemOrArmor(0,new ItemStack(Items.water_bucket,1)); if(!world.isRemote){ player.addChatMessage(new ChatComponentText(ZJinJaDecoration.I18N.translateKey("cmsg.playerGetWaterFromFireHydrant"))); } }else{ if(!world.isRemote) { player.addChatMessage(new ChatComponentText( ZJinJaDecoration.I18N.translateKey("cmsg.playerNeedBucketToGetWaterFromFireHydrant"))); } } return true; } }