Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Делал код отсюда. https://bukkit.org/threads/custom-enchantments-you-say-what.160684/че блин ?
Скинь скрины кода и ошибки.
ТВОЙ КОД СКИНЬ
package org.interactive.Enchantments;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.enchantments.EnchantmentTarget;
import org.*********ventory.ItemStack;
public class CustomEnchantment extends Enchantment{
public CustomEnchantment(int id) {
super(id);
}
@Override
public int getId(){
return 101;
}
@Override
public boolean canEnchantItem(ItemStack arg0) {
return true;
}
@Override
public boolean conflictsWith(Enchantment arg0) {
return false;
}
@Override
public EnchantmentTarget getItemTarget() {
return null;
}
@Override
public int getMaxLevel() {
return 2;
}
@Override
public String getName() {
return "Megolovania";
}
@Override
public int getStartLevel() {
return 1;
}
@Override
public boolean isCursed() {
return false;
}
@Override
public boolean isTreasure() {
return false;
}
}
package org.interactive.bot;
import java.lang.reflect.Field;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.interactive.Enchantments.CustomEnchantment;
import org.interactive.crafts.regCrafts;
import org.interactive.events.regEvent;
public class Main extends JavaPlugin{
public static CustomEnchantment ench = new CustomEnchantment(101);
public void onEnable(){//Старт плагина
getServer().getPluginManager().registerEvents(new regEvent(), this);
new regCrafts();
regArmor();
LoadEnchantments();
getLogger().info("Start plugin");
}
public void onDisable(){//Окончание плагина
try {
Field byIdField = Enchantment.class.getDeclaredField("byId");
Field byNameField = Enchantment.class.getDeclaredField("byName");
byIdField.setAccessible(true);
byNameField.setAccessible(true);
@SuppressWarnings("unchecked")
HashMap<Integer, Enchantment> byId = (HashMap<Integer, Enchantment>) byIdField.get(null);
@SuppressWarnings("unchecked")
HashMap<String, Enchantment> byName = (HashMap<String, Enchantment>) byNameField.get(null);
if(byId.containsKey(ench.getId()))
byId.remove(ench.getId());
if(byName.containsKey(getName()))
byName.remove(getName());
} catch (Exception ignored) { }
getLogger().info("finish");
}
private void LoadEnchantments(){
try{
try {
Field f = Enchantment.class.getDeclaredField("acceptingNew");
f.setAccessible(true);
f.set(null, true);
} catch (Exception e) {
e.printStackTrace();
}
try {
Enchantment.registerEnchantment(ench);
} catch (IllegalArgumentException e){
//if this is thrown it means the id is already taken.
}
}catch(Exception e){
e.printStackTrace();
}
}