Construction hotspot data



  • public enum HotspotObject implements Items {
    
    	/**
    	 * The Exit Portal object.
    	 */
    	EXIT_PORTAL(13405, 8168, 1, 100, ironBars(10)),
    
    	/**
    	 * The Decorative Rock object.
    	 */
    	DECORATIVE_ROCK(13406, 8169, 5, 100, limestoneBricks(5)),
    
    	/**
    	 * The Pond object.
    	 */
    	POND(13407, 8170, 10, 100, softClays(10)),
    
    	/**
    	 * The Imp Statue object.
    	 */
    	IMP_STATUE(13408, 8171, 15, 150, limestoneBricks(5), softClays(5)),
    
    	/**
    	 * The Dungeon Entrance object.
    	 */
    	DUNGEON_ENTRANCE(13409, 8172, 70, 500, marbleBlocks(1)),
    
    	/**
    	 * The Big Dead Tree object.
    	 */
    	BIG_DEAD_TREE(13411, 8173, 5, 31, material(BAGGED_DEAD_TREE)),
    
    	/**
    	 * The Big Nice Tree object.
    	 */
    	BIG_NICE_TREE(13412, 8174, 10, 44, material(BAGGED_NICE_TREE)),
    
    	/**
    	 * The Big Oak Tree object.
    	 */
    	BIG_OAK_TREE(13413, 8175, 15, 70, material(BAGGED_OAK_TREE)),
    
    	/**
    	 * The Big Willow Tree object.
    	 */
    	BIG_WILLOW_TREE(13414, 8176, 30, 100, material(BAGGED_WILLOW_TREE)),
    
    	/**
    	 * The Big Maple Tree object.
    	 */
    	BIG_MAPLE_TREE(13415, 8177, 45, 122, material(BAGGED_MAPLE_TREE)),
    
    	/**
    	 * The Big Maple Tree object.
    	 */
    	BIG_YEW_TREE(13416, 8178, 60, 141, material(BAGGED_YEW_TREE)),
    
    	/**
    	 * The Big Magic Tree object.
    	 */
    	BIG_MAGIC_TREE(13417, 8179, 75, 250, material(BAGGED_MAGIC_TREE)),
    
    	/**
    	 * The Dead Tree object.
    	 */
    	DEAD_TREE(13418, 8173, 5, 31, material(BAGGED_DEAD_TREE)),
    
    	/**
    	 * The Nice Tree object.
    	 */
    	NICE_TREE(13419, 8174, 10, 44, material(BAGGED_NICE_TREE)),
    
    	/**
    	 * The Oak Tree object.
    	 */
    	OAK_TREE(13420, 8175, 15, 70, material(BAGGED_OAK_TREE)),
    
    	/**
    	 * The Willow Tree object.
    	 */
    	WILLOW_TREE(13421, 8176, 30, 100, material(BAGGED_WILLOW_TREE)),
    
    	/**
    	 * The Maple Tree object.
    	 */
    	MAPLE_TREE(13422, 8177, 45, 122, material(BAGGED_MAPLE_TREE)),
    
    	/**
    	 * The Maple Tree object.
    	 */
    	YEW_TREE(13423, 8178, 60, 141, material(BAGGED_YEW_TREE)),
    
    	/**
    	 * The Magic Tree object.
    	 */
    	MAGIC_TREE(13424, 8179, 75, 250, material(BAGGED_MAGIC_TREE)),
    
    	/**
    	 * The Plant object.
    	 */
    	PLANT(13431, 8180, 1, 31, material(BAGGED_PLANT_1)),
    
    	/**
    	 * The Small Fern object.
    	 */
    	SMALL_FERN(13432, 8181, 6, 70, material(BAGGED_PLANT_2)),
    
    	/**
    	 * The Fern object.
    	 */
    	FERN(13433, 8182, 12, 100, material(BAGGED_PLANT_3)),
    
    	/**
    	 * The Dock Leaf object.
    	 */
    	DOCK_LEAF(13434, 8183, 1, 31, material(BAGGED_PLANT_1)),
    
    	/**
    	 * The Thistle object.
    	 */
    	THISTLE(13435, 8184, 6, 70, material(BAGGED_PLANT_2)),
    
    	/**
    	 * The Reeds object.
    	 */
    	REEDS(13436, 8185, 12, 100, material(BAGGED_PLANT_3)),
    
    	/**
    	 * The big Fern object.
    	 */
    	BIG_FERN(13425, 8186, 1, 31, material(BAGGED_PLANT_1)),
    
    	/**
    	 * The Bush object.
    	 */
    	BUSH(13426, 8187, 6, 70, material(BAGGED_PLANT_2)),
    
    	/**
    	 * The Tall Plant object.
    	 */
    	TALL_PLANT(13427, 8188, 12, 100, material(BAGGED_PLANT_3)),
    
    	/**
    	 * The Short Plant object.
    	 */
    	SHORT_PLANT(13428, 8189, 1, 31, material(BAGGED_PLANT_1)),
    
    	/**
    	 * The Large Leaf bush object.
    	 */
    	LARGE_LEAF_BUSH(13429, 8190, 6, 70, material(BAGGED_PLANT_2)),
    
    	/**
    	 * The Tall Plant object.
    	 */
    	HUGE_PLANT(13430, 8191, 12, 100, material(BAGGED_PLANT_3)),
    
    	/**
    	 * The Gazebo object.
    	 */
    	GAZEBO(13477, 8192, 65, 1200, material(MAHOGANY_PLANK, 8), material(STEEL_BAR, 2)),
    
    	/**
    	 * The Small Fountain object.
    	 */
    	SMALL_FOUNTAIN(13478, 8193, 71, 500, marbleBlocks(1)),
    
    	/**
    	 * The Large Fountain object.
    	 */
    	LARGE_FOUNTAIN(13479, 8194, 75, 1000, marbleBlocks(2)),
    
    	/**
    	 * The Posh Fountain object.
    	 */
    	POSH_FOUNTAIN(13480, 8195, 81, 1500, marbleBlocks(3)),
    
    	/**
    	 * The Boundary Stones object.
    	 */
    	BOUNDARY_STONES(13449, 8196, 55, 100, softClays(10)),
    
    	/**
    	 * The Wooden Fence object.
    	 */
    	WOODEN_FENCE(13450, 8197, 59, 280, material(PLANK, 10)),
    
    	/**
    	 * The Stone Wall object.
    	 */
    	STONE_WALL(13451, 8198, 63, 200, limestoneBricks(10)),
    
    	/**
    	 * The Iron Railings object.
    	 */
    	IRON_RAILINGS(13452, 8199, 67, 220, ironBars(10), limestoneBricks(6)),
    
    	/**
    	 * The Picket Fence object.
    	 */
    	PICKET_FENCE(13453, 8200, 71, 640, material(OAK_PLANK, 10), material(STEEL_BAR, 2)),
    
    	/**
    	 * The Garden Fence object.
    	 */
    	GARDEN_FENCE(13454, 8201, 75, 940, material(TEAK_PLANK, 10), material(STEEL_BAR, 2)),
    
    	/**
    	 * The Marble Wall object.
    	 */
    	MARBLE_WALL(13455, 8202, 79, 4000, marbleBlocks(8)),
    
    	/**
    	 * The Thorny Hedge object.
    	 */
    	THORNY_HEDGE(new int[] { 13456, 13458, 13457 }, 8203, 56, 70, material(BAGGED_THORNY_HEDGE)),
    
    	/**
    	 * The Nice Hedge object.
    	 */
    	NICE_HEDGE(new int[] { 13459, 13461, 13460 }, 8204, 60, 100, material(BAGGED_NICE_HEDGE)),
    
    	/**
    	 * The Small Box Hedge object.
    	 */
    	SMALL_BOX_HEDGE(new int[] { 13459, 13461, 13460 }, 8205, 64, 122, material(BAGGED_SMALL_BOX_HEDGE)),
    
    	/**
    	 * The Topiary Hedge object.
    	 */
    	TOPIARY_HEDGE(new int[] { 13462, 13464, 13463 }, 8206, 68, 141, material(BAGGED_TOPIARY_HEDGE)),
    
    	/**
    	 * The Fancy Hedge object.
    	 */
    	FANCY_HEDGE(new int[] { 13465, 13467, 13466 }, 8207, 72, 158, material(BAGGED_FANCY_HEDGE)),
    
    	/**
    	 * The Tall Fancy Hedge object.
    	 */
    	TALL_FANCY_HEDGE(new int[] { 13468, 13470, 13469 }, 8208, 76, 223, material(BAGGED_TALL_FANCY_HEDGE)),
    
    	/**
    	 * The Tall Box Hedge object.
    	 */
    	TALL_BOX_HEDGE(new int[] { 13471, 13473, 13472 }, 8209, 80, 316, material(BAGGED_TALL_BOX_HEDGE));
    
    	/**
    	 * The construction object id.
    	 */
    	@Getter
    	private final int[] objectIds;
    
    	/**
    	 * The construction item id.
    	 */
    	@Getter
    	private final int itemId;
    
    	/**
    	 * The Construction level that is required to build this object.
    	 */
    	@Getter
    	private final int level;
    
    	/**
    	 * The experience to reward the player for building this object.
    	 */
    	@Getter
    	private final double experience;
    
    	/**
    	 * The required nails to make this object.
    	 */
    	@Getter
    	private final int nails;
    
    	/**
    	 * The materials that are required to build this object.
    	 */
    	@Getter
    	private final Material[] materials;
    
    	/**
    	 * Constructs a new {@link HotspotObject} enum constant.
    	 *
    	 * @param objectId
    	 * 		the construction object id.
    	 * @param itemId
    	 * 		the construction item id.
    	 * @param level
    	 * 		the Construction level that is required to build this object.
    	 * @param experience
    	 * 		the experience to reward the player for building this object.
    	 * @param materials
    	 * 		the materials that are required to build this object.
    	 */
    	HotspotObject(int objectId, int itemId, int level, double experience, Material... materials) {
    		this(new int[] { objectId }, itemId, level, experience, 0, materials);
    	}
    
    	/**
    	 * Constructs a new {@link HotspotObject} enum constant.
    	 *
    	 * @param objectIds
    	 * 		the construction objects id.
    	 * @param itemId
    	 * 		the construction item id.
    	 * @param level
    	 * 		the Construction level that is required to build this object.
    	 * @param experience
    	 * 		the experience to reward the player for building this object.
    	 * @param materials
    	 * 		the materials that are required to build this object.
    	 */
    	HotspotObject(int[] objectIds, int itemId, int level, double experience, Material... materials) {
    		this(objectIds, itemId, level, experience, 0, materials);
    	}
    
    	/**
    	 * Constructs a new {@link HotspotObject} enum constant.
    	 *
    	 * @param objectIds
    	 * 		the construction object id.
    	 * @param itemId
    	 * 		the construction item id.
    	 * @param level
    	 * 		the Construction level that is required to build this object.
    	 * @param experience
    	 * 		the experience to reward the player for building this object.
    	 * @param nails
    	 * 		the amount of nails that are required to make this hotspot.
    	 * @param materials
    	 * 		the materials that are required to build this object.
    	 */
    	HotspotObject(int[] objectIds, int itemId, int level, double experience, int nails, Material... materials) {
    		this.objectIds = objectIds;
    		this.itemId = itemId;
    		this.level = level;
    		this.experience = experience;
    		this.nails = nails;
    		this.materials = materials;
    	}
    
    	/**
    	 * Creates an Iron Bar {@link Material} object.
    	 *
    	 * @param amount
    	 * 		the amount of the iron bars.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material ironBars(int amount) {
    		return material(Items.IRON_BAR, amount);
    	}
    
    	/**
    	 * Creates a Limestone Brick {@link Material} object.
    	 *
    	 * @param amount
    	 * 		the amount of the limestone bricks.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material limestoneBricks(int amount) {
    		return material(Items.LIMESTONE_BRICK, amount);
    	}
    
    	/**
    	 * Creates a Soft Clay {@link Material} object.
    	 *
    	 * @param amount
    	 * 		the amount of the soft clays.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material softClays(int amount) {
    		return material(Items.SOFT_CLAY, amount);
    	}
    
    	/**
    	 * Creates a Marmble Block {@link Material} object.
    	 *
    	 * @param amount
    	 * 		the amount of the marble blocks.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material marbleBlocks(int amount) {
    		return material(Items.MARBLE_BLOCK, amount);
    	}
    
    	/**
    	 * Creates a new {@link Material} object with the specified
    	 * {@code id}.
    	 *
    	 * @param id
    	 * 		the material item id.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material material(int id) {
    		return material(id, 1);
    	}
    
    	/**
    	 * Creates a new {@link Material} object with the specified
    	 * {@code id} and {@code amount}.
    	 *
    	 * @param id
    	 * 		the material item id.
    	 * @param amount
    	 * 		the material item amount.
    	 *
    	 * @return the {@link Material} object.
    	 */
    	private static Material material(int id, int amount) {
    		return new Material(id, amount);
    	}
    
    	/**
    	 * Checks whether or not the specified {@link HotspotObject}
    	 * is a garden plant or not.
    	 *
    	 * @param object
    	 * 		the hotspot object to check.
    	 *
    	 * @return <code>true</code> if it is otherwise <code>false</code>.
    	 */
    	public static boolean isGardenPlant(HotspotObject object) {
    		switch (object) {
    			case DEAD_TREE:
    			case NICE_TREE:
    			case OAK_TREE:
    			case WILLOW_TREE:
    			case MAPLE_TREE:
    			case YEW_TREE:
    			case MAGIC_TREE:
    			case BIG_DEAD_TREE:
    			case BIG_NICE_TREE:
    			case BIG_OAK_TREE:
    			case BIG_WILLOW_TREE:
    			case BIG_MAPLE_TREE:
    			case BIG_YEW_TREE:
    			case BIG_MAGIC_TREE:
    			case PLANT:
    			case SMALL_FERN:
    			case FERN:
    			case DOCK_LEAF:
    			case THISTLE:
    			case REEDS:
    			case BIG_FERN:
    			case BUSH:
    			case TALL_PLANT:
    			case SHORT_PLANT:
    			case LARGE_LEAF_BUSH:
    			case HUGE_PLANT:
    				return true;
    			default:
    				return false;
    		}
    	}}
    }
    
    public enum HotspotDomains {
    
    	/**
    	 * The Garden Centerpiece hotspot domain.
    	 */
    	CENTERPIECE(15361, EXIT_PORTAL, DECORATIVE_ROCK, POND, IMP_STATUE, DUNGEON_ENTRANCE),
    
    	/**
    	 * The Garden Big Tree hotspot domain.
    	 */
    	BIG_TREE(15362, BIG_DEAD_TREE, BIG_NICE_TREE, BIG_OAK_TREE, BIG_WILLOW_TREE, BIG_MAPLE_TREE, BIG_YEW_TREE, BIG_MAGIC_TREE),
    
    	/**
    	 * The Garden Tree hotspot domain.
    	 */
    	TREE(15363, DEAD_TREE, NICE_TREE, OAK_TREE, WILLOW_TREE, MAPLE_TREE, YEW_TREE, MAGIC_TREE),
    
    	/**
    	 * the Garden Small Plant 1 hotspot domain.
    	 */
    	SMALL_PLANT_1(15366, PLANT, SMALL_FERN, FERN),
    
    	/**
    	 * The Garden Small Plant 2 hotspot domain.
    	 */
    	SMALL_PLANT_2(15367, DOCK_LEAF, THISTLE, REEDS),
    
    	/**
    	 * The Garden Big Plant 1 hotspot domain.
    	 */
    	BIG_PLANT_1(15364, BIG_FERN, BUSH, TALL_PLANT),
    
    	/**
    	 * The Garden Big Plant 2 hotspot domain.
    	 */
    	BIG_PLANT_2(15365, SHORT_PLANT, LARGE_LEAF_BUSH, HUGE_PLANT),
    
    	/**
    	 * The Formal Garden Centerpiece hotspot domain.
    	 */
    	FORMAL_CENTERPIECE(15368, EXIT_PORTAL, GAZEBO, DUNGEON_ENTRANCE, SMALL_FOUNTAIN, LARGE_FOUNTAIN, POSH_FOUNTAIN),
    
    	/**
    	 * The Formal Garden Fencing hotspot domain.
    	 */
    	FENCING(15369, BOUNDARY_STONES, WOODEN_FENCE, STONE_WALL, IRON_RAILINGS, PICKET_FENCE, GARDEN_FENCE, MARBLE_WALL),
    
    	/**
    	 * The Formal Garden Hedging hotspot domain.
    	 */
    	HEDGING(new int[] { 15370, 15371, 15372 }, THORNY_HEDGE, NICE_HEDGE, SMALL_BOX_HEDGE, TOPIARY_HEDGE, FANCY_HEDGE, TALL_FANCY_HEDGE, TALL_BOX_HEDGE);
    
    	/**
    	 * The hotspot object id.
    	 */
    	@Getter
    	private final int[] hotspotIds;
    
    	/**
    	 * The hotspots of this domain.
    	 */
    	@Getter
    	private final HotspotObject[] hotspots;
    
    	/**
    	 * Constructs a new {@link HotspotDomains} enum constant.
    	 *
    	 * @param hotspotId
    	 * 		the hotspot object id.
    	 * @param hotspots
    	 * 		the hotspot types list of this domain.
    	 */
    	HotspotDomains(int hotspotId, HotspotObject... hotspots) {
    		this(new int[] { hotspotId }, hotspots);
    	}
    
    	/**
    	 * Constructs a new {@link HotspotDomains} enum constant.
    	 *
    	 * @param hotspotIds
    	 * 		the hotspot object ids.
    	 * @param hotspots
    	 * 		the hotspot types list of this domain.
    	 */
    	HotspotDomains(int[] hotspotIds, HotspotObject... hotspots) {
    		this.hotspotIds = hotspotIds;
    		this.hotspots = hotspots;
    	}
    }
    

 

66
Online

8.6k
Users

905
Topics

11.7k
Posts