1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Идея Выполнение игроком команды от имени консоли

Тема в разделе "Запросы на разработку плагинов", создана пользователем Devel, 4 мар 2018.

Статус темы:
Закрыта.
  1. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    upload_2018-3-4_23-16-34.png
    upload_2018-3-4_23-17-10.png
     
  2. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
  3. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    и посмотри в консоль
     
  4. DeathCry

    DeathCry Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    DeathCry
    Так а какая разница? Введённая игроком строка просто обрубается на 2 символа и всё, остальное не трогается и передаётся на выполнение консольке...
     
  5. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Ща кину пруфы что это не так
     
  6. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    upload_2018-3-4_23-59-13.png
     
  7. _helper_

    _helper_ Активный участник Пользователь

    Баллы:
    76
    лол, там ещё пару тестов неудачных было
     
  8. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Тестил функции, и за одно тестил FCore.
     
  9. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    ну ща скину краш gamemode и give. там может быть ещё краши будут на других командах
     
  10. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    [10:39:00 INFO]: An unknown error occurred while attempting to perform this comm
    and
    [10:39:00 WARN]: Unknown CommandBlock failed to handle command
    java.lang.IllegalStateException: Asynchronous player tracker update!
    at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[surv.jar:gi
    t-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.EntityTrackerEntry.updatePlayer(EntityTr
    ackerEntry.java:313) ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.EntityTracker.a(EntityTracker.java:207)
    ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.EntityPlayer.B(EntityPlayer.java:1041) ~
    [surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.EntityPlayer.updateAbilities(EntityPlaye
    r.java:934) ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerInteractManager.setGameMode(Player
    InteractManager.java:36) ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.setGameMode(CraftPl
    ayer.java:759) ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.EntityPlayer.a(EntityPlayer.java:943) ~[
    surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.CommandGamemode.execute(CommandGamemode.
    java:28) ~[surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.command.VanillaCommandWrapper.dispatch
    VanillaCommand(VanillaCommandWrapper.java:108) [surv.jar:git-Spigot-db6de12-18fb
    b24]
    at org.bukkit.craftbukkit.v1_8_R3.command.VanillaCommandWrapper.execute(
    VanillaCommandWrapper.java:43) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
    r.java:641) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.Bukkit.dispatchCommand(Bukkit.java:576) [surv.jar:git-Spig
    ot-db6de12-18fbb24]
    at nomcraft.console.onChat(console.java:13) [NomConsole.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _161]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _161]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_161]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:306) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:502) [surv.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:484) [surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerConnection.chat(PlayerConnection.j
    ava:1084) [surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    :1022) [surv.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat$1.run(PacketPlayInChat.
    java:39) [surv.jar:git-Spigot-db6de12-18fbb24]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_161]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:
    1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?
    :1.8.0_161]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
     
  11. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ты что-то в асинхронне делаешь. Подозреваю что dispatchCommand надо в синхронном Runnable запускать, иначе будет ошибка если команда делает что-то с игроком (хотя думаю и с миром и с мобами тоже должно давать).
     
  12. DeathCry

    DeathCry Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    DeathCry
    Мне даже интересно стало, что там в коде такое, что такую ошибку кидает?
     
  13. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    По этому нужен костыль. (Не совсем понял "синхронный Runnable")
    Код есть выше.
     
  14. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Эвент то асинхронный, вот и некоторые методы предупреждают что они не потокобезопасны.
    PHP:
    new BukkitRunnable(){
        @
    Override
        
    public void run() {
            
    Bukkit.dispatchCommand()...;
        }
    }.
    runTask(Main);
     
    Последнее редактирование: 5 мар 2018
  15. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Понял, сябки. Погуглил но так и не нашел "Синхронный Runnable".
     
  16. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    PHP:
    package console;

    import org.bukkit.Bukkit;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.scheduler.BukkitRunnable;

    public class 
    console implements Listener{
        @
    EventHandler
        
    public void onChat(AsyncPlayerChatEvent e) {
            if(
    e.getMessage().startsWith("> ")) {
                if(
    e.getPlayer().hasPermission("adminconsole.admin")) {
                    new 
    BukkitRunnable(){
                        
    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), e.getMessage().replaceFirst("> """));
                        }.
    runTask(Main);
                    
    e.setCancelled(true);
                }
            }
        }
    }
     
  17. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Main - твой главный класс.
     
  18. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    строка 14: The type new BukkitRunnable(){} must implement the inherited abstract method Runnable.run()

    строка 15:
    Multiple markers at this line
    - Syntax error, insert "Identifier (" to complete
    MethodHeaderName
    - Syntax error, insert ";" to complete MethodDeclaration
    - Syntax error, insert "}" to complete ClassBody
    - Syntax error, insert ")" to complete MethodDeclaration

    строка 16: Syntax error on token ".", { expected
     
  19. Nikolai_Faint

    Nikolai_Faint Активный участник Пользователь

    Баллы:
    96
    Лучше тебе не кодить, а читать синтаксис, и учебники по яве
     
  20. Автор темы
    Devel

    Devel Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    TBOYA_MAMKA
    а готовый код скинуть не проще? скиньте готовый рабочий код и тема закрыта
     
Статус темы:
Закрыта.

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