001    package org.bukkit.material;
002    
003    import org.bukkit.Material;
004    import org.bukkit.SandstoneType;
005    
006    /**
007     * Represents the different types of sandstone.
008     */
009    public class Sandstone extends MaterialData {
010        public Sandstone() {
011            super(Material.SANDSTONE);
012        }
013    
014        public Sandstone(SandstoneType type) {
015            this();
016            setType(type);
017        }
018    
019        /**
020         *
021         * @deprecated Magic value
022         */
023        @Deprecated
024        public Sandstone(final int type) {
025            super(type);
026        }
027    
028        public Sandstone(final Material type) {
029            super(type);
030        }
031    
032        /**
033         *
034         * @deprecated Magic value
035         */
036        @Deprecated
037        public Sandstone(final int type, final byte data) {
038            super(type, data);
039        }
040    
041        /**
042         *
043         * @deprecated Magic value
044         */
045        @Deprecated
046        public Sandstone(final Material type, final byte data) {
047            super(type, data);
048        }
049    
050        /**
051         * Gets the current type of this sandstone
052         *
053         * @return SandstoneType of this sandstone
054         */
055        public SandstoneType getType() {
056            return SandstoneType.getByData(getData());
057        }
058    
059        /**
060         * Sets the type of this sandstone
061         *
062         * @param type New type of this sandstone
063         */
064        public void setType(SandstoneType type) {
065            setData(type.getData());
066        }
067    
068        @Override
069        public String toString() {
070            return getType() + " " + super.toString();
071        }
072    
073        @Override
074        public Sandstone clone() {
075            return (Sandstone) super.clone();
076        }
077    }