Djomobil

Untitled

Mar 6th, 2017
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1. //FONCTION ONENABLE:
  2.  
  3.  
  4.     @Override
  5.     public void onEnable() {
  6.         // VILLAGERS
  7.  
  8.         ConfigurationSection villagers = getConfig().getConfigurationSection("villagers");
  9.         for (String v : villagers.getKeys(false)) {
  10.            
  11.             //recup de nom + des loc des villagers + on les fait spawn via la classe VillagerListener
  12.             String name = villagers.getString(v + ".name").replace("&", "§");
  13.             for(String loc : villagers.getStringList(v + ".locations")){
  14.                 VillagerListener vil = new VillagerListener(this);
  15.                 vil.spawnVillager(name, getParseLoc(loc), villagers.getStringList(v + ".content"));
  16.             }
  17.  
  18.         }
  19.  
  20.     }
  21.  
  22. //MA CLASSE VILLAGER LISTENER:
  23.  
  24. public class VillagerListener {
  25.  
  26.     private Rush main;
  27.    
  28.     public VillagerListener(Rush rush) {
  29.         this.main = rush;
  30.     }
  31.  
  32.     @SuppressWarnings("deprecation")
  33.     public void spawnVillager(String name, Location loc, List<String> recipesstring) {
  34.        
  35.         Villager villager = (Villager) loc.getWorld().spawnEntity(loc, EntityType.VILLAGER);      
  36.         villager.setCustomNameVisible(true);
  37.         villager.setCustomName(name);
  38.        
  39.         EntityVillager entityVillager = ((CraftVillager) villager).getHandle();
  40.         entityVillager.setPositionRotation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
  41.         NBTTagCompound nbttag = entityVillager.getNBTTag();
  42.        
  43.         if(nbttag == null) nbttag = new NBTTagCompound();
  44.        
  45.         entityVillager.c(nbttag);
  46.         nbttag.setInt("NoAI", 1);
  47.         entityVillager.f(nbttag);
  48.        
  49.         //custom ça merchantreciplist
  50.         try {
  51.             Field recipes = entityVillager.getClass().getDeclaredField("br");
  52.             recipes.setAccessible(true);
  53.            
  54.             MerchantRecipeList list = new MerchantRecipeList();
  55.            
  56.             for(String recipe : recipesstring){
  57.                
  58.                 String[] str = recipe.split("=");
  59.                 String[] item1 = str[0].split(":");
  60.                 String[] result = str[1].split(":");
  61.                
  62.                 //item needed
  63.                 int id = Integer.valueOf(item1[0]);
  64.                 int amount = Integer.valueOf(item1[1]);
  65.                 //item result
  66.                 int idres = Integer.valueOf(result[0]);
  67.                 int amountres = Integer.valueOf(result[1]);
  68.                
  69.                 net.minecraft.server.v1_8_R2.ItemStack itemneeded = CraftItemStack.asNMSCopy(new ItemStack(Material.getMaterial(id), amount));
  70.                 net.minecraft.server.v1_8_R2.ItemStack itemresult = CraftItemStack.asNMSCopy(new ItemStack(Material.getMaterial(idres), amountres));
  71.                 list.add(new MerchantRecipe(itemneeded, null, itemresult));
  72.                
  73.             }
  74.            
  75.             //recipes.set(entityVillager, list);
  76.            
  77.    
  78.         } catch (Exception e) {
  79.             e.printStackTrace();
  80.         }
  81.        
  82.        
  83.        
  84.     }
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment