- Баллы
- 66
Делаю плагин для запрета варки отдельных зелий и просто фиксов варки сделал детект инградиента в варке, все работает, если в конфиге true а в варке порох, то он отменяет варение и выкидывает порох около варки, но при добавлении списка для всех инградиентов детектить перестает
help
Тут не все классы я выбрал только те что используются для того что перестало работать
Хелп, я уже пол дня сижу не вдупляю, эклипс не на что не орет кроме "BrewDrop[3].getTypeId()" там пишет нежелательно так делать, но без списка работало, так что не в этом дело
Вот все в txt а тут отступы убирает
help
package ru.pa4ok.brewfix;
import java.io.File;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import ru.pa4ok.brewfix.potions.IngredientList;
import ru.pa4ok.brewfix.Potions;
public class Main extends JavaPlugin implements Listener
{
FileConfiguration config = getConfig();
private FileConfiguration msg;
public static Main instance = null;
// -----------------------------------------------------------------------------------------------------------------
@Override
public void onLoad()
{
instance = this;
this.getLogger().info("BrewFix by Pa4ok is stating...");
}
public void onEnable()
{
this.saveDefaultConfig();
this.saveResource("msg.yml", false);
this.msg = YamlConfiguration.loadConfiguration(new File(this.getDataFolder() + File.separator + "msg.yml"));
this.getServer().getPluginCommand("brewfixreload").setExecutor(new ConfigReload());
Bukkit.getServer().getPluginManager().registerEvents(new BrewningStand(), this);
Bukkit.getServer().getPluginManager().registerEvents(new Potions(), this);
Potions.blackListIngredients = IngredientList.ingredientlist();
this.getLogger().info("BrewFix by Pa4ok started!");
}
public void onDisable()
{
this.getLogger().info("BrewFix by Pa4ok disabled.");
}
// -----------------------------------------------------------------------------------------------------------------
public boolean configCheck (String s)
{
return config.getBoolean(s);
}
public String configMsg (String s)
{
return msg.getString(s);
}
public void update()
{
reloadConfig();
this.config = this.getConfig();
this.msg = YamlConfiguration.loadConfiguration(new File(this.getDataFolder() + File.separator + "msg.yml"));
Potions.blackListIngredients = IngredientList.ingredientlist();
}
}
import java.io.File;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import ru.pa4ok.brewfix.potions.IngredientList;
import ru.pa4ok.brewfix.Potions;
public class Main extends JavaPlugin implements Listener
{
FileConfiguration config = getConfig();
private FileConfiguration msg;
public static Main instance = null;
// -----------------------------------------------------------------------------------------------------------------
@Override
public void onLoad()
{
instance = this;
this.getLogger().info("BrewFix by Pa4ok is stating...");
}
public void onEnable()
{
this.saveDefaultConfig();
this.saveResource("msg.yml", false);
this.msg = YamlConfiguration.loadConfiguration(new File(this.getDataFolder() + File.separator + "msg.yml"));
this.getServer().getPluginCommand("brewfixreload").setExecutor(new ConfigReload());
Bukkit.getServer().getPluginManager().registerEvents(new BrewningStand(), this);
Bukkit.getServer().getPluginManager().registerEvents(new Potions(), this);
Potions.blackListIngredients = IngredientList.ingredientlist();
this.getLogger().info("BrewFix by Pa4ok started!");
}
public void onDisable()
{
this.getLogger().info("BrewFix by Pa4ok disabled.");
}
// -----------------------------------------------------------------------------------------------------------------
public boolean configCheck (String s)
{
return config.getBoolean(s);
}
public String configMsg (String s)
{
return msg.getString(s);
}
public void update()
{
reloadConfig();
this.config = this.getConfig();
this.msg = YamlConfiguration.loadConfiguration(new File(this.getDataFolder() + File.separator + "msg.yml"));
Potions.blackListIngredients = IngredientList.ingredientlist();
}
}
package ru.pa4ok.brewfix;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.BrewEvent;
import org.*********ventory.ItemStack;
import ru.pa4ok.brewfix.potions.IngredientList;
public class Potions implements Listener
{
public static ArrayList<Short> blackListPotions = new ArrayList<Short>();
public static ArrayList<Short> blackListIngredients = new ArrayList<Short>();
@EventHandler
public void brewCansel (BrewEvent e)
{
ItemStack[] BrewDrop = e.getContents().getContents();
if (BrewDrop[3] != null)
{
if (blackListIngredients.contains(BrewDrop[3].getTypeId())) // проверка на инградиент
{
e.getContents().setIngredient(new ItemStack(Material.AIR));
Bukkit.getWorld(e.getBlock().getWorld().getName()).dropItemNaturally(e.getBlock().getLocation(), BrewDrop[3]); // Дроп итема
e.setCancelled(true); // Отменить событие
return;
}
}
}
}
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.BrewEvent;
import org.*********ventory.ItemStack;
import ru.pa4ok.brewfix.potions.IngredientList;
public class Potions implements Listener
{
public static ArrayList<Short> blackListPotions = new ArrayList<Short>();
public static ArrayList<Short> blackListIngredients = new ArrayList<Short>();
@EventHandler
public void brewCansel (BrewEvent e)
{
ItemStack[] BrewDrop = e.getContents().getContents();
if (BrewDrop[3] != null)
{
if (blackListIngredients.contains(BrewDrop[3].getTypeId())) // проверка на инградиент
{
e.getContents().setIngredient(new ItemStack(Material.AIR));
Bukkit.getWorld(e.getBlock().getWorld().getName()).dropItemNaturally(e.getBlock().getLocation(), BrewDrop[3]); // Дроп итема
e.setCancelled(true); // Отменить событие
return;
}
}
}
}
package ru.pa4ok.brewfix.potions;
import java.util.ArrayList;
import ru.pa4ok.brewfix.Main;
public class IngredientList
{
public static ArrayList<Short> list = new ArrayList<Short>();
public static ArrayList<Short> ingredientlist()
{
list.clear();
if (Main.instance.configCheck("Ingredients.gunpowder") == true)
{
list.add((short)289);
}
return list;
}
}
import java.util.ArrayList;
import ru.pa4ok.brewfix.Main;
public class IngredientList
{
public static ArrayList<Short> list = new ArrayList<Short>();
public static ArrayList<Short> ingredientlist()
{
list.clear();
if (Main.instance.configCheck("Ingredients.gunpowder") == true)
{
list.add((short)289);
}
return list;
}
}
BrewningStand:
craft: false
getFromCreative: false
click: false
blockPlace: false
Ingredients:
gunpowder: true
craft: false
getFromCreative: false
click: false
blockPlace: false
Ingredients:
gunpowder: true
Хелп, я уже пол дня сижу не вдупляю, эклипс не на что не орет кроме "BrewDrop[3].getTypeId()" там пишет нежелательно так делать, но без списка работало, так что не в этом дело
Вот все в txt а тут отступы убирает