forked from MagicBane/Server
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.9 KiB
94 lines
3.9 KiB
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . |
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· |
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ |
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ |
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ |
|
// Magicbane Emulator Project © 2013 - 2022 |
|
// www.magicbane.com |
|
|
|
|
|
package engine.objects; |
|
|
|
import java.util.HashMap; |
|
|
|
public enum MineProduction { |
|
|
|
LUMBER("Lumber Camp", new HashMap<>(), Resource.WORMWOOD, 1618637196, 1663491950), |
|
ORE("Ore Mine", new HashMap<>(), Resource.OBSIDIAN, 518103023, -788976428), |
|
GOLD("Gold Mine", new HashMap<>(), Resource.GALVOR, -662193002, -1227205358), |
|
MAGIC("Magic Mine", new HashMap<>(), Resource.BLOODSTONE, 504746863, -1753567069); |
|
|
|
public final String name; |
|
public final HashMap<Integer, Resource> resources; |
|
public final Resource xpac; |
|
public final int hash; |
|
public final int xpacHash; |
|
|
|
MineProduction(String name, HashMap<Integer, Resource>resources, Resource xpac, int hash, int xpacHash) { |
|
this.name = name; |
|
this.resources = resources; |
|
this.xpac = xpac; |
|
this.hash = hash; |
|
this.xpacHash = xpacHash; |
|
} |
|
|
|
public static void addResources() { |
|
if (MineProduction.LUMBER.resources.size() == 0) { |
|
MineProduction.LUMBER.resources.put(7, Resource.GOLD); |
|
MineProduction.LUMBER.resources.put(1580004, Resource.LUMBER); |
|
MineProduction.LUMBER.resources.put(1580005, Resource.OAK); |
|
MineProduction.LUMBER.resources.put(1580006, Resource.BRONZEWOOD); |
|
MineProduction.LUMBER.resources.put(1580007, Resource.MANDRAKE); |
|
} |
|
if (MineProduction.ORE.resources.size() == 0) { |
|
MineProduction.ORE.resources.put(7, Resource.GOLD); |
|
MineProduction.ORE.resources.put(1580000, Resource.STONE); |
|
MineProduction.ORE.resources.put(1580001, Resource.TRUESTEEL); |
|
MineProduction.ORE.resources.put(1580002, Resource.IRON); |
|
MineProduction.ORE.resources.put(1580003, Resource.ADAMANT); |
|
} |
|
if (MineProduction.GOLD.resources.size() == 0) { |
|
MineProduction.GOLD.resources.put(7, Resource.GOLD); |
|
MineProduction.GOLD.resources.put(1580000, Resource.STONE); |
|
MineProduction.GOLD.resources.put(1580008, Resource.COAL); |
|
MineProduction.GOLD.resources.put(1580009, Resource.AGATE); |
|
MineProduction.GOLD.resources.put(1580010, Resource.DIAMOND); |
|
MineProduction.GOLD.resources.put(1580011, Resource.ONYX); |
|
} |
|
if (MineProduction.MAGIC.resources.size() == 0) { |
|
MineProduction.MAGIC.resources.put(7, Resource.GOLD); |
|
MineProduction.MAGIC.resources.put(1580012, Resource.AZOTH); |
|
MineProduction.MAGIC.resources.put(1580013, Resource.ORICHALK); |
|
MineProduction.MAGIC.resources.put(1580014, Resource.ANTIMONY); |
|
MineProduction.MAGIC.resources.put(1580015, Resource.SULFUR); |
|
MineProduction.MAGIC.resources.put(1580016, Resource.QUICKSILVER); |
|
} |
|
} |
|
|
|
public static MineProduction getByName(String name) { |
|
if (name.toLowerCase().equals("lumber")) |
|
return MineProduction.LUMBER; |
|
else if (name.toLowerCase().equals("ore")) |
|
return MineProduction.ORE; |
|
else if (name.toLowerCase().equals("gold")) |
|
return MineProduction.GOLD; |
|
else |
|
return MineProduction.MAGIC; |
|
} |
|
|
|
public boolean validForMine(Resource r, boolean isXpac) { |
|
if (r == null) |
|
return false; |
|
if (this.resources.containsKey(r.UUID)) |
|
return true; |
|
else return isXpac && r.UUID == this.xpac.UUID; |
|
} |
|
|
|
|
|
|
|
//Name Xpac Resources |
|
//Lumber Camp Wormwood Gold, Lumber, Oak, Bronzewood, Mandrake |
|
//Ore Mine Obsidian Gold, Stone, Truesteal, Iron, Adamant |
|
//Gold Mine Galvor Gold, Coal, Agate, Diamond, Onyx |
|
//Magic Mine Bloodstone Gold, Orichalk, Azoth, Antimony, Quicksilver, Sulfer |
|
}
|
|
|