Aller au contenu
SwenCake

[Addon] Erreur au lancement de Skript

Messages recommandés

Bonjour,

 

J'ai créer mon propre Addon Skript avec un effet "download" comme avec WildSkript sauf qu'au lancement du serveur, Skript crash :/

Lors du lancement sans le code skript, il n'y a pas d'erreur.

 

[spoiler=L'erreur]

[18:55:05 ERROR]: #!#! Stack trace:
[18:55:05 ERROR]: #!#! ch.njol.skript.SkriptAPIException: No class info found for url
[18:55:05 ERROR]: #!#!     at ch.njol.skript.registrations.Classes.getClassInfo(Classes.java:263)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.createExprInfo(SkriptParser.java:1786)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.getExprInfo(SkriptParser.java:1753)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1501)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:223)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:178)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.lang.Statement.parse(Statement.java:59)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:919)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.command.Commands.loadCommand(Commands.java:471)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:571)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.lambda$1(ScriptLoader.java:347)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:359)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.lambda$0(ScriptLoader.java:289)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:319)
[18:55:05 ERROR]: #!#!     at ch.njol.skript.Skript$2.run(Skript.java:409)
[18:55:05 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71)
[18:55:05 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353)
[18:55:05 ERROR]: #!#!     at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739)
[18:55:05 ERROR]: #!#!     at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406)
[18:55:05 ERROR]: #!#!     at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679)
[18:55:05 ERROR]: #!#!     at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577)
[18:55:05 ERROR]: #!#!     at java.lang.Thread.run(Unknown Source)

 

 

 

[spoiler=Le code en tord]

package main.java.com.swencake.deepsk.effects;



import java.io.File;
import java.io.FileOutputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;

import javax.annotation.Nullable;

import org.bukkit.event.Event;

import ch.njol.skript.lang.Effect;
import ch.njol.skript.lang.Expression;
import ch.njol.skript.lang.SkriptParser.ParseResult;
import ch.njol.util.Kleenean;

public class EffDownload extends Effect
   {
       private Expression<String> url;
       private Expression<String> file;

       @SuppressWarnings("unchecked")
       @Override
       public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean paramKleenean, ParseResult paramParseResult)
            {
                url = (Expression<String>) expr[0];
                file = (Expression<String>) expr[1];
               return true;
            }

       @Override
       public String toString(@Nullable Event e, boolean b)
            {
                return "download %url% to %file%";
           }


       @Override
       protected void execute(Event e)
            {
               String u = this.url.getSingle(e);
               String f = this.file.getSingle(e);
               if (u == null || f == null)
                   {
                       return;
                   }
               else
                   {
                       try
                           {
                               downloadFile(u, f);
                           }
                       catch (Exception e1)
                           {
                               e1.printStackTrace();
                           }
                   }

            }

       @SuppressWarnings("resource")
       public static void downloadFile(String u, File f) throws Exception
           {
               URL website = new URL(u);
               ReadableByteChannel rbc = Channels.newChannel(website.openStream());
               FileOutputStream fos = new FileOutputStream(f);
               fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
           }

   }

 

 

[spoiler=Le code qui crash]

command /dl <text> <text>:
   trigger:
       download %arg-1% to %arg-2%

 

 

 

Serveur : 1.12.2

Skript : Bensku-dev32

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi je comprend pas comment faire un addon :( j'ai vu le tuto de nashoba mais.... rien compris :(

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand tu as enregistré ton effet tu as mis "download %url% to %string%"? Si c'est le cas met plutôt "download %string% to %string%".

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci :) Je teste ça !

 

Edit :

 

L'erreur est réglée mais je retrouve ça maintenant :

Can't understand this condition/effect: download %arg-1% to %arg-2% (New FamilyPets.sk, line 47: download %arg-1% to %arg-2%')

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est une erreur de skript :D

C'est

download arg-1 to arg-2

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.