package mod.acgaming.spackenmobs.misc; import com.google.common.collect.Sets; import net.minecraft.util.ResourceLocation; import net.minecraft.world.storage.loot.LootTable; import net.minecraft.world.storage.loot.LootTableManager; import java.io.File; import java.util.Collections; import java.util.Set; public class ModLootTableList { private static final Set LOOT_TABLES = Sets.newHashSet(); public static final ResourceLocation EMPTY = register("empty"); public static final ResourceLocation ENTITIES_JENS = register("entities/jens"); private static final Set READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES); public static Set getAll() { return READ_ONLY_LOOT_TABLES; } public static ResourceLocation register(ResourceLocation id) { if(LOOT_TABLES.add(id)) { return id; }else { throw new IllegalArgumentException(id + " is already a registered built-in loot table"); } } private static ResourceLocation register(String id) { return register(new ResourceLocation("spackenmobs", id)); } public static boolean test() { LootTableManager loottablemanager = new LootTableManager((File)null); for(ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES) { if(loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE) { return false; } } return true; } }