Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //FONCTION ONENABLE:
- @Override
- public void onEnable() {
- // VILLAGERS
- ConfigurationSection villagers = getConfig().getConfigurationSection("villagers");
- for (String v : villagers.getKeys(false)) {
- //recup de nom + des loc des villagers + on les fait spawn via la classe VillagerListener
- String name = villagers.getString(v + ".name").replace("&", "§");
- for(String loc : villagers.getStringList(v + ".locations")){
- VillagerListener vil = new VillagerListener(this);
- vil.spawnVillager(name, getParseLoc(loc), villagers.getStringList(v + ".content"));
- }
- }
- }
- //MA CLASSE VILLAGER LISTENER:
- public class VillagerListener {
- private Rush main;
- public VillagerListener(Rush rush) {
- this.main = rush;
- }
- @SuppressWarnings("deprecation")
- public void spawnVillager(String name, Location loc, List<String> recipesstring) {
- Villager villager = (Villager) loc.getWorld().spawnEntity(loc, EntityType.VILLAGER);
- villager.setCustomNameVisible(true);
- villager.setCustomName(name);
- EntityVillager entityVillager = ((CraftVillager) villager).getHandle();
- entityVillager.setPositionRotation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
- NBTTagCompound nbttag = entityVillager.getNBTTag();
- if(nbttag == null) nbttag = new NBTTagCompound();
- entityVillager.c(nbttag);
- nbttag.setInt("NoAI", 1);
- entityVillager.f(nbttag);
- //custom ça merchantreciplist
- try {
- Field recipes = entityVillager.getClass().getDeclaredField("br");
- recipes.setAccessible(true);
- MerchantRecipeList list = new MerchantRecipeList();
- for(String recipe : recipesstring){
- String[] str = recipe.split("=");
- String[] item1 = str[0].split(":");
- String[] result = str[1].split(":");
- //item needed
- int id = Integer.valueOf(item1[0]);
- int amount = Integer.valueOf(item1[1]);
- //item result
- int idres = Integer.valueOf(result[0]);
- int amountres = Integer.valueOf(result[1]);
- net.minecraft.server.v1_8_R2.ItemStack itemneeded = CraftItemStack.asNMSCopy(new ItemStack(Material.getMaterial(id), amount));
- net.minecraft.server.v1_8_R2.ItemStack itemresult = CraftItemStack.asNMSCopy(new ItemStack(Material.getMaterial(idres), amountres));
- list.add(new MerchantRecipe(itemneeded, null, itemresult));
- }
- //recipes.set(entityVillager, list);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment