Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

[COMET] Commande setz


Inspirat

Messages recommandés

Bonjour, (suite à la suppression de mon ancien topic concernant le fichier js decrypté du cms d'actuel de city) je viens aujourd'hui vous partagez la commande setz pour Comet emulateur.

 

Tout d'abord allez CommandManager et ajouter :

this.addCommand(Locale.get("command.setz.name"), new SetzCommand());

Ensuite créer un fichier class (comme ici : 

Pour avoir accès à cette image, merci de vous connecter.

) dans le répertoire user (toujours dans commands) et insérer ce code:

package com.cometproject.server.game.commands.user;

import com.cometproject.server.config.Locale;
import com.cometproject.server.game.commands.ChatCommand;
import com.cometproject.server.game.players.types.Player;
import com.cometproject.server.network.sessions.Session;
import org.apache.commons.lang.StringUtils;

public class SetzCommand extends ChatCommand {
    @Override
    public void execute(Session client, String[] params) {
        Player player = client.getPlayer();
          if (!client.getPlayer().getEntity().getRoom().getRights().hasRights(client.getPlayer().getId()) &&
                    !client.getPlayer().getPermissions().getRank().roomFullControl()) {
                sendNotif(Locale.getOrDefault("command.need.rights", "Tu dois avoir des droits pour utiliser cette commande !"), client);
                return;
            }

        if (params[0] == null || !StringUtils.isNumeric(params[0])) {
            sendNotif(Locale.getOrDefault("setz_command_erreur_2", "Pas de nombre décimal !"), client);
            return;
        }

        double height = Double.parseDouble(params[0]);
        if (height) > 30 || height) < 0) {
             sendNotif(Locale.getOrDefault("setz_command_erreur_1", "La hauteur doit être comprise entre 0 & 30"), client);
            return;
        }

        if (hauteur == 0) {
            player.getData().setStackHeight(height));
            sendNotif(Locale.getOrDefault("setz_command_origine", "La hauteur est maintenant celle d'origine"), client);
            return;
        } else {
            player.getData().setStackHeight(height));
            String msg = Locale.get("setz_command_ok");
            msg = msg.replaceFirst("%height)%", Double.toString(height));
            sendNotif(msg, client);
            return;
        }
    }

    @Override
    public String getPermission() {
        return "setz_command";
    }

    @Override
    public String getParameter() {
        return Locale.getOrDefault("command.parameter.setz", "%height)%");
    }

    @Override
    public String getDescription() {
        return Locale.get("command.setz.description");
    }
}

Puis ensuite allez dans game->players->data->PlayerData.java et ajouter ce code :

 

private double stackheight = 0;

 

Puis en bas ajouté :

    public double getStackHeight() { return this.stackheight; }

    public void setStackHeight(double height) {
        this.stackheight = height;
    }

 

Et pour finir allez dans game->rooms->types->components->ItemsComponent.java dans le void  placeFloorItem, 

 

remplacez double height = tile.getStackHeight(); par :

        double height;
        if (player.getData().getStackHeight() != 0)
            height = player.getData().getStackHeight();
        else
            height = tile.getStackHeight();

Ensuite dans le void moveFloorItem, remplacez  double height = tile.getStackHeight(item); par

double height = obeyStack ? tile.getStackHeight(item) : newPosition.getZ();

 

Lien à poster
Partager sur d’autres sites

Merci bien ;) 

Ancien Responsable des modérateurs

Mon discord : Nagasaki#5318
 
16 août 2017   ->  16 février 2020
Je m'en vais ..

 

 

                                   

                                         

Lien à poster
Partager sur d’autres sites

  • 7 mois plus tard...

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...