- Баллы
- 96
На странице Vault все написано.Да
Не подскажешь, как через Vault снимать с игрока деньги?
В плагине!
EconomyResponse response = economy.withrawMoney(name, amount);
if (!response.isTransactionSuccess()) {
// ошибка
}
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
На странице Vault все написано.Да
Не подскажешь, как через Vault снимать с игрока деньги?
В плагине!
Ты все перепуталКод:Регистрируем Экономику в главном классе: public static Economy econ = null; private boolean setupEconomy() { if(this.getServer().getPluginManager().getPlugin("Vault") == null) { return false; } else { RegisteredServiceProvider rsp = this.getServer().getServicesManager().getRegistration(Economy.class); if(rsp == null) { return false; } else { econ = (Economy)rsp.getProvider(); return econ != null; } } } При влючении плагина проверяем плагины на существования Vault: if (!this.setupEconomy()) { Bukkit.getLogger().severe(String.format("[%s] - Disabled due to no Vault dependency found!", new Object[]{this.getDescription().getName()})); this.getServer().getPluginManager().disablePlugin(this); } else { Bukkit.getPluginManager().registerEvents(test, this); Далее используем в любых классах следующее: Main.econ.withdrawPlayer(Игрок, сумма); - Увеличение суммы баланса игрока. Main.econ.depositPlayer(Игрок сумма); - Удаление суммы с баланса игрока.
Этот способ как по мне легче.
public void on(BlockBreakEvent e) {
Player p = e.getPlayer();
if (p.hasPermission("boostkey.1.0")) {
int percent = rnd.nextInt(210);
if(percent == 73) {
if(!(e.getBlock().getType() == Material.LEAVES)) {
ItemStack book = new ItemStack(Material.GHAST_TEAR);
ItemMeta meta = book.getItemMeta();
meta.setDisplayName(ChatColor.GREEN + "Ключ");
@SuppressWarnings("rawtypes")
List<String> lore = new ArrayList();
lore.add(ChatColor.BLACK + "key");
meta.setLore(lore);
book.setItemMeta(meta);
p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
p.getInventory().addItem(new ItemStack(book));
}
}
}
int percent = rnd.nextInt(210);
if(percent == 73) {
ItemStack book = new ItemStack(Material.GHAST_TEAR);
ItemMeta meta = book.getItemMeta();
meta.setDisplayName(ChatColor.GREEN + "Ключ");
@SuppressWarnings("rawtypes")
List<String> lore = new ArrayList();
lore.add(ChatColor.BLACK + "key");
meta.setLore(lore);
book.setItemMeta(meta);
p.getInventory().addItem(new ItemStack(book));
Соре, а чем тебе рандом не нравится?
- int percent = rnd.nextInt(210);
- if(percent == 73) {
ну а зачем переменую создавать ?Соре, а чем тебе рандом не нравится?
if(rnd.nextInt(210)==73)
А что, сильно роль играет?ну а зачем переменую создавать ?
Java:if(rnd.nextInt(210)==73)
Сервер на байт менше памяти жрать будет.А что, сильно роль играет?
Это восхитительно! А стоило ли об этом говорить как о гавнокоде?Сервер на байт менше памяти жрать будет.
private final List<Material> denied = Arrays.asList(new Material[]{Material.LEAVES});
private final ItemStack itemStackKey = new ItemStack(Material.GHAST_TEAR) {
{
ItemMeta itemMeta = itemStackKey.getItemMeta();
itemMeta.setDisplayName(ChatColor.GREEN + "Ключ");
itemMeta.setLore(Arrays.asList(new String[]{ChatColor.BLACK + "key"}));
itemStackKey.setItemMeta(itemMeta);
}
};
@EventHandler
public void on(BlockBreakEvent e) {
Player p = e.getPlayer();
if (denied.contains(e.getBlock().getType())) {
return;
}
if (p.hasPermission("boostkey.1.0") && rnd.nextInt(210) == 73) {
p.getInventory().addItem(itemStackKey.clone());
p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
}
if (p.hasPermission("boostkey.1.5") && rnd.nextInt(160) == 21) {
p.getInventory().addItem(itemStackKey.clone());
p.sendMessage(ChatColor.GOLD + "Вы нашли ключ. Шанс: " + ChatColor.RED + "1.5%");
}
}
Скорее первое. К тому же, нет в его коде дикого говна (хоть и точка с запятой после ифов позабавила, но тут сказывается отсутствие опыта в погромировании на жабке) - лишь индусские дебри, которые, повторюсь, из-за отсутствия опыта в погромировании на жабке.Либо я тупой, либо автор сверхразум.
Плюсик сюда. Шанс можно легче организовать.я все еще не понимаю, зачем в рандоме используется проверка на равенство
щас лисеночек скажет что это гавнокод ибо ты инициализируешь переменнуюдля великих рандомайзеров.
int num = rnd.nextInt(100);
if (num<=21) то шанс 21%
if (num<=75) то шанс 75%
Это как раз таки разумный подход, ибо юзается в 2х местах. Хотя скажу вам по секрету, в бинарнике все равно будет как минимум одна переменная.щас лисеночек скажет что это гавнокод ибо ты инициализируешь переменную
Так я и говорю, что инициализировать плохо - бредЭто как раз таки разумный подход, ибо юзается в 2х местах. Хотя скажу вам по секрету, в бинарнике все равно будет как минимум одна переменная.
А если вы тревожитесь по поводу размера, всегда есть обфускаторы кода, где вам оптимизируют переменные до вида a b c d .
Бывают рандомы, которые сначала инициализируют 10 переменных, а потом юзают их в евенте. Это - быдлокод.Так я и говорю, что инициализировать плохо - бред

Бывают рандомы, которые сначала инициализируют 10 переменных, а потом юзают их в евенте. Это - быдлокод.
Инициализация переменных только перед непосредственным использованием. Ну и создавать переменную для использования в одном месте тоже глупо, если код исполняется часто.![]()
int percent = rnd.nextInt(210);
if(percent == 73) {
несомненно говнокод, только говнокод он не из-за инициализации переменной, а из-за того, что шанс того, что этот if будет true = 0,47%, т.е. очень низкийТак это гавнокод или что?Код:int percent = rnd.nextInt(210); if(percent == 73) {