Improve items for GameModeConfig

This commit is contained in:
2026-08-24 20:05:58 +02:00
parent 72b70a62e1
commit 5a52771ec1
12 changed files with 200 additions and 101 deletions
@@ -28,7 +28,10 @@ import org.bukkit.entity.Player;
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SQLWrapperImpl implements SQLWrapper<Material> {
@@ -52,6 +55,45 @@ public class SQLWrapperImpl implements SQLWrapper<Material> {
.collect(Collectors.toList());
}
/**
* Storage-type inventory materials (chests, barrels, shulker boxes of any color).
*/
private static final Set<Material> STORAGE_MATERIALS = Collections.unmodifiableSet(EnumSet.of(
Material.CHEST, Material.TRAPPED_CHEST, Material.BARREL, Material.SHULKER_BOX,
Material.WHITE_SHULKER_BOX, Material.ORANGE_SHULKER_BOX, Material.MAGENTA_SHULKER_BOX, Material.LIGHT_BLUE_SHULKER_BOX,
Material.YELLOW_SHULKER_BOX, Material.LIME_SHULKER_BOX, Material.PINK_SHULKER_BOX, Material.GRAY_SHULKER_BOX,
Material.LIGHT_GRAY_SHULKER_BOX, Material.CYAN_SHULKER_BOX, Material.PURPLE_SHULKER_BOX, Material.BLUE_SHULKER_BOX,
Material.BROWN_SHULKER_BOX, Material.GREEN_SHULKER_BOX, Material.RED_SHULKER_BOX, Material.BLACK_SHULKER_BOX
));
/**
* Every inventory material - {@link #STORAGE_MATERIALS} plus the "functional" containers that
* are not storage (dispenser, dropper, hopper, the furnace family, brewing stand, campfire,
* jukebox). Built on top of {@link #STORAGE_MATERIALS} so anything added there is automatically
* included here.
*/
private static final Set<Material> INVENTORY_MATERIALS;
static {
Set<Material> materials = EnumSet.copyOf(STORAGE_MATERIALS);
materials.addAll(EnumSet.of(
Material.DISPENSER, Material.DROPPER, Material.HOPPER,
Material.FURNACE, Material.BLAST_FURNACE, Material.SMOKER,
Material.BREWING_STAND, Material.CAMPFIRE, Material.JUKEBOX
));
INVENTORY_MATERIALS = Collections.unmodifiableSet(materials);
}
@Override
public Set<Material> getStorageMaterials() {
return STORAGE_MATERIALS;
}
@Override
public Set<Material> getInventoryMaterials() {
return INVENTORY_MATERIALS;
}
private static final String SERVER_VERSION = Bukkit.getServer().getVersion();
@Override