001    package net.minecraft.client.renderer;
002    
003    import cpw.mods.fml.relauncher.Side;
004    import cpw.mods.fml.relauncher.SideOnly;
005    
006    @SideOnly(Side.CLIENT)
007    public class DestroyBlockProgress
008    {
009        /**
010         * entity ID of the player associated with this partially destroyed Block. Used to identify the Blocks in the client
011         * Renderer, max 1 per player on a server
012         */
013        private final int miningPlayerEntId;
014        private final int partialBlockX;
015        private final int partialBlockY;
016        private final int partialBlockZ;
017    
018        /**
019         * damage ranges from 1 to 10. -1 causes the client to delete the partial block renderer.
020         */
021        private int partialBlockProgress;
022    
023        /**
024         * keeps track of how many ticks this PartiallyDestroyedBlock already exists
025         */
026        private int createdAtCloudUpdateTick;
027    
028        public DestroyBlockProgress(int par1, int par2, int par3, int par4)
029        {
030            this.miningPlayerEntId = par1;
031            this.partialBlockX = par2;
032            this.partialBlockY = par3;
033            this.partialBlockZ = par4;
034        }
035    
036        public int getPartialBlockX()
037        {
038            return this.partialBlockX;
039        }
040    
041        public int getPartialBlockY()
042        {
043            return this.partialBlockY;
044        }
045    
046        public int getPartialBlockZ()
047        {
048            return this.partialBlockZ;
049        }
050    
051        /**
052         * inserts damage value into this partially destroyed Block. -1 causes client renderer to delete it, otherwise
053         * ranges from 1 to 10
054         */
055        public void setPartialBlockDamage(int par1)
056        {
057            if (par1 > 10)
058            {
059                par1 = 10;
060            }
061    
062            this.partialBlockProgress = par1;
063        }
064    
065        public int getPartialBlockDamage()
066        {
067            return this.partialBlockProgress;
068        }
069    
070        /**
071         * saves the current Cloud update tick into the PartiallyDestroyedBlock
072         */
073        public void setCloudUpdateTick(int par1)
074        {
075            this.createdAtCloudUpdateTick = par1;
076        }
077    
078        /**
079         * retrieves the 'date' at which the PartiallyDestroyedBlock was created
080         */
081        public int getCreationCloudUpdateTick()
082        {
083            return this.createdAtCloudUpdateTick;
084        }
085    }