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

Плагин [MECH]EasySpawner - возьми спаунер голыми руками! [1.7.9 R0.2]

Xont

Новичок
Пользователь
Баллы
11
Имя в Minecraft
xOnt
EasySpawner ​
Плагин для Bukkit серверов, который позволяет игрокам уничтожать спаунеры мобов голыми руками!
Версия: v0.0.5
Особенности:
  1. Не имеет команд
  2. Чтобы разрушить спаунер голыми руками/киркой нужно иметь лишь несколько разрешений
  3. Гибкая настройка.
Права:
  • easyspawner.cantake.* - Разрешает ломать спаунер как рукой, так и киркой
  • easyspawner.cantake.hand - Разрешает ломать спаунер рукой.
  • easyspawner.cantake.pickaxe - Разрешает ломать спаунер всеми видами кирок (от деревянной- до алмазной)
  • easyspawner.canplace - Разрешает игрокам устанавливать спаунеры мобов.
  • easyspawner.cantake.customitem - Разрешает ломать спаунер предметом, который Вы указали в конфиге
Известные баги/недочеты
  • Какой бы спаунер вы не ломали в инвентарь Вы получите спаунер свиньи.
Это работает на:
  • 1.7.9.
В планах :
  1. Выгрузка конфига, в котором можно редактировать:
  • Изменение предмета, которым можно сломать спаунер.
  • Изменение префикса
  • Изменение сообщения об удачном получении спаунера
  • Видеть координаты всех поставленных спаунеров
  • Добавление в чат сообщения, об удачной установке спаунера и возможность изменять эти сообщения в конфиге
  • Добавление в чат сообщения о достижении лимита на установку/поломку спаунеров
2. Фикс багов/недочетов:
  • Возвращение в инвентарь именно того спаунера, который игрок сломал.
3. Добавление ограничений на поломку/установку спаунера

4. Возможность поломки спаунера только тем игроком, который его поставил.

Конфиг:
Код:
#Cooldown in seconds!
CooldownHand: 60 #время ломания спаунера рукой, в секундах
CooldownPickaxe: 30 #время ломания спаунера киркой, в секундах
ESPrefix: [EasySpawner] #префикс
ESMessageHand: О чудо! Ты сломал спаунер рукой! #сообщение об удачной полмке спаунера рукой
ESMessagePickaxe: О чудо! Ты сломал спаунер киркой! #сообщение об удачной поломке спаунера киркой
ESMessagePlace: Спаунер мобов установлен! #сообщение о установке спаунера
ESCustomItem: false #поменяйтие на true, если хотите использовать свой предмет для поломки
ESCustomItemID:  #ID вашего предмета для поломки
ESMessageCustomItem: #сообщение об удачной поломке спаунера Вашим предметом
CooldownCustomItem: #время ломания спаунера Вашим предметом, в секундах
Скачать:
v0.0.4. ТУТ (по-прежнему на DropBox)
Лог изменений:
Код:
v0.0.5:
-Выгрузка конфига в отдельную папку
-Добавление пользовательского предмета для ломания
-Время ломания спаунера теперь в секундах.
v0.0.4:
-Добавление сообщения об успешной установке спаунера мобов.
-Возможность редактировать в конфиге сообщение об удачной установке спаунера.
v0.0.3:
-Фикс багов/недочетов
-Теперь спаунер действительно ломается
-Теперь при поломке спаунера дропается этот же спаунер
-Добавление конфига
-Возможность редактировать в конфиге префикс, сообщения об удачной поломке спаунера рукой/кирокой
-Возможность редактировать в конфиге время разрушения спаунера
v0.0.2:
-Добавлена возможность брать спаунер кирками, если есть разрешение     easyspawner.cantake.pickaxe.
-Добавлен цветной префикс для сообщения об удачном получении спаунера.
v0.0.1:
- Релиз EasySpawn
Исходный код:
EasySpawner на GitHub, временно недоступен
Поправьте мой код и напишите об этом мне!
P.S. Это мой первый плагин. Я вижу это, как возможность научиться чему-то новому, так что предлагайте свои идеи.
Используйте на свой страх и риск!​
 
Последнее редактирование:
EasySpawner ​
Плагин для Bukkit серверов, который позволяет игрокам уничтожать спаунеры мобов голыми руками!
Версия: v0.0.1
Особенности:
  1. Не имеет команд
  2. Чтобы разрушить спаунер мобов голыми руками нужно иметь лишь одно разрешение
Права:
  • easyspawner.cantake - Разрешает ломать спаунер.
Это работает на:
  • 1.7.9.
  • 1.6.4.
  • 1.5.2
  • И, возможно, на более ранних версиях
В планах:
  1. Добавление конфига и возможности редактирования:
  • Сообщения об удачном получении спаунера
  • Префикса.
  • Возможности ломания спавнера не только голыми руками (киркой, топором, мотыгой... предметом, который указан в конфиге).
Скачать:
ТУТ


Исходный код
EasySpawnerMain
package me.xOnt.EasySpawner;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.*********ventory.PlayerInventory;
import org.bukkit.plugin.java.JavaPlugin;

public class EasySpawnerMain extends JavaPlugin implements Listener{

Logger log = Logger.getLogger("EasySpawner");

@Override
public void onEnable(){
log.info("[EasySpawner] был успешно включен!");
Bukkit.getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable(){
log.info("[EasySpawner] был успешно выключен!");
}
@EventHandler
public void onClickEvent(PlayerInteractEvent event){
Player player = event.getPlayer();
PlayerInventory inventory = player.getInventory();
if(player.hasPermission("easyspawner.cantake"))
if(event.getClickedBlock().getType() == Material.MOB_SPAWNER){
event.getClickedBlock().setType(Material.AIR);
inventory.addItem(new ItemStack(Material.MOB_SPAWNER,1));
player.sendMessage("[EasySpawner]: О чудо! Вы сломали спаунер голыми руками!");
}
}
}
Я не уверен, что даже столь простой плагин я смог сделать без ошибок, поэтому оставляю тут свои ̶п̶о̶з̶о̶р̶ сурсы здесь. Именно вы можете поправить меня и научить правильно кодить.

P.S. Это мой первый плагин. Я вижу это, как возможность научиться чему-то новому, так что предлагайте свои идеи. (да я знаю,что реализация моей задумки очень кривая и сырая)
Для первого раза не плохо! Я не давно просил сделать такой плагин, только там еще каждый спавнер привязывается на человека и стоит лимит на их установку.
 
Для первого раза не плохо! Я не давно просил сделать такой плагин, только там еще каждый спавнер привязывается на человека и стоит лимит на их установку.
Спасибо. Это можно использовать, как идею, для дальнейшей реализации.
 
Спасибо. Это можно использовать, как идею, для дальнейшей реализации.
Если нужно, могу расписать как все должно быть, т.к автор плагина плагин не доделал и не обявляется уже 4 дня) Посмотрим что у тебя получится))
 
Если нужно, могу расписать как все должно быть, т.к автор плагина плагин не доделал и не обявляется уже 4 дня) Посмотрим что у тебя получится))
Можно и расписать. Добавлю в очередь моего списка "В планах".
 
1.Ломать спавнера могут только люди у кого есть пермишион.
2.После уничтожения спавнера в чат пишет, что у вас осталось 1\4 (один из четырех) доступных спавнеров.
3.После установки выводит тоже сообщение что и при уничтожении.
4.При достижении лимита, в чат пишет:"Вы достигли лимита установки спавнеров 4\4! Чтобы поставить новый, разрушьте старый спавнер! Это к примеру.
5.Спавнер записывается в конфиг.
6. Сломать спавнер может только тот, кто его поставил.
7.Конфиг:
Spawners Limit: 4
-------------------------
Nick1
x1000,z50,y4421 Это координаты первого спавнера
x1120,z54,y3213 Второго
x567,z60,y2412 Третьего
x1240,z30,y4033 Четвертого
Nick2
.....
 
Кто-нибудь проверил мой плагин? Я просто уверен, что я очень сильно ошибся, давайте сочтем это за небольшую недоработку, которая вызвана моей неопытностью... Дело в том, что спаунеры криперов, скелетов и всех остальных мобов, кроме свиньи, как я понял, не имеют собственного материала, поэтому EasySpawner МОЖЕТ не работать со спавнерами других мобов, или при уничтожении спаунера одного вида мобов, возвращать совсем другой. Я попытаюсь как можно быстрее это исправить.

1.Ломать спавнера могут только люди у кого есть пермишион.
2.После уничтожения спавнера в чат пишет, что у вас осталось 1\4 (один из четырех) доступных спавнеров.
3.После установки выводит тоже сообщение что и при уничтожении.
4.При достижении лимита, в чат пишет:"Вы достигли лимита установки спавнеров 4\4! Чтобы поставить новый, разрушьте старый спавнер! Это к примеру.
5.Спавнер записывается в конфиг.
6. Сломать спавнер может только тот, кто его поставил.
7.Конфиг:
Spawners Limit: 4
-------------------------
Nick1
x1000,z50,y4421 Это координаты первого спавнера
x1120,z54,y3213 Второго
x567,z60,y2412 Третьего
x1240,z30,y4033 Четвертого
Nick2
.....
Спасибо за идеи. Также, раз речь пошла о попытках, которые ограничены, можно сделать и магазин этих попыток, которые можно будет покупать за игровые деньги.
 
Кто-нибудь проверил мой плагин? Я просто уверен, что я очень сильно ошибся, давайте сочтем это за небольшую недоработку, которая вызвана моей неопытностью... Дело в том, что спаунеры криперов, скелетов и всех остальных мобов, кроме свиньи, как я понял, не имеют собственного материала, поэтому EasySpawner МОЖЕТ не работать со спавнерами других мобов, или при уничтожении спаунера одного вида мобов, возвращать совсем другой. Я попытаюсь как можно быстрее это исправить.


Спасибо за идеи. Также, раз речь пошла о попытках, которые ограничены, можно сделать и магазин этих попыток, которые можно будет покупать за игровые деньги.
Ты имел ввиду не "попыток" а расширение лимита? Врятли, лучше сделать для каждой группы разные лимиты, к примеру vip 4, премиум 5 и тд
 
Обновлено до 0.0.2.
Пока без выгрузки конфига...
Добавил ссылку на GitHub.
 
Последнее редактирование:
Нашёл способ поправить баг, сегодня его опробую этот способ, если удачно, то сегодня и выпущу уже исправленный версию.
sweet-jesus-have-mercy.jpg
 
Да простят меня за мультипостинг.
Версия 0.0.4 (реализовано то, что я забыл реализовать в 0.0.3)
 
Да простят меня за мультипостинг.
Версия 0.0.4 (реализовано то, что я забыл реализовать в 0.0.3)
1.5.2 не работает
09.01 22:04:31 [Server] SEVERE at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
09.01 22:04:31 [Server] SEVERE at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
09.01 22:04:31 [Server] SEVERE at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
09.01 22:04:31 [Server] SEVERE at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
09.01 22:04:31 [Server] SEVERE at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
09.01 22:04:31 [Server] SEVERE at java.lang.ClassLoader.defineClass1(Native Method)
09.01 22:04:31 [Server] SEVERE Caused by: java.lang.UnsupportedClassVersionError: me/xOnt/EasySpawner/EasySpawnerMain : Unsupported major.minor version 52.0
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:235)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583)
09.01 22:04:31 [Server] SEVERE at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:125)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:115)
09.01 22:04:31 [Server] SEVERE at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:237)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:846)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.java:899)
09.01 22:04:31 [Server] SEVERE at net.minecraft.server.v1_5_R3.PlayerConnection.handleCommand(PlayerConnection.java:988)
09.01 22:04:31 [Server] SEVERE at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:525)
09.01 22:04:31 [Server] SEVERE at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
09.01 22:04:31 [Server] SEVERE at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
09.01 22:04:31 [Server] SEVERE at com.rylinaux.plugman.PlugManCommands.onCommand(PlugManCommands.java:100)
09.01 22:04:31 [Server] SEVERE at com.rylinaux.plugman.command.LoadCommand.execute(LoadCommand.java:114)
09.01 22:04:31 [Server] SEVERE at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:263)
09.01 22:04:31 [Server] SEVERE at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:306)
09.01 22:04:31 [Server] SEVERE at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184)
09.01 22:04:31 [Server] SEVERE org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/xOnt/EasySpawner/EasySpawnerMain : Unsupported major.minor version 52.0
 

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

Назад
Верх