Nespisnikersni
Пользователь
- Сообщения
- 95
Написал плагин сделал метод для выдачи валюты а он не работает сделал проверку на наличие vault она показала что на сервере нету vault хотя он там есть
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
А какой плагин на экономику стоит?Написал плагин сделал метод для выдачи валюты а он не работает сделал проверку на наличие vault она показала что на сервере нету vault хотя он там есть
Код в студиюНаписал плагин сделал метод для выдачи валюты а он не работает сделал проверку на наличие vault она показала что на сервере нету vault хотя он там есть
package org.ex.jobsplus;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
public final class JobsPlus extends JavaPlugin {
public static Inventory jobs;
public static Inventory jobs1;
public static Inventory jobs2;
public static Inventory jobs3;
public static String met;
public static String met1;
public static String met2;
public static ItemStack tru = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
public static ItemStack fals = new ItemStack(Material.RED_STAINED_GLASS_PANE);
private Economy econ;
@Override
public void onEnable() {
if (!setupEconomy()) {
getLogger().severe("Vault or an economy plugin is not installed!");
getServer().getPluginManager().disablePlugin(this);
return;
}
getServer().getPluginManager().registerEvents(new Event(),this);
met = "Шахтер";
met1 = "Лесоруб";
met2 = "Охотник";
jobs = Bukkit.createInventory(null,27,"a");
jobs1 = Bukkit.createInventory(null,27,"b");
jobs2 = Bukkit.createInventory(null,27,"c");
jobs3 = Bukkit.createInventory(null,27,"d");
jobs1.setItem(0,fals);
getServer().getPluginCommand("jobs").setExecutor(new JPC());
ItemStack ip = new ItemStack(Material.IRON_PICKAXE);
ItemStack ia = new ItemStack(Material.IRON_AXE);
ItemStack is = new ItemStack(Material.IRON_SWORD);
ItemMeta meta1 = ip.getItemMeta();
ItemMeta meta2 = ia.getItemMeta();
ItemMeta meta3 = is.getItemMeta();
meta1.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
meta2.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
meta3.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
meta1.setDisplayName(met);
ip.setItemMeta(meta1);
meta2.setDisplayName(met1);
ia.setItemMeta(meta2);
meta3.setDisplayName(met2);
is.setItemMeta(meta3);
jobs.setItem(10,ip);
jobs.setItem(13,ia);
jobs.setItem(16,is);
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
econ = rsp.getProvider();
return econ != null;
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
package org.ex.jobsplus;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import static org.ex.jobsplus.JobsPlus.jobs;
public class JPC implements CommandExecutor {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
Player player = (Player) sender;
player.openInventory(jobs);
return true;
}
}
package org.ex.jobsplus;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.economy.EconomyResponse;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
import static org.ex.jobsplus.JobsPlus.*;
public class Event implements Listener {
private Economy econ;
@EventHandler
public void ic(InventoryClickEvent e) {
Player player = (Player) e.getWhoClicked();
if (e.getView().getTitle().equals("a")) {
ItemStack clickedItem = e.getCurrentItem();
switch (clickedItem.getType()){
case IRON_PICKAXE:{
if (clickedItem.getItemMeta().getDisplayName().equals(met)) {
player.openInventory(jobs1);
e.setCancelled(true);
}
break;
}
case IRON_AXE:{
if (clickedItem.getItemMeta().getDisplayName().equals(met1)) {
player.openInventory(jobs2);
e.setCancelled(true);
}
break;
}
case IRON_SWORD:{
if (clickedItem.getItemMeta().getDisplayName().equals(met2)) {
player.openInventory(jobs3);
e.setCancelled(true);
}
break;
}
}
}
if (e.getView().getTitle().equals("b")) {
ItemStack clickedItem = e.getCurrentItem();
switch (clickedItem.getType()){
case RED_STAINED_GLASS_PANE:{
jobs1.setItem(0,tru);
e.setCancelled(true);
break;
}
case GREEN_STAINED_GLASS_PANE:{
jobs1.setItem(0,fals);
e.setCancelled(true);
break;
}
}
}
}
@EventHandler
public void bb(BlockBreakEvent e) {
Player player = e.getPlayer();
Material abc = e.getBlock().getType();
switch (abc){
case STONE:{
pay(player,20);
player.sendMessage("srhgs");
}
}
}
public boolean pay(Player player, double amount) {
if (econ == null) {
return false;
}
EconomyResponse response = econ.depositPlayer(player, amount);
return response.transactionSuccess();
}
}
ПробовалПопробуй в plugin.yml вписать depend: [Vault] или depend: [Vault, EssentialsX]
Если юзаешь какой-то другой Essentials, замени на его название
loadafter: [Vault]
Не работает все равноПопробуй добавить строку в plugin.yml
Код:loadafter: [Vault]
?Попробуй iConomy поставить
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения