Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

.

Статус
Закрыто для дальнейших ответов.
И снова здрасти. Как всегда нужна Ваша помощь. Но в этот раз именно по написанию плагина для ведра. У меня есть код, и plugin.yml прошу Вас проверить рабочий ли код, и рассказать как все это запустить :3 Ход работы я представляю себе таким (* - НЕ обязательные варианты).
1*. Потролить/послать в гугл/что-то в этом роде.
2. Выяснить будет ли работать код.
3*. Потролить/послать в гугл/что-то в этом роде.
4. Помочь в написании plugin.yml.
5*. Потролить/послать в гугл/что-то в этом роде.
6. Помочь скомпилировать все это в работающий плагин.
7*. Потролить/послать в гугл/что-то в этом роде.
8. ...
9. PROFIT!!!
Сам не знаю зачем 2 последние строчки, но выглядит прикольно.
Буду очень благодарен за помощь.
Авось я когда-то стану разработчиком плагинов на РБ?)))
То что у меня сейчас есть:
пакаж: com.roboman.plugins
класс: Solution
JavaScript:
package com.roboman.plugins;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.ChatColor;

public class Solution
{
    public void onEnable() throws Exception
    {
        System.out.println("This долбаебский plugin made by RoboMan and RuBukkit.");
    }

    public void onDisable() throws Exception
    {
        System.out.println("The End...");
    }

    public void onJoin(PlayerJoinEvent pje) throws Exception
    {
        Player player = pje.getPlayer();
        if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner")) {
            player.sendMessage(ChatColor.DARK_AQUA + "Привет Роба, если ты видишь это сообщение, значит РуБакит тебе помог и твой плагин работает!");
            Thread.sleep(1000);
        }
            Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");

    }
}
name: HelloMCWorld
main: com.roboman.plugins.Solution
version: 0.1
author: Mr_RoboMan
description: Test plugin for Rubukkit.org and Mr_RoboMan.
Сколько тебе лет?:confused:
 
plugin.yml нужно кинуть в корень папки с исходниками.
UPD. Лучше убрать Thread.sleep(1000).
 
plugin.yml нужно кинуть в корень папки с исходниками.
UPD. Лучше убрать Thread.sleep(1000).
plugin.yml итак на месте (если это то место).

Убрал Thread.sleep(), вместе с ним и throws Exception. Обновленный гавнокод в шапке.
Давай в Skype tiberium_1111 , всё объясню-покажу))
Отписал в ЛС.
 
Рабочий код:
Java:
package com.roboman.plugins;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
//*************************↓ это не забудь
public class Solution extends JavaPlugin implements Listener
{//*************************************↑ и это тоже
    public void onEnable()
    {
        System.out.println("This долбаебский plugin made by RoboMan and RuBukkit.");
        getServer().getPluginManager().registerEvents(this, this); //Регаешь ивенты
    }

    public void onDisable()
    {
        System.out.println("The End...");
    }

    @EventHandler//Указываешь, что это ивент
    public void onJoin(PlayerJoinEvent pje)
    {
        Player player = pje.getPlayer();
        if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner"))
        {
            player.sendMessage(ChatColor.DARK_AQUA + "Привет Роба, если ты видишь это сообщение, значит РуБакит тебе помог и твой плагин работает!");
            //Thread.sleep(1000); - Этого делать тут низя(
        }
            Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");

    }
}
 
Вот исправленный исходник (не тестировал):
Java:
package com.roboman.plugins;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Solution extends JavaPlugin implements Listener
{
    @Override
    public void onEnable()
    {
        System.out.println("This MegaKrutoi plugin made by RoboMan and RuBukkit.");
        this.getServer().getPluginManager().registerEvents(this, this);
    }

    @Override
    public void onDisable()
    {
        System.out.println("The End...");
    }

    @EventHandler
    public void onJoin(PlayerJoinEvent pje)
    {
        Player player = pje.getPlayer();
        if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner")) player.sendMessage(ChatColor.DARK_AQUA + "Это сообщение ты увидел благодаря пермишену NuProstaSamiiKrutoiPluginVMire.owner");
        Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");
    }
}

Блин, в следующий раз буду обновлять страницу.
 
Рабочий код:
Java:
package com.roboman.plugins;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Solution extends JavaPlugin implements Listener
{
    public void onEnable()
    {
        System.out.println("This долбаебский plugin made by RoboMan and RuBukkit.");
        getServer().getPluginManager().registerEvents(this, this); //Регаешь ивенты
    }

    public void onDisable()
    {
        System.out.println("The End...");
    }

    @EventHandler//Указываешь, что это ивент
    public void onJoin(PlayerJoinEvent pje)
    {
        Player player = pje.getPlayer();
        if (player.hasPermission("NuProstaSamiiKrutoiPluginVMire.owner"))
        {
            player.sendMessage(ChatColor.DARK_AQUA + "Привет Роба, если ты видишь это сообщение, значит РуБакит тебе помог и твой плагин работает!");
            //Thread.sleep(1000); - Этого делать тут низя(
        }
            Bukkit.broadcastMessage(ChatColor.BLUE + "СПАСИБО РуБакит что объяснил этому нубу как меня запустить (c) плагин.");

    }
}
Большое спасибо, насчет Thread.sleep() мне уже объяснили, с @EventHandler тоже понятно. А вот насчет
JavaScript:
getServer().getPluginManager().registerEvents(this, this);
Это как psvm не изменимая часть?
 
Раз все уже сказали...с plugin.yml все норм. xD
 
И это тоже неизменяемая часть?
JavaScript:
public class Мой класс /*Вот до этого я знаю что неизменяемая, а дальше?*/ extends JavaPlugin implements Listener

Раз все уже сказали...с plugin.yml все норм. xD
И за это спасибо, я просто пробовал вручную плагин сделать (но там такой бред вышел, рассказывать стыдно), когда я пробовал запустить этот бред, там вся консоль была в ошибках, но самое первое было жалоба на plugin.yml!))
 
И это тоже неизменяемая часть?
JavaScript:
public class Мой класс extends JavaPlugin implements Listener
Да. Ты указываешь, что это плагин, и (добавляешь в использование?) слушатель событий
 
И это тоже неизменяемая часть?
JavaScript:
public class Мой класс extends JavaPlugin implements Listener
class - показывает, что это класс, да, спасибо кэп. (обязательно)
extends, то, что ты наследуешь JavaPlugin. (обязательно)
implements, то, что именно в этом классе ты будешь слушать события. (необязательно).
До меня уже написали, извиняюсь
 
Вовсе нет, он должен лежать в C:/Users/Nazar/IdeaProjects/IMPRO/src.
Да вроде-же он у меня там и лежит... Фотка выше.
Или надо именно в src а не в:
C:/Users/Nazar/IdeaProjects/IMPRO/src/com/roboman/plugins?

За исправленный код всем спасибо, что дальше делать с этим?
 
Да вроде-же он у меня там и лежит... Фотка выше.
За исправленный код всем спасибо, что дальше делать с этим?
На скриншоте он лежит в C:/Users/Nazar/IdeaProjects/IMPRO/src/com/roboman/plugins.
 
Да вроде-же он у меня там и лежит... Фотка выше.
За исправленный код всем спасибо, что дальше делать с этим?
File- Export- Выбираешь твой проект - Java- Jar File- Кнопка Next - Указываешь имя и разрешение- Finish. Ой стоп, у тебя ж не Eclipse.
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх