Spackenmobs/src/main/java/mod/acgaming/spackenmobs/misc/ModLootTableList.java
2020-08-29 20:42:50 +02:00

54 lines
1.4 KiB
Java

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<ResourceLocation> LOOT_TABLES = Sets.newHashSet();
public static final ResourceLocation EMPTY = register("empty");
public static final ResourceLocation ENTITIES_JENS = register("entities/jens");
private static final Set<ResourceLocation> READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES);
public static Set<ResourceLocation> 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(null);
for (ResourceLocation resourcelocation : READ_ONLY_LOOT_TABLES)
{
if (loottablemanager.getLootTableFromLocation(resourcelocation) == LootTable.EMPTY_LOOT_TABLE)
{
return false;
}
}
return true;
}
}