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

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

А как это в код прилепить?
Это условие для if, после него блок кода пишешь который должен выполниться с вероятность 50 процентов. Так же можешь добавить блок else. Тогда выполняться будет либо одно либо другое действие.

Ну это если не разобрался еще
 
Это условие для if, после него блок кода пишешь который должен выполниться с вероятность 50 процентов. Так же можешь добавить блок else. Тогда выполняться будет либо одно либо другое действие.

Ну это если не разобрался еще
Суть понял, а что не так в коде не понял:
PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
        
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if (ThreadLocalRandom.current().nextBoolean());{
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
                
      }) else (ThreadLocalRandom.current().nextBoolean());{
          String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
                return true;
                
            }       
        }   
    }   
}
 
Суть понял, а что не так в коде не понял:
PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
       
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if (ThreadLocalRandom.current().nextBoolean());{
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
               
      }) else (ThreadLocalRandom.current().nextBoolean());{
          String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
                return true;
               
            }      
        }  
    }  
}
Ну тут только джаву учить
 
Ну тут только джаву учить
Времени мало, да и к тому же не для себя делаю. Погуглил, везде так:
PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
        
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if (ThreadLocalRandom.current().nextBoolean());{
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);         
      } else {
          String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
                return true;
                });       
            }   
        }
    }
}
Но eclipse выдаёт ошибки почему то:
upload_2021-4-30_9-44-16.png
 
Времени мало, да и к тому же не для себя делаю. Погуглил, везде так:
PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
       
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if (ThreadLocalRandom.current().nextBoolean());{
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);        
      } else {
          String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
                return true;
                });      
            }  
        }
    }
}
Но eclipse выдаёт ошибки почему то:
Посмотреть вложение 59330
Изучить основы программирования займет у табя на много меньше времени, чем поиск каждой возникшей проблемы.
 
Изучить основы программирования займет у табя на много меньше времени, чем поиск каждой возникшей проблемы.
Можешь просто сказать в чём проблема, а не посылать меня учить? Я и так пытаюсь разобраться с джавой.
 
Нет. Внимательнее посмотри и сравни.
Вроде пофиксил несколько ошибок, но одна осталась, требует скобку куда-то...
PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
      
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if(ThreadLocalRandom.current().nextBoolean()) {
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);       
            };} else {
          String s = String.join(" ", args);
          Player p = (Player) sender;
          p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
             entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s);
          return true;
                });     
            } 
        }
    }
 
Где их именно закрыть? Если в конце строки, то появляется миллион ошибок...

PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
        
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if(ThreadLocalRandom.current().nextBoolean()) {
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s + "|Удачно"););       
            } else {
          String s = String.join(" ", args);
          Player p = (Player) sender;
          p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
             entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s + "|Неудачно");
          return true;
                });       
            }   
        }
 
Последнее редактирование:
Где их именно закрыть? Если в конце строки, то появляется миллион ошибок...

PHP:
package rp.main;


import java.util.concurrent.ThreadLocalRandom;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;


public class CommandTRY implements CommandExecutor {

    private Province_RP plugin;

    public CommandTRY(Province_RP plugin) {
        this.plugin = plugin;
       
    }
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if(args.length == 0) {
            return false;
        }
        if(ThreadLocalRandom.current().nextBoolean()) {
            String s = String.join(" ", args);
            Player p = (Player) sender;
            p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
                entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s + "|Удачно"););      
            } else {
          String s = String.join(" ", args);
          Player p = (Player) sender;
          p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player).forEach(entity -> {
             entity.sendMessage(ChatColor.LIGHT_PURPLE + "* " + p.getName() + " " + s + "|Неудачно");
          return true;
                });      
            }  
        }
PHP:
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player))
            return false;
        if (args.length == 0)
            return false;
        Player p = (Player) sender;
        String s = String.join(" ", args);
        p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player)
                .forEach(entity -> entity.sendMessage("§d*" + p.getName() + "* " + s + "[" +
                        (ThreadLocalRandom.current().nextBoolean() ? "§aУдалось" : "§cНе удалось") + "]"));
        return true;
    }
 
PHP:
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player))
            return false;
        if (args.length == 0)
            return false;
        Player p = (Player) sender;
        String s = String.join(" ", args);
        p.getWorld().getNearbyEntities(p.getLocation(), 10, 10, 10, entity -> entity instanceof Player)
                .forEach(entity -> entity.sendMessage("§d*" + p.getName() + "* " + s + "[" +
                        (ThreadLocalRandom.current().nextBoolean() ? "§aУдалось" : "§cНе удалось") + "]"));
        return true;
    }
А шо так можно было что-ли? Спасибо огромное!
 
Всем привет. Есть какие-нибудь гайды по Projectile?
У меня есть задача - создавать этот самый объект, когда происходит выстрел из арбалета. То есть он должен лететь ровно с фейерверком(снарядом) и наносить дополнительный урон. Мне подсказали, что именно так можно добавить урон при выстреле из арбалета.

Мне бы лишь зацепку, где такому можно научиться и мне этого будет достаточно. На ютубе видел гайды только по моддингу, это вроде как не совсем то, что нужно. А на сайт jd bukkit не заходит, не знаю уж в чем проблема и что вообще за сайт, но похоже именно там были какие-то доки или разъяснения по вопросам кода.

Спасибо за помощь.
 
Всем доброго времени суток! Подскажите пожалуйста, я пишу плагин для чата и мне нужно разрешить в чате только английские, русские буквы и цифры. Простым языком, я не хочу чтобы какой-то Вася писал
GHIJ или отправлял ▄ ▅ ▆ ▇
Я попробовал такой вариант:
Код:
getMessage().replaceAll("[^\\p{L}\\p{N}]+", "");
Но он не работает.
 
Всем доброго времени суток! Подскажите пожалуйста, я пишу плагин для чата и мне нужно разрешить в чате только английские, русские буквы и цифры. Простым языком, я не хочу чтобы какой-то Вася писал
GHIJ или отправлял ▄ ▅ ▆ ▇
Я попробовал такой вариант:
Код:
getMessage().replaceAll("[^\\p{L}\\p{N}]+", "");
Но он не работает.
Код:
setMessage(getMessage().replaceAll("[^A-zА-я0-9]+", ""));
 
Ребят, помогите пожалуйста, как открыть игроку инвентарь от наковальни через команду?
Я попробовал вариант:

Код:
        player.openInventory(Bukkit.createInventory(p, InventoryType.ANVIL));
, но после крафта при нажатии на вещь она распадается и возвращается на прежнюю позицию. ( Крч отменяется крафт ). В консоли так-же вылезает ошибка:

Код:
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 33, Size: 0
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_301]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_301]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:45) [server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_301]
Caused by: java.lang.IndexOutOfBoundsException: Index: 33, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659) ~[?:1.8.0_301]
        at java.util.ArrayList.get(ArrayList.java:435) ~[?:1.8.0_301]
        at net.minecraft.server.v1_8_R3.Container.getSlot(Container.java:109) ~[server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1513) ~[server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) ~[server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) ~[server.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) ~[server.jar:git-Spigot-db6de12-18fbb24]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_301]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_301]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) ~[server.jar:git-Spigot-db6de12-18fbb24]
        ... 5 more
Версия 1.8
 

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

Назад
Верх