Любитель Метала
Заблокирован
- Сообщения
- 24
- Решения
- 1
- Другие ядра
- Purpur
package org.reintmase.rmtestplugin;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
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.enchantment.PrepareItemEnchantEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.HashMap;
import java.util.Map;
public final class RmTestPlugin extends JavaPlugin implements Listener {
private Map<Enchantment, Integer> customEnchantments = new HashMap<>();
@EventHandler
public void Pickaxe(BlockBreakEvent event) {
Player player = event.getPlayer();
Block brokenBlock = event.getBlock();
ItemStack ItemInHand = player.getInventory().getItemInMainHand();
if(ItemInHand.getType().toString().endsWith("_PICKAXE")) {
Block targetBlock = player.getTargetBlock(null, 5);
for(int x = -1; x <= 1; x++){
for(int y = -1; y <= 1; y++){
for(int z = -1; z <= 1; z++){
Block blockBreak = targetBlock.getRelative(x, y, z);
blockBreak.breakNaturally(ItemInHand);
}
}
}
}
}
private void registerCustomEnchantments() {
// Добавление кастомных зачарований в карту
customEnchantments.put(Enchantment.PROTECTION_ENVIRONMENTAL, 3);
// Добавьте другие кастомные зачарования по аналогии
}
@EventHandler
public void onPrepareItemEnchant(PrepareItemEnchantEvent event) {
// Получение игрока и предмета
Player player = event.getEnchanter();
ItemStack item = event.getItem();
// Проверка, является ли предмет книгой
if (item == null || item.getType() != Material.BOOK) return;
// Удаление стандартных зачарований
event.getEnchantsToAdd().clear();
// Добавление кастомных зачарований
for (Map.Entry<Enchantment, Integer> entry : customEnchantments.entrySet()) {
event.getEnchantsToAdd().put(entry.getKey(), entry.getValue());
}
}
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
вот код, я хочу создать кастомный чар, но вот такое ошибки мне выдаёт: Cannot resolve method 'getEnchantsToAdd' in 'PrepareItemEnchantEvent'
и Cannot resolve method 'getEnchantsToAdd' in 'PrepareItemEnchantEvent'
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
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.enchantment.PrepareItemEnchantEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.HashMap;
import java.util.Map;
public final class RmTestPlugin extends JavaPlugin implements Listener {
private Map<Enchantment, Integer> customEnchantments = new HashMap<>();
@EventHandler
public void Pickaxe(BlockBreakEvent event) {
Player player = event.getPlayer();
Block brokenBlock = event.getBlock();
ItemStack ItemInHand = player.getInventory().getItemInMainHand();
if(ItemInHand.getType().toString().endsWith("_PICKAXE")) {
Block targetBlock = player.getTargetBlock(null, 5);
for(int x = -1; x <= 1; x++){
for(int y = -1; y <= 1; y++){
for(int z = -1; z <= 1; z++){
Block blockBreak = targetBlock.getRelative(x, y, z);
blockBreak.breakNaturally(ItemInHand);
}
}
}
}
}
private void registerCustomEnchantments() {
// Добавление кастомных зачарований в карту
customEnchantments.put(Enchantment.PROTECTION_ENVIRONMENTAL, 3);
// Добавьте другие кастомные зачарования по аналогии
}
@EventHandler
public void onPrepareItemEnchant(PrepareItemEnchantEvent event) {
// Получение игрока и предмета
Player player = event.getEnchanter();
ItemStack item = event.getItem();
// Проверка, является ли предмет книгой
if (item == null || item.getType() != Material.BOOK) return;
// Удаление стандартных зачарований
event.getEnchantsToAdd().clear();
// Добавление кастомных зачарований
for (Map.Entry<Enchantment, Integer> entry : customEnchantments.entrySet()) {
event.getEnchantsToAdd().put(entry.getKey(), entry.getValue());
}
}
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
вот код, я хочу создать кастомный чар, но вот такое ошибки мне выдаёт: Cannot resolve method 'getEnchantsToAdd' in 'PrepareItemEnchantEvent'
и Cannot resolve method 'getEnchantsToAdd' in 'PrepareItemEnchantEvent'