Skip to content

Commit 1927641

Browse files
committed
Prep for material mapping removal
1 parent dbaa947 commit 1927641

File tree

3 files changed

+32
-28
lines changed

3 files changed

+32
-28
lines changed

bukkit/src/main/java/dev/kitteh/factions/config/file/MainConfig.java

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import dev.kitteh.factions.config.annotation.WipeOnReload;
66
import dev.kitteh.factions.permissible.Relation;
77
import dev.kitteh.factions.permissible.Role;
8-
import dev.kitteh.factions.util.MaterialDb;
98
import dev.kitteh.factions.util.MiscUtil;
109
import net.kyori.adventure.text.format.NamedTextColor;
1110
import net.kyori.adventure.text.format.TextColor;
@@ -1149,10 +1148,7 @@ public class SpecialCase {
11491148

11501149
public Set<Material> getIgnoreBuildMaterials() {
11511150
if (ignoreBuildMaterialsMat == null) {
1152-
ignoreBuildMaterialsMat = new HashSet<>();
1153-
ignoreBuildMaterials.forEach(m -> ignoreBuildMaterialsMat.add(MaterialDb.get(m)));
1154-
ignoreBuildMaterialsMat.remove(Material.AIR);
1155-
ignoreBuildMaterials = Collections.unmodifiableSet(ignoreBuildMaterials);
1151+
ignoreBuildMaterialsMat = MiscUtil.typeSetFromStringSet(ignoreBuildMaterials, MiscUtil.MATERIAL_FUNCTION);
11561152
}
11571153
return ignoreBuildMaterialsMat;
11581154
}
@@ -1734,40 +1730,28 @@ public boolean isWildernessBlockOtherExplosions() {
17341730

17351731
public Set<Material> getTerritoryDenyUsageMaterials() {
17361732
if (territoryDenyUsageMaterialsMat == null) {
1737-
territoryDenyUsageMaterialsMat = new HashSet<>();
1738-
territoryDenyUsageMaterials.forEach(m -> territoryDenyUsageMaterialsMat.add(MaterialDb.get(m)));
1739-
territoryDenyUsageMaterialsMat.remove(Material.AIR);
1740-
territoryDenyUsageMaterialsMat = Collections.unmodifiableSet(territoryDenyUsageMaterialsMat);
1733+
territoryDenyUsageMaterialsMat = MiscUtil.typeSetFromStringSet(territoryDenyUsageMaterials, MiscUtil.MATERIAL_FUNCTION);
17411734
}
17421735
return territoryDenyUsageMaterialsMat;
17431736
}
17441737

17451738
public Set<Material> getTerritoryDenyUsageMaterialsWhenOffline() {
17461739
if (territoryDenyUsageMaterialsWhenOfflineMat == null) {
1747-
territoryDenyUsageMaterialsWhenOfflineMat = new HashSet<>();
1748-
territoryDenyUsageMaterialsWhenOffline.forEach(m -> territoryDenyUsageMaterialsWhenOfflineMat.add(MaterialDb.get(m)));
1749-
territoryDenyUsageMaterialsWhenOfflineMat.remove(Material.AIR);
1750-
territoryDenyUsageMaterialsWhenOfflineMat = Collections.unmodifiableSet(territoryDenyUsageMaterialsWhenOfflineMat);
1740+
territoryDenyUsageMaterialsWhenOfflineMat = MiscUtil.typeSetFromStringSet(territoryDenyUsageMaterialsWhenOffline, MiscUtil.MATERIAL_FUNCTION);
17511741
}
17521742
return territoryDenyUsageMaterialsWhenOfflineMat;
17531743
}
17541744

17551745
public Set<Material> getContainerExceptions() {
17561746
if (containerExceptionsMat == null) {
1757-
containerExceptionsMat = new HashSet<>();
1758-
containerExceptions.forEach(m -> containerExceptionsMat.add(MaterialDb.get(m)));
1759-
containerExceptionsMat.remove(Material.AIR);
1760-
containerExceptionsMat = Collections.unmodifiableSet(containerExceptionsMat);
1747+
containerExceptionsMat = MiscUtil.typeSetFromStringSet(containerExceptions, MiscUtil.MATERIAL_FUNCTION);
17611748
}
17621749
return containerExceptionsMat;
17631750
}
17641751

17651752
public Set<Material> getBreakExceptions() {
17661753
if (breakExceptionsMat == null) {
1767-
breakExceptionsMat = new HashSet<>();
1768-
breakExceptions.forEach(m -> breakExceptionsMat.add(MaterialDb.get(m)));
1769-
breakExceptionsMat.remove(Material.AIR);
1770-
breakExceptionsMat = Collections.unmodifiableSet(breakExceptionsMat);
1754+
breakExceptionsMat = MiscUtil.typeSetFromStringSet(breakExceptions, MiscUtil.MATERIAL_FUNCTION);
17711755
}
17721756
return breakExceptionsMat;
17731757
}
@@ -1786,10 +1770,7 @@ public Set<String> getWorldsNoWildernessProtection() {
17861770

17871771
public Set<Material> getCustomContainers() {
17881772
if (customContainersMat == null) {
1789-
customContainersMat = new HashSet<>();
1790-
customContainers.forEach(m -> customContainersMat.add(MaterialDb.get(m)));
1791-
customContainersMat.remove(Material.AIR);
1792-
customContainersMat = Collections.unmodifiableSet(customContainersMat);
1773+
customContainersMat = MiscUtil.typeSetFromStringSet(customContainers, MiscUtil.MATERIAL_FUNCTION);
17931774
}
17941775
return customContainersMat;
17951776
}

bukkit/src/main/java/dev/kitteh/factions/plugin/AbstractFactionsPlugin.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,25 @@ public void close() throws SecurityException {
340340
// Load Material database
341341
MaterialDb.load();
342342

343+
// Hit all material lookups in config
344+
{
345+
var conf = this.configManager.mainConfig().factions();
346+
conf.specialCase().getIgnoreBuildMaterials();
347+
conf.protection().getBreakExceptions();
348+
conf.protection().getContainerExceptions();
349+
conf.protection().getCustomContainers();
350+
conf.protection().getTerritoryDenyUsageMaterials();
351+
conf.protection().getTerritoryDenyUsageMaterialsWhenOffline();
352+
conf.spawning().getPreventInSafezone();
353+
conf.spawning().getPreventInSafezoneExceptions();
354+
conf.spawning().getPreventInTerritory();
355+
conf.spawning().getPreventInTerritoryExceptions();
356+
conf.spawning().getPreventInWarzone();
357+
conf.spawning().getPreventInWarzoneExceptions();
358+
conf.spawning().getPreventInWilderness();
359+
conf.spawning().getPreventInWildernessExceptions();
360+
}
361+
343362
// Create Utility Instances
344363
WorldUtil.init(this.conf().restrictWorlds());
345364

bukkit/src/main/java/dev/kitteh/factions/util/MaterialDb.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.logging.Level;
1313

1414
@ApiStatus.Obsolete
15+
@Deprecated(forRemoval = true, since = "4.0.0")
1516
public class MaterialDb {
1617
private static Map<String, Material> map;
1718

@@ -24,17 +25,21 @@ public static Material get(String name) {
2425

2526
public static Material get(String name, Material defaultMaterial) {
2627
if (name == null) {
27-
AbstractFactionsPlugin.instance().log("Null material name found");
2828
return defaultMaterial;
2929
}
3030

3131
Material material = Material.getMaterial(name);
3232
if (material == null) {
3333
material = map.get(name.toUpperCase());
34+
if (material != null) {
35+
AbstractFactionsPlugin.instance().getLogger().warning("Outdated material name \"" + name + "\" found in a config - update it to \"" + material.name() + "\" ASAP!");
36+
}
3437
}
3538

3639
if (material == null) {
37-
AbstractFactionsPlugin.instance().log(Level.INFO, "Material does not exist: " + name.toUpperCase());
40+
if (!name.equalsIgnoreCase("exampleMaterial")) {
41+
AbstractFactionsPlugin.instance().log(Level.INFO, "Material does not exist: " + name.toUpperCase());
42+
}
3843
return defaultMaterial;
3944
}
4045

@@ -59,6 +64,5 @@ public static void load() {
5964
}
6065
map.put(nNull ? n : l, nNull ? matL : matN);
6166
});
62-
AbstractFactionsPlugin.instance().getLogger().info(String.format("Loaded %s material mappings.", map.size()));
6367
}
6468
}

0 commit comments

Comments
 (0)