АндрейСигмович
Активный участник
- Баллы
- 61
- Имя в Minecraft
- AndreyDobryi
Я разработал плагин с оружием Второй мировой войны для Minecraft 1.16.5 (Spigot), но у меня нет опыта в сборке .jar файлов через Maven/Gradle. Может ли кто-то помочь мне скомпилировать код в готовый плагин?
Код был разработан нейронкой, поэтому могу дать ссылку на просмотр этого кода
Сам код:
1. WW2GunsPlugin.java (главный класс)
package com.example.ww2guns;
import org.bukkit.plugin.java.JavaPlugin;
public class WW2GunsPlugin extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("WW2 Guns Plugin enabled!");
getCommand("ww2guns").setExecutor(new GunsMenuCommand(this));
getServer().getPluginManager().registerEvents(new GunListener(this), this);
getServer().getPluginManager().registerEvents(new GunsMenuListener(), this);
}
@Override
public void onDisable() {
getLogger().info("WW2 Guns Plugin disabled!");
}
}
2. GunsMenuCommand.java (меню выбора оружия)
package com.example.ww2guns;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.*********ventory.Inventory;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
import java.util.Arrays;
public class GunsMenuCommand implements CommandExecutor {
private final WW2GunsPlugin plugin;
public GunsMenuCommand(WW2GunsPlugin plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("§cТолько игроки могут использовать эту команду!");
return true;
}
Player player = (Player) sender;
openGunsMenu(player);
return true;
}
private void openGunsMenu(Player player) {
Inventory menu = Bukkit.createInventory(null, 9, "§6WW2 Guns Menu");
// M1 Garand
ItemStack m1Garand = createGunItem("§6M1 Garand", Material.IRON_HOE, 1,
Arrays.asList("§7Винтовка", "§7Урон: §c8❤", "§7Ёмкость: 8 патронов"));
// MP40
ItemStack mp40 = createGunItem("§9MP40", Material.GOLDEN_HOE, 2,
Arrays.asList("§7Пистолет-пулемёт", "§7Урон: §c5❤", "§7Ёмкость: 32 патрона"));
menu.setItem(2, m1Garand);
menu.setItem(6, mp40);
player.openInventory(menu);
}
private ItemStack createGunItem(String name, Material material, int customModelId, List<String> lore) {
ItemStack item = new ItemStack(material);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(name);
meta.setLore(lore);
meta.setCustomModelData(customModelId);
item.setItemMeta(meta);
return item;
}
}
3. GunListener.java (стрельба и механики)
package com.example.ww2guns;
import org.bukkit.*;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.bukkit.util.Vector;
import java.util.Random;
public class GunListener implements Listener {
private final Random random = new Random();
@EventHandler
public void onPlayerShoot(PlayerInteractEvent e) {
// ... (код из предыдущих сообщений)
}
}
4. GunsMenuListener.java (обработчик меню)
package com.example.ww2guns;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.*********ventory.ItemStack;
public class GunsMenuListener implements Listener {
@EventHandler
public void onMenuClick(InventoryClickEvent e) {
// ... (код из предыдущих сообщений)
}
}
Добавил специально фото снизу для понимания
Код был разработан нейронкой, поэтому могу дать ссылку на просмотр этого кода
Сам код:
1. WW2GunsPlugin.java (главный класс)
package com.example.ww2guns;
import org.bukkit.plugin.java.JavaPlugin;
public class WW2GunsPlugin extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("WW2 Guns Plugin enabled!");
getCommand("ww2guns").setExecutor(new GunsMenuCommand(this));
getServer().getPluginManager().registerEvents(new GunListener(this), this);
getServer().getPluginManager().registerEvents(new GunsMenuListener(), this);
}
@Override
public void onDisable() {
getLogger().info("WW2 Guns Plugin disabled!");
}
}
2. GunsMenuCommand.java (меню выбора оружия)
package com.example.ww2guns;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.*********ventory.Inventory;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
import java.util.Arrays;
public class GunsMenuCommand implements CommandExecutor {
private final WW2GunsPlugin plugin;
public GunsMenuCommand(WW2GunsPlugin plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("§cТолько игроки могут использовать эту команду!");
return true;
}
Player player = (Player) sender;
openGunsMenu(player);
return true;
}
private void openGunsMenu(Player player) {
Inventory menu = Bukkit.createInventory(null, 9, "§6WW2 Guns Menu");
// M1 Garand
ItemStack m1Garand = createGunItem("§6M1 Garand", Material.IRON_HOE, 1,
Arrays.asList("§7Винтовка", "§7Урон: §c8❤", "§7Ёмкость: 8 патронов"));
// MP40
ItemStack mp40 = createGunItem("§9MP40", Material.GOLDEN_HOE, 2,
Arrays.asList("§7Пистолет-пулемёт", "§7Урон: §c5❤", "§7Ёмкость: 32 патрона"));
menu.setItem(2, m1Garand);
menu.setItem(6, mp40);
player.openInventory(menu);
}
private ItemStack createGunItem(String name, Material material, int customModelId, List<String> lore) {
ItemStack item = new ItemStack(material);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(name);
meta.setLore(lore);
meta.setCustomModelData(customModelId);
item.setItemMeta(meta);
return item;
}
}
3. GunListener.java (стрельба и механики)
package com.example.ww2guns;
import org.bukkit.*;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.bukkit.util.Vector;
import java.util.Random;
public class GunListener implements Listener {
private final Random random = new Random();
@EventHandler
public void onPlayerShoot(PlayerInteractEvent e) {
// ... (код из предыдущих сообщений)
}
}
4. GunsMenuListener.java (обработчик меню)
package com.example.ww2guns;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.*********ventory.ItemStack;
public class GunsMenuListener implements Listener {
@EventHandler
public void onMenuClick(InventoryClickEvent e) {
// ... (код из предыдущих сообщений)
}
}
Добавил специально фото снизу для понимания
Вложения:
Последнее редактирование: