Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин Zombiekettle

Тема в разделе "Неподтвержденные плагины", создана пользователем Чайник, 31 май 2012.

Статус темы:
Закрыта.
  1. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    И так, дорогие поклонники Minecraft, представляю вам свой плагин, который я начал писать 2 дня тому назад, просто для себя. Лично я отказываюсь писать всякую хероту под всякими темами... Сам плагин не думая долго я назвал "zombiekettle". При смерти игрока по его позиции в мире будет создаваться моб "ZOMBIE". Создаваться он будет не от кого попало, а в строгой зависимости от вот такого Permissions разрешения "zombiekettle.death" (по стандарту от OP-a). Исходник заливать в гитхаб не стал, так как до конца я его не доделал (хочу добавить эффект дымка как от эндермана. Напоминаю, я его делал и продолжу усовершенствовать для себя).

    -----------------------------------------------------------
    ZombieKettleEntityListener.java
    Код:
    package me.kettle.plugins.zombiekettle;
     
    import org.bukkit.World;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
     
    public class ZombieKettleEntityListener implements Listener {
     
        @EventHandler
        public void onEntityDeath(EntityDeathEvent ede) {
     
            if(ede instanceof PlayerDeathEvent) {
     
                Player p = (Player) ede.getEntity();
     
                if(p.isPermissionSet("zombiekettle.death") || p.isOp()) {
     
                    p.getWorld().spawnCreature(p.getLocation(), EntityType.ZOMBIE);
     
                }
     
            }
     
        }
     
    }
    -----------------------------------------------------------
    ZombieKettle.java
    Код:
    package me.kettle.plugins.zombiekettle;
     
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class ZombieKettle extends JavaPlugin {
     
        @Override
        public void onDisable() {
        }
     
        @Override
        public void onEnable() {
       
            PluginManager pm = getServer().getPluginManager();
     
            pm.registerEvents(new ZombieKettleEntityListener(), this);
     
        }
     
    }
    -----------------------------------------------------------
    plugin.yml
    Код:
    name: zombiekettle
    version: 1.0
    author: kettle
    //мой ник в Minecraft: BupycOK
    //мой ник на RuBukkit: чайник
     
    main: me.kettle.plugins.zombiekettle
    
     
    Gate нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    UP
    1. Изменил существенно код, теперь он рабочий (теперь чистый копипаст моей работы. Скомпилил, протестировал на сервере версии 1.2.5, все работает без ошибок)
    2. Так как я не смог создать опрос в этой теме, пишем ответ в комментарий под этим коментом.
    Опрос: Хотели бы вы получать от меня этот плагин в готовом виде с обновлениями и т.д.?
    варианты ответа:
    1. Да.
    2. Нет.
     
  4. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    2.
    Если кому надо - пусть компилируют.
    А какой смысл то плагина?
     
  5. Egor33345

    Egor33345 Старожил Переводчик Пользователь

    Баллы:
    173
    Skype:
    Netu-i-ne-budet-nikogda.
    Имя в Minecraft:
    HellDragon97
    2.
    В плагине нет смысла.
     
    mayor123 нравится это.
  6. Egor33345

    Egor33345 Старожил Переводчик Пользователь

    Баллы:
    173
    Skype:
    Netu-i-ne-budet-nikogda.
    Имя в Minecraft:
    HellDragon97
    Лучше так:
    Если админ умрет, то на его месте появится зомби-гигант или дракон:). Тогда прикольно будет.
     
  7. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    Код:
                if(p.isPermissionSet("zombiekettle.admin") || p.isOp()) {
     
                    p.getWorld().spawnCreature(p.getLocation(), EntityType.ENDERDRAGON);
     
                }
     
  8. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    самый главный смысл, это убить время и написать нужное количество сообщений, что бы я мог создавать темы самостоятельно а не с помощью администрации...
    а так же плагин не плохо смотрится в действии (в следующем Релизе будет круче)
    ну наверное ещё что бы получить девелопера :rolleyes:
     
  9. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    либо дописать файл конфигурации
     
  10. Egor33345

    Egor33345 Старожил Переводчик Пользователь

    Баллы:
    173
    Skype:
    Netu-i-ne-budet-nikogda.
    Имя в Minecraft:
    HellDragon97
    @Чайник, ты выложи сразу готовый плагин. Из строк кода не каждый сможет его собрать
     
    Miterew нравится это.
  11. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    Код:
    package me.kettle.plugins.zombiekettle;
     
    import org.bukkit.World;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
     
    public class ZombieKettleEntityListener implements Listener {
     
        @EventHandler
        public void onEntityDeath(EntityDeathEvent ede) {
     
            if(ede instanceof PlayerDeathEvent) {
     
                Player p = (Player) ede.getEntity();
     
                if(p.isPermissionSet("zombiekettle.death") && !p.isOp()) {
     
                    p.getWorld().spawnCreature(p.getLocation(), EntityType.ZOMBIE);
     
                } else if(p.isOp()) {
                p.getWorld().spawnCreature(p.getLocation(), EntityType.ZOMBIE);
                WeatherChangeEvent(p.getWorld(), true);
                org.bukkit.command.CommandSender.sendMessage("Админ сдох. На его месте возрожден дракон и теперь погода дождливая!");
                }
     
            }
     
        }
     
    }
    А такое должно работать? И ещё, можете мне объяснить что это за финальная булевская переменная org.bukkit.event.weather.WeatherChangeEvent.to ? Как я понял, она и означает тип погоды.
     
  12. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    true переменная на дождь, false переменная на ясную погоду
    (копипаст: http://jd.bukkit.org/doxygen/d9/dda...eEvent.html#a46184a76b4f4e110ad50412bb4692e2d)
    boolean org.bukkit.event.weather.WeatherChangeEvent.toWeatherState ( )
    Gets the state of weather that the world is being set to.
    Returns:
    true if the weather is being set to raining, false otherwise
    Definition at line 33 of file WeatherChangeEvent.java.
    References org.bukkit.event.weather.WeatherChangeEvent.to.
     
  13. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    Код:
    package me.kettle.plugins.zombiekettle;
     
    import org.bukkit.World;
    import org.bukkit.ChatColor;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.weather;
     
    public class ZombieKettleEntityListener implements Listener {
     
        @EventHandler
        public void onEntityDeath(EntityDeathEvent ede) {
     
            if(ede instanceof PlayerDeathEvent) {
     
                Player p = (Player) ede.getEntity();
     
                if(p.isPermissionSet("zombiekettle.death") {
     
                    p.getWorld().spawnCreature(p.getLocation(), EntityType.ZOMBIE);
                }
     
                if(p.isOp) {
     
                    p.getWorld().spawnCreature(p.getLocation(), EntityType.GIANT);
                    WeatherChangeEvent.toWeatherState(p.getWorld(), true);
                    ((PlayerDeathEvent) ede).setDeathMessage(ChatColor.RED + p.getName() + " сдох. На его месте возрожден зомби переросток и теперь погода дождливая!");
                }
     
            }
     
        }
     
    }
    в том что вы дописали куча ошибок... нужно писать все это в eclipse. Исправил как считаю нужным: +цвет сообщения(+импорт цвета) +исправил чат уведомление +дописал в сообщение имя того OP-а кто умер +импорт погоды +заменил на другого моба +чуть отредактировал (WeatherChangeEvent.toWeatherState(p.getWorld(), true) +короче исправил все (осталось проверить в eclipse);) :)

    да и ещё нужно будет дописать Entitу к этому зомби переростку, и при его смерти переменная погоды будет false, то есть ясная погода, и дописать sendMessage что-то типо "зомби переросток сдох, можете теперь не беспокоится" при его смерти.
     
  14. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    Лично я думаю что нужно привинтить при смерти OP-а простой смоук еффект со звуком телепортации эндермена(дымок) вместо моба. Так будет круче... А ещё лучше вообще поменять спавн зомби на случайный спавн между свиньей и пиг меном, так же к ним звук свой. Как вы считаете?
     
  15. DaleMartinWatson

    DaleMartinWatson Старожил Девелопер Пользователь

    Баллы:
    103
    Лучше пускай яблочко золотое) Как из Нотча)
     
  16. Автор темы
    Чайник

    Чайник Активный участник

    Баллы:
    68
    Имя в Minecraft:
    BupycOK
    тогда весь сервер будет охотится на админа :D
     
  17. Miterew

    Miterew Старожил Переводчик Пользователь

    Баллы:
    103
    Имя в Minecraft:
    Miterew
    и пусть)
     
  18. DaleMartinWatson

    DaleMartinWatson Старожил Девелопер Пользователь

    Баллы:
    103
    У админа креатив)
     
  19. Miterew

    Miterew Старожил Переводчик Пользователь

    Баллы:
    103
    Имя в Minecraft:
    Miterew
    естественно..
     
  20. duckmen

    duckmen Гусибатор9000 Пользователь

    Баллы:
    173
    Skype:
    Duckmenn
    Имя в Minecraft:
    Duckmen
    ммм... классный плагин
    я админом специально дохнуть буду!
     
  21. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    Я в блокноте писал ._. , в вашем кода погрешность одна - когда умрет ОП, отспаунятся 2 вида зомби
     
Статус темы:
Закрыта.

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