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

Помогите Партиклы

Тема в разделе "Разработка плагинов для новичков", создана пользователем AlexMor, 31 дек 2016.

  1. Автор темы
    AlexMor

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

    Баллы:
    66
    Всм првт(без гласных :3) ,Решился отредактировать WC (WorldClaim) под себя, все по моей части работает нормально но вот видимо толи исходник битый толи еще что но майн усердно ругается на партиклы который создает плагин при привате территории (точнее выделении территория, с самим приватом все ок). -diAcqrR5ro.jpg
    Извините что не текст, тороплюсь, дела дела))))
    Так вот вопрос, может кто редактировал и знает как это исправить, или скиньте как создавать партиклы, попробую свой код написать.
     
    Последнее редактирование: 31 дек 2016
  2. Хостинг MineCraft
    <
  3. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    Может гоу фулл код класса?
    Или строки с ошибками дай.
     
  4. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Тьфу.
    Не под ту версию ядра делаешь
    ClassNotFoundException
     
  5. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    под ту версию он делает. просто наверное у него через рефлексию сделано. А в 1.10 поменяли название класса.
     
  6. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Возможно...
     
  7. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Баллы:
    21
    Имя в Minecraft:
    CoreKolas
    Что тьфу? Ну ок, помогайте ему с частичкой кода маленькой, если он не хочет скидывать код, его проблемы.
     
  8. Автор темы
    AlexMor

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

    Баллы:
    66
    Вот метод из класса ParticleEffect (//!!!!!!!! это строка 1417)
    Код:
    public static void initialize() throws VersionIncompatibleException {
    if (initialized) {
    return;
    }
    try {
    version = Integer.parseInt(Character.toString(PackageType.getServerVersion().charAt(3)));
    if (version > 7) {
    enumParticle = PackageType.MINECRAFT_SERVER.getClass("EnumParticle");
    }
    Class<?> packetClass = PackageType.MINECRAFT_SERVER.getClass(version < 7 ? "Packet63WorldParticles" : "PacketPlayOutWorldParticles");
    packetConstructor = ReflectionUtils.getConstructor(packetClass);
    getHandle = ReflectionUtils.getMethod("CraftPlayer", PackageType.CRAFTBUKKIT_ENTITY, "getHandle");
    playerConnection = ReflectionUtils.getField("EntityPlayer", PackageType.MINECRAFT_SERVER, false, "playerConnection");
    sendPacket = ReflectionUtils.getMethod(playerConnection.getType(), "sendPacket", PackageType.MINECRAFT_SERVER.getClass("Packet"));
    } catch (Exception exception) {
    throw new VersionIncompatibleException("Your current bukkit version seems to be incompatible with this library", exception);//!!!!!!!!!!!!!
    }
    initialized = true;
    }
    
    Вот еще один метод из того же класса который содержит строку 1348, так же проблемная строка выделена так //!!!!!!!!!!!!
    Код:
    public ParticlePacket(ParticleEffect effect, float offsetX, float offsetY, float offsetZ, float speed, int amount, boolean longDistance, ParticleData data) throws IllegalArgumentException {
    initialize();//!!!!!!!!!!!!
    if (speed < 0) {
    throw new IllegalArgumentException("The speed is lower than 0");
    }
    if (amount < 0) {
    throw new IllegalArgumentException("The amount is lower than 0");
    }
    this.effect = effect;
    this.offsetX = offsetX;
    this.offsetY = offsetY;
    this.offsetZ = offsetZ;
    this.speed = speed;
    this.amount = amount;
    this.longDistance = longDistance;
    this.data = data;
    }
    
    Вот строка 603 и метод в котором она содержится , выделил так же
    Код:
    public void display(float offsetX, float offsetY, float offsetZ, float speed, int amount, Location center, List<Player> players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException {
    if (!isSupported()) {
    throw new ParticleVersionException("This particle effect is not supported by your server version");
    }
    if (hasProperty(ParticleProperty.REQUIRES_DATA)) {
    throw new ParticleDataException("This particle effect requires additional data");
    }
    if (hasProperty(ParticleProperty.REQUIRES_WATER) && !isWater(center)) {
    throw new IllegalArgumentException("There is no water at the center location");
    }
    new ParticlePacket(this, offsetX, offsetY, offsetZ, speed, amount, isLongDistance(center, players), null).sendTo(center, players);//!!!!!!!!!!!!!!!!!!!!
    }
    

    Строка 622
    Код:
    public void display(float offsetX, float offsetY, float offsetZ, float speed, int amount, Location center, Player... players) throws ParticleVersionException, ParticleDataException, IllegalArgumentException {
    display(offsetX, offsetY, offsetZ, speed, amount, center, Arrays.asList(players));//!!!!!!!!!!!
    }
    
    Строка 102 из класса HelperMetods (метод огромен, отошлю одну строку)
    Код:
    ParticleEffect.REDSTONE.display(0.01f, 0.01f, 0.01f, 0, 1, new Location(p.getWorld(), x + .5, y + 2, currentPoint.getZ() + .5), ps);
    x = x + .5;
    
    Строка 91 из класса WorldClaimMain , здесь Shleduler скину его весь, проблемную строку как обычно)
    Код:
    getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
    {
    public void run()
    {
    ArrayList<ParticleObject> p = new ArrayList<ParticleObject>();
    p.addAll(Vars.particles);
    for(ParticleObject pl : p)
    {
    HelperMethods.spawnParticles(pl.p, pl.list);
    pl.addCount(); //!!!!!!!!!!!!!!!!!!!!
    if(pl.counter > pl.max)
    {
    Vars.particles.remove(pl);
    }
    }
    }
    }, 0L, 10L);
    
    [DOUBLEPOST=1483217584,1483217523][/DOUBLEPOST]
    Ох уж извини, не сразу скинул, дела как я уже говорил)[DOUBLEPOST=1483217662][/DOUBLEPOST]ВСЕХ С НОВЫМ ГОДОМ!!!!!!!!!
     

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