- Баллы
- 76
- Имя в Minecraft
- Solomka
Проблема такая: Мне надо чтобы в шедулере возвращало не обычного жителя, а уже с измененным трейдом и прочей шнягой, если кто-то знает, то помогите пожалуйста :<
шедулер:
класс с жителем
шедулер:
Код:
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
Location r = RandomLocation.getLocation();
RegionManager region = CreatingRegion.create();
Bukkit.getOnlinePlayers()
.forEach(player -> player.sendMessage(ChatColor.DARK_RED + "Warning" + ChatColor.GOLD + " | "
+ ChatColor.DARK_BLUE + "! " + ChatColor.GOLD + "|" + ChatColor.GRAY
+ " Resident spawned on coordinates " + r.getX() + " " + r.getY() + " " + r.getZ()));
Class<ConfigurationVillager> villager = ConfigurationVillager.class;
r.getWorld().spawnEntity(r, EntityType(villager));
}, 0L, 200L);
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
final Map<Integer, Entity> villager = new HashMap<>();
Bukkit.getOnlinePlayers()
.forEach(player -> player.sendMessage(ChatColor.DARK_RED + "Warning" + ChatColor.GOLD + " | "
+ ChatColor.DARK_BLUE + "! " + ChatColor.GOLD + "|" + ChatColor.GRAY
+ " The resident was removed after 999 minutes! "));
RegionManager region = CreatingRegion.RemoveRegion();
villager.remove(villager);
}, 0L, 9999L);
}
private EntityType EntityType(Class<ConfigurationVillager> villager) {
return EntityType.VILLAGER;
}
класс с жителем
Код:
public void Villager(PlayerInteractEntityEvent e) {
if (e.getRightClicked() instanceof Villager) {
Villager villager = (Villager) e.getRightClicked();
villager.setCustomName(" ");
villager.setProfession(Villager.Profession.LIBRARIAN);
villager.setVillagerExperience(1);
MerchantRecipe recipe = new MerchantRecipe(new ItemStack(Material.DIAMOND_AXE), 1);
recipe.addIngredient(new ItemStack(Material.SADDLE));
recipe.addIngredient(new ItemStack(Material.DIAMOND_AXE));
villager.setAI(false);
villager.setRecipes(Collections.singletonList(recipe));
}
}
}
Последнее редактирование: