1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Résolu Creation d'un block perso

Discussion dans 'Aide à la création de mod' créé par e101mk2, 8 Jan 2018.

  1. e101mk2

    e101mk2 Nouveau

    Inscrit:
    7 Jan 2018
    Messages:
    3
    Points:
    55
    Bonjour, je suis actuellement en train d'apprendre à modder sur minecraft (bukkit). J'ai appris le Java en mode rapidos (je suis dev C++ / C#.net). Je tente de créer un block personnalisé.
    Evidemment j'y arrive pas, d'ou ce topic.

    Voici les approches que j'ai tentée:
    J'ai tenter d’implémenter MaterialData, dés que j'essaie d'utiliser la classe, en exécution, j'ai une erreur disant que c'est pas un MaterialData (l’héritage de Java est pourrit ou quoi? )

    Donc, j'ai tentée avec une classe plus simple genre Dirt (qui hérite de MaterialData), même problème...

    J'ai finit par remarquer que ItemStack à un constructeur protégée, donc j'ai tentée cette fois ci de l’implémenté, toujours des bugs en exécution mais sur le coup, la je sait pas pourquoi (les logs sont pas précis du tout...)

    Donc je me pose la questions, qu'elle est la marche à suivre pour créer un bloc personnalisée avec un contrôle sur son environnement (les cubes contre celui-ci), et la façon dont le joueur peut le poser...

    Merci de votre aide.

    Edit: voici mon code
    Code (cpp):
    package fr.e101mk2.redext;

    import org.bukkit.Material;
    import org.bukkit.material.MaterialData;

    public class RedCableBlock extends MaterialData{

        public RedCableBlock() {
            super(Material.REDSTONE);
         
        }

    }
    Code (cpp):
    ItemStack item2 = new ItemStack(Material.REDSTONE);
            item2.setData( (MaterialData)  new RedCableBlock());
         

            ev.getPlayer().getInventory().addItem( item2);
            ev.getPlayer().sendMessage("la methodes a finit");
    et l'erreur c'est Caused by: java.lang.IllegalArgumentExecption: provuded data is not of org.bukkit.material.MaterialData, found fr.e101mk2.redect.RedCableBlock

    Java est en train de me rendre maboule....
     
    #1 e101mk2, 8 Jan 2018
    Dernière édition: 8 Jan 2018
  2. robin4002

    robin4002 Support Technique
    Staff

    Inscrit:
    17 Août 2012
    Messages:
    5 478
    Points:
    229
    Sexe:
    Homme
    Salut,
    Le problème n'est pas le Java, le problème c'est que tu essais de faire quelque chose d'impossible.
    L'api de bukkit ne permet pas d'ajouter des blocs au jeu.
     
    • J'aime J'aime x 1
  3. e101mk2

    e101mk2 Nouveau

    Inscrit:
    7 Jan 2018
    Messages:
    3
    Points:
    55
    Merci pour ta réponse, ok je viens de perdre 10h de ma vie à tenter de faire quelque chose d'impossible. Bon grâce a tes conseils, je vais surement m'orienter vers Forge, voir comment il fonctionne (au niveau serveur, si c'est possible etc). Encore merci
     

Partager cette page