Public Repository for the Magicbane Shadowbane Emulator
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.

70 lines
2.8 KiB

// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.objects;
import engine.server.MBServerStatics;
import java.util.concurrent.ConcurrentHashMap;
public enum Resource {
ADAMANT("DefaultAdamant", 1557001525, 10, 1580003),
AGATE("DefaultAgate", -1096157543, 20, 1580009),
ANTIMONY("DefaultAntimony", 1256147265, 10, 1580014),
AZOTH("DefaultAzoth", -1205326951, 20, 1580012),
BLOODSTONE("DefaultBloodstone", -1912381716, 5, 1580020),
BRONZEWOOD("DefaultBronzewood", -519681813, 30, 1580006),
COAL("DefaultCoal", -1672872311, 30, 1580008),
DIAMOND("DefaultDiamond", 1540225085, 20, 1580010),
GALVOR("DefaultGalvor", -1683992404, 5, 1580017),
IRON("DefaultIron", -1673518119, 20, 1580002),
LUMBER("DefaultLumber", -1628412684, 100, 1580004),
MANDRAKE("DefaultMandrake", -1519910613, 10, 1580007),
MITHRIL("DefaultMithril", 626743397, 5, 1580021),
OAK("DefaultOak", -1653034775, 30, 1580005),
OBSIDIAN("DefaultObsidian", 778019055, 5, 1580019),
ONYX("DefaultOnyx", -1675952151, 10, 1580011),
ORICHALK("DefaultOrichalk", -1468730955, 30, 1580013),
QUICKSILVER("DefaultQuicksilver", -2081208434, 10, 1580016),
STONE("DefaultStone", -1094703863, 100, 1580000),
SULFUR("DefaultSulfur", -1763687412, 10, 1580015),
TRUESTEEL("DefaultTruesteel", -169012482, 20, 1580001),
WORMWOOD("DefaultWormwood", 1204785075, 5, 1580018),
GOLD("DefaultGold", -1670881623, 50000, 7);
public final String name;
public final int hash;
public final int baseProduction;
public final int UUID;
public static ConcurrentHashMap<Integer, Resource> resourceByHash;
Resource(String name, int hash, int baseProduction, int uuid) {
this.name = name;
this.hash = hash;
this.baseProduction = baseProduction;
this.UUID = uuid;
}
public static Resource GetResourceByHash(int hash){
for (Resource resource: Resource.values()){
if (hash == resource.hash)
return resource;
}
return Resource.MITHRIL;
}
//load lookups via hashes
static {
resourceByHash = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW);
for (Resource r : Resource.values())
resourceByHash.put(r.hash, r);
}
}