Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. package ivasik.rsmc;
  2.  
  3. import com.google.common.collect.Sets;
  4. import cpw.mods.fml.common.Loader;
  5. import cpw.mods.fml.common.registry.GameData;
  6. import net.minecraft.block.Block;
  7. import net.minecraft.entity.Entity;
  8. import net.minecraft.entity.EntityList;
  9. import net.minecraft.item.Item;
  10. import net.minecraft.item.ItemBlock;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraftforge.common.config.Configuration;
  13.  
  14. import java.io.File;
  15. import java.util.Set;
  16.  
  17. public class EventConfig {
  18.     private static boolean disablePrintNames = false;
  19.     public static Set<String> items = Sets.newHashSet("minecraft:stone", "minecraft:grass:2", "minecraft:stick");
  20.     public static Set<String> entities = Sets.newHashSet("minecraft:blaze", "minecraft:horse");
  21.  
  22.     public static boolean inEntityList(Entity entity) {
  23.         final String registryName = EntityList.getEntityString(entity);
  24.         return entities.contains(registryName);
  25.     }
  26.  
  27.     public static boolean inItemList(ItemStack stack) {
  28.         return inItemList(stack.getItem(), stack.getItemDamage());
  29.     }
  30.  
  31.     public static boolean inItemList(Item item, int meta) {
  32.         if (item instanceof ItemBlock)
  33.             return inItemList(((ItemBlock) item).field_150939_a, meta);
  34.         return inItemList(getId(item), meta);
  35.     }
  36.  
  37.     public static boolean inItemList(Block block, int meta) {
  38.         return inItemList(getId(block), meta);
  39.     }
  40.  
  41.     static {
  42.         final Configuration cfg = new Configuration(new File(Loader.instance().getConfigDir(), "rsmc-rarity.cfg"));
  43.  
  44.         disablePrintNames = cfg.getBoolean("disablePrintNames", Configuration.CATEGORY_GENERAL, disablePrintNames, "Отключить вывод имён зарегистрированных вещей и сущностей в файл");
  45.  
  46.         readStringSet("items", cfg, items, "Список вещей для назначения навыков");
  47.         readStringSet("entities", cfg, entities, "Список сущностей для назначения навыков");
  48.     }
  49.  
  50.     private static void readStringSet(String name, Configuration cfg, Set<String> names, String comment) {
  51.         final Set<String> list = Sets.newHashSet(cfg.getStringList(name, Configuration.CATEGORY_GENERAL, names.toArray(new String[0]), comment));
  52.         names.clear();
  53.         names.addAll(list);
  54.     }
  55.  
  56.     private static boolean inItemList(String id, int meta) {
  57.         return id != null && (items.contains(id) || items.contains(id + ':' + meta));
  58.     }
  59.  
  60.     private static String getId(Item item) {
  61.         return GameData.getItemRegistry().getNameForObject(item);
  62.     }
  63.  
  64.     private static String getId(Block block) {
  65.         return GameData.getBlockRegistry().getNameForObject(block);
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement