Aller au contenu

Tuto Addon #2 - Créer un effet


Messages recommandés

Posté(e)
Euh tu as mis quoi dans ta classe

bah la classe extends pas en JavaPlugin donc sa me metune erreur c'est normal

si tu sais comment extends en JavaPlugin et extends en Effect en même temps dis le moi jcp le faire

Posté(e)
Je l'héberge en localhost donc je dois tout réécrire :x Ce n'est pas grave je vais essayer avec les expressions ou les conditions pour voir ;)

PS: N'hésite pas, dans les prochains tutoriaux, à expliquer en profondeur à quoi servent tel ou tel truc =D

Tu prends un skrinshoot x) !

  • 1 mois après...
Posté(e)

Cela ne vient pas de Eclipse mais de ton type de Java et/ou Minecraft.

Il faut que tu prenne minimum JAVA SE 1.7 et une version Minecraft SPIGOT API stable de préférence.

Si cela est toujours pareil, met les screens.

 

PS : Je peux t'aider en Java :) #MpMOi

Posté(e)

Oui c'est ça, je pense que tu as oublié d'ajouter les dépendances (Skript & Spigot). Pour les importer clique droit sur le projet --> Build Path... --> Configure Build Path. Tu sélectionnes l'onglet "Librairies" puis "Add External Jars...". Tu séléctionnes Spigot API et tu k'importes et tu fais de même pour le plugin Skript.

Pour compiler avec Java 7, tu restes dans ce menu et à gauche tu cliques sur Java Compiler. Ensuite tu décoches "Use compliance from execution..." et dans "Compiler compliance level" tu mets 1.7.

J'espère avoir été clair ^^

Posté(e)
Oui c'est ça, je pense que tu as oublié d'ajouter les dépendances (Skript & Spigot). Pour les importer clique droit sur le projet --> Build Path... --> Configure Build Path. Tu sélectionnes l'onglet "Librairies" puis "Add External Jars...". Tu séléctionnes Spigot API et tu k'importes et tu fais de même pour le plugin Skript.

Pour compiler avec Java 7, tu restes dans ce menu et à gauche tu cliques sur Java Compiler. Ensuite tu décoches "Use compliance from execution..." et dans "Compiler compliance level" tu mets 1.7.

J'espère avoir été clair ^^

Non je l'avais déjà fait ^_^

 

EDIT: Laisse tomber c'est réglé.

Posté(e)

Salut,

 

J'ai bien suivi ton tutoriel et mes effets marchent, mais quand j'entre "%gamemode%" dans mon pattern, ça ne semble pas fonctionner. Sauriez-vous m'aider ?

 

Version MC : 1.8 (+ ViaVersion avec 1.9)

Version de Java : 8

Erreurs : Rien (même dans la console au lancement du plugin, ainsi que mes scripts fonctionnant avec l'effet)

Code :

 

[spoiler=Classe principale]

package fr.psyziik.sktools;

import org.bukkit.plugin.java.JavaPlugin;

import ch.njol.skript.Skript;
import fr.psyziik.sktools.effects.EffSetGameModeOfAllPlayers;

public class Main extends JavaPlugin{

   @Override
   public void onEnable(){

       Skript.registerAddon(this);

       Skript.registerEffect(EffSetGameModeOfAllPlayers.class, "set [the] gamemode of all players to %gamemode%");

   }

}

 

 

 

[spoiler=Classe de l'effet]

package fr.psyziik.sktools.effects;

import javax.annotation.Nullable;

import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
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 EffSetGameModeOfAllPlayers extends Effect{

   private Expression<GameMode> mode;

   @Override
   public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean paramKleenean, ParseResult paramParseResult) {

       mode = (Expression<GameMode>) expr[0];

       return true;

   }

   @Override
   public String toString(@Nullable Event e, boolean b){

       return "set [the] gamemode of all players to %gamemode%";

   }

   @Override
   protected void execute(Event e){

       for(Player p : Bukkit.getOnlinePlayers()){

           p.setGameMode(mode.getSingle(e));

       }

   }

}

 

 

 

Amicalement,

PsYZiiK.

Posté(e)

Hum... Si ton addon démarre et enregistre l'effet correctement, qu'il n'y a pas d'erreur dans la console ça devrait marcher. J'ai vérifié et le type %gamemode% s'écrit comme ça, de toute façon si c'était faux il y aurait une erreur dans la console.

Ce que tu devrais essayer c'est ajouter "System.out.println("TEST EFFET");" dans la fonction execute() de ta class effet, pour voir s'il est bien appelé.

  • 4 semaines après...
Posté(e)

Hello, I'm french and I start the java's coding.

I have a problem who block me (I can't remove bossbar), so please, if you can, help me! cry.png

Here is my Bossbar class: http://hastebin.com/dibevoxupe.cs

Here is my EffectBossbar class: http://hastebin.com/udadeditok.java

And here is my EffectBossbarremove: http://hastebin.com/nuyowibizi.java

The error in the console: http://hastebin.com/cezufivaju.md

Thanks. (désolé pour l'anglais j'avais la flemme de tout retraduire, j'ai copié un post que j'avais fais sur skunity)

  • 1 an après...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

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.