Refactored out duplicate resource type.

This commit is contained in:
2024-03-14 14:47:20 -04:00
parent b6eb587a82
commit 4646d03bdd
10 changed files with 96 additions and 157 deletions
+34 -32
View File
@@ -9,22 +9,24 @@
package engine.objects;
import engine.Enum;
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);
LUMBER("Lumber Camp", new HashMap<>(), Enum.ResourceType.WORMWOOD, 1618637196, 1663491950),
ORE("Ore Mine", new HashMap<>(), Enum.ResourceType.OBSIDIAN, 518103023, -788976428),
GOLD("Gold Mine", new HashMap<>(), Enum.ResourceType.GALVOR, -662193002, -1227205358),
MAGIC("Magic Mine", new HashMap<>(), Enum.ResourceType.BLOODSTONE, 504746863, -1753567069);
public final String name;
public final HashMap<Integer, Resource> resources;
public final Resource xpac;
public final HashMap<Integer, Enum.ResourceType> resources;
public final Enum.ResourceType xpac;
public final int hash;
public final int xpacHash;
MineProduction(String name, HashMap<Integer, Resource> resources, Resource xpac, int hash, int xpacHash) {
MineProduction(String name, HashMap<Integer, Enum.ResourceType> resources, Enum.ResourceType xpac, int hash, int xpacHash) {
this.name = name;
this.resources = resources;
this.xpac = xpac;
@@ -34,34 +36,34 @@ public enum MineProduction {
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);
MineProduction.LUMBER.resources.put(7, Enum.ResourceType.GOLD);
MineProduction.LUMBER.resources.put(1580004, Enum.ResourceType.LUMBER);
MineProduction.LUMBER.resources.put(1580005, Enum.ResourceType.OAK);
MineProduction.LUMBER.resources.put(1580006, Enum.ResourceType.BRONZEWOOD);
MineProduction.LUMBER.resources.put(1580007, Enum.ResourceType.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);
MineProduction.ORE.resources.put(7, Enum.ResourceType.GOLD);
MineProduction.ORE.resources.put(1580000, Enum.ResourceType.STONE);
MineProduction.ORE.resources.put(1580001, Enum.ResourceType.TRUESTEEL);
MineProduction.ORE.resources.put(1580002, Enum.ResourceType.IRON);
MineProduction.ORE.resources.put(1580003, Enum.ResourceType.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);
MineProduction.GOLD.resources.put(7, Enum.ResourceType.GOLD);
MineProduction.GOLD.resources.put(1580000, Enum.ResourceType.STONE);
MineProduction.GOLD.resources.put(1580008, Enum.ResourceType.COAL);
MineProduction.GOLD.resources.put(1580009, Enum.ResourceType.AGATE);
MineProduction.GOLD.resources.put(1580010, Enum.ResourceType.DIAMOND);
MineProduction.GOLD.resources.put(1580011, Enum.ResourceType.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);
MineProduction.MAGIC.resources.put(7, Enum.ResourceType.GOLD);
MineProduction.MAGIC.resources.put(1580012, Enum.ResourceType.AZOTH);
MineProduction.MAGIC.resources.put(1580013, Enum.ResourceType.ORICHALK);
MineProduction.MAGIC.resources.put(1580014, Enum.ResourceType.ANTIMONY);
MineProduction.MAGIC.resources.put(1580015, Enum.ResourceType.SULFUR);
MineProduction.MAGIC.resources.put(1580016, Enum.ResourceType.QUICKSILVER);
}
}
@@ -76,13 +78,13 @@ public enum MineProduction {
return MineProduction.MAGIC;
}
public boolean validForMine(Resource r, boolean isXpac) {
public boolean validForMine(Enum.ResourceType r, boolean isXpac) {
if (r == null)
return false;
if (this.resources.containsKey(r.UUID))
if (this.resources.containsKey(r.templateID))
return true;
else
return isXpac && r.UUID == this.xpac.UUID;
return isXpac && r.templateID == this.xpac.templateID;
}