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

Плагин [MECH] MinerWork v0.3 - работа шахтёра [1.9-1.12]

Сделай так, чтобы можно было создавать несколько таких работ.
 
*Оффтоп*
Дайте идею для плагина пожалуйста.

Сделай плагин вроде ShoppingCart для 1.8-1.12.2 . До сих пор нету подобного плагина ни у кого. Ниже опишу пример работы.

/cart - открывает chest меню, содержимое корзины (клик по айтему - забрать этот товар), скорее всего можно реализовать с помощью API ChestCommands
/cart all - забрать всё из корзины (проверка на полный инвентарь, если полон то пишет сообщение в чат "освободите инвентарь для получения товаров"
/cart reload - перезагрузка конфигурации
/cart help - Помощь по плагину
/cart addcmd <игрок> <команда> <айтем> (прим. /cart addcmd igrok228 "pex user %player% group set vip" dirt)- добавляет в корзину игроку igrok228 товар с командой от имени консоли (pex user ) со значком грязи, то есть он нажимает на грязь и получает випку
/cart additem <игрок> <айтем> <кол-во> (прим. /cart additem igrok1488 quartz 64) - добавляетв корзину товар игроку igrok1488 64 кварцевых блока
/cart clear <ник> - очистить корзину игрока

Механика работы - при вводе команды на добавление товара в файл base.yml записывается следущее:

igrok228:
commands:
1:
cmd:
- "pex user %player% group set vip"
item:
- dirt
items:[]

Или тоже самое записывается в базу MySQL, в таблицу с подобными столбцами
 
Сделай плагин вроде ShoppingCart для 1.8-1.12.2 . До сих пор нету подобного плагина ни у кого. Ниже опишу пример работы.

/cart - открывает chest меню, содержимое корзины (клик по айтему - забрать этот товар), скорее всего можно реализовать с помощью API ChestCommands
/cart all - забрать всё из корзины (проверка на полный инвентарь, если полон то пишет сообщение в чат "освободите инвентарь для получения товаров"
/cart reload - перезагрузка конфигурации
/cart help - Помощь по плагину
/cart addcmd <игрок> <команда> <айтем> (прим. /cart addcmd igrok228 "pex user %player% group set vip" dirt)- добавляет в корзину игроку igrok228 товар с командой от имени консоли (pex user ) со значком грязи, то есть он нажимает на грязь и получает випку
/cart additem <игрок> <айтем> <кол-во> (прим. /cart additem igrok1488 quartz 64) - добавляетв корзину товар игроку igrok1488 64 кварцевых блока
/cart clear <ник> - очистить корзину игрока

Механика работы - при вводе команды на добавление товара в файл base.yml записывается следущее:

igrok228:
commands:
1:
cmd:
- "pex user %player% group set vip"
item:
- dirt
items:[]

Или тоже самое записывается в базу MySQL, в таблицу с подобными столбцами
я скорее всего сделаю на SQL подобную штуку. Ну раз сказал ни у кого нет значит за работу!
 
Сделай плагин вроде ShoppingCart для 1.8-1.12.2 . До сих пор нету подобного плагина ни у кого. Ниже опишу пример работы.

/cart - открывает chest меню, содержимое корзины (клик по айтему - забрать этот товар), скорее всего можно реализовать с помощью API ChestCommands
/cart all - забрать всё из корзины (проверка на полный инвентарь, если полон то пишет сообщение в чат "освободите инвентарь для получения товаров"
/cart reload - перезагрузка конфигурации
/cart help - Помощь по плагину
/cart addcmd <игрок> <команда> <айтем> (прим. /cart addcmd igrok228 "pex user %player% group set vip" dirt)- добавляет в корзину игроку igrok228 товар с командой от имени консоли (pex user ) со значком грязи, то есть он нажимает на грязь и получает випку
/cart additem <игрок> <айтем> <кол-во> (прим. /cart additem igrok1488 quartz 64) - добавляетв корзину товар игроку igrok1488 64 кварцевых блока
/cart clear <ник> - очистить корзину игрока

Механика работы - при вводе команды на добавление товара в файл base.yml записывается следущее:

igrok228:
commands:
1:
cmd:
- "pex user %player% group set vip"
item:
- dirt
items:[]

Или тоже самое записывается в базу MySQL, в таблицу с подобными столбцами
Почему ни у кого нет?) У меня такой Shoppingcart
 
Ну так допиши то, о чем я писал выше, раз заняться нечем
 
Я может совсем ку-ку, но не работает :) я скорее всего не совсем понял как "включить". ставлю табличку с текстом "Сдача груза (ПКМ)" в нулевой строчке, ставлю угольный блок. ПКМ по блоку - нет ответа, ПКМ по табличке - нет привета. Можешь разъяснить как протестировать то? :))) или может кто аналог подскажет, так как нужен плагин, где игрок будет таскать предмет из точки А в точку Б с эффектом медлительности и за денежку. Vault стоит и он же экономика (возможно тут и есть проблема? нужен ли отдельный плагин на экономику?). По идеи - видел похожую механику на одном сервере, там еще до точки Б из А на земле эффект был, а-ля дорожка (эффект струйки огня, указывающий путь).
_
UPD 1.12 сервер, ведро
Я был слеп и не увидел в консоли ошибку.

[20:16:05] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to MinerWork v0.3
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:498) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:483) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:201) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:108) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:855) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:40) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:10) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-f7d14f1]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:695) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:366) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554) [craftbukkit.jar:git-Bukkit-f7d14f1]
at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.NoClassDefFoundError: net/md_5/bungee/api/ChatColor
at ru.kdev.miner.MinerListner.onPoluchenie(MinerListner.java:54) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor93.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:296) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
... 18 more
 
Последнее редактирование:
Я может совсем ку-ку, но не работает :) я скорее всего не совсем понял как "включить". ставлю табличку с текстом "Сдача груза (ПКМ)" в нулевой строчке, ставлю угольный блок. ПКМ по блоку - нет ответа, ПКМ по табличке - нет привета. Можешь разъяснить как протестировать то? :))) или может кто аналог подскажет, так как нужен плагин, где игрок будет таскать предмет из точки А в точку Б с эффектом медлительности и за денежку. Vault стоит и он же экономика (возможно тут и есть проблема? нужен ли отдельный плагин на экономику?). По идеи - видел похожую механику на одном сервере, там еще до точки Б из А на земле эффект был, а-ля дорожка (эффект струйки огня, указывающий путь).
_
UPD 1.12 сервер, ведро
Я был слеп и не увидел в консоли ошибку.

[20:16:05] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to MinerWork v0.3
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:498) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:483) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [craftbukkit.jar:git-Bukkit-f7d14f1]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:201) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:108) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:855) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:40) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:10) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-f7d14f1]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:695) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:366) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650) [craftbukkit.jar:git-Bukkit-f7d14f1]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554) [craftbukkit.jar:git-Bukkit-f7d14f1]
at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.NoClassDefFoundError: net/md_5/bungee/api/ChatColor
at ru.kdev.miner.MinerListner.onPoluchenie(MinerListner.java:54) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor93.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:296) ~[craftbukkit.jar:git-Bukkit-f7d14f1]
... 18 more
Не знаю попробуйте установить такие плагины, Vault, iConomy (экономика которую я юзал для тестов) либо Essentials или другой экономический плагин.

Судя по ошибке это находится в этом паблике:

Код:
    @EventHandler
    public void onPoluchenie(PlayerInteractEvent e) { // Ивент получения предмета
        ItemStack is = createItem(Material.COAL_BLOCK, ChatColor.translateAlternateColorCodes('&', Main.instance.getConfig().getString("ItemName")));
        if(e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType() == Material.COAL_BLOCK) {
            e.getPlayer().getInventory().setItemInMainHand(is);
            narabote.put(e.getPlayer().getName(), true);
            e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 20 * 500000, 3));
            e.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Main.instance.getConfig().getString("Start")));
        }
    }

и да у вас есть права на установку таблички? (minerwork.signs)
 
Все, конечно, работает, и очень даже хорошо, но вот только игрок может взять так абсолютно любой угольный блок, будь он хоть за несколько тысяч блоков от таблички этой. Исправь это как-нибудь. И лучше сделать возможность изменить максимальное количество блоков, которые можно брать (1-3)
 
в привате не работает
 

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

Назад
Верх