Résolu [JAVA] Gui à 5 slots uniquement

Kenda

Architecte en herbe
16 Juillet 2016
292
1
2
125
32
www.youtube.com
Puis-je voir ton ItemBuilder stp ?

Le voici, j'ai repris celui de ItsAlexouSD (Et c'est bien pratique en vrai)


Code:
package fr.kenda.sanction.utils;

import org.bukkit.Color;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.SkullMeta;

import java.util.Arrays;

public class ItemBuilder {
    private ItemStack is;

    public ItemBuilder(Material m) {
        this(m, 1);
    }

    public ItemBuilder(ItemStack is) {
        this.is = is;
    }

    public ItemBuilder(Material m, int amount) {
        is = new ItemStack(m, amount);
    }

    public ItemBuilder(Material m, int amount, short meta){
        is = new ItemStack(m, amount, meta);
    }

    public ItemBuilder clone() {
        return new ItemBuilder(is);
    }

    public ItemBuilder setDurability(short dur) {
        is.setDurability(dur);
        return this;
    }

    public ItemBuilder setName(String name) {
        ItemMeta im = is.getItemMeta();
        im.setDisplayName(name);
        is.setItemMeta(im);
        return this;
    }

    public ItemBuilder addUnsafeEnchantment(Enchantment ench, int level) {
        is.addUnsafeEnchantment(ench, level);
        return this;
    }

    public ItemBuilder removeEnchantment(Enchantment ench) {
        is.removeEnchantment(ench);
        return this;
    }

    public ItemBuilder setSkullOwner(String owner) {
        try {
            SkullMeta im = (SkullMeta) is.getItemMeta();
            im.setOwner(owner);
            is.setItemMeta(im);
        } catch (ClassCastException expected) {
        }
        return this;
    }

    public ItemBuilder addEnchant(Enchantment ench, int level) {
        ItemMeta im = is.getItemMeta();
        im.addEnchant(ench, level, true);
        is.setItemMeta(im);
        return this;
    }

    public ItemBuilder setInfinityDurability() {
        is.setDurability(Short.MAX_VALUE);
        return this;
    }

    public ItemBuilder setLore(String... lore) {
        ItemMeta im = is.getItemMeta();
        im.setLore(Arrays.asList(lore));
        is.setItemMeta(im);
        return this;
    }

    @SuppressWarnings("deprecation")
    public ItemBuilder setWoolColor(DyeColor color) {
        if (!is.getType().equals(Material.WOOL))
            return this;
        this.is.setDurability(color.getData());
        return this;
    }

    public ItemBuilder setLeatherArmorColor(Color color) {
        try {
            LeatherArmorMeta im = (LeatherArmorMeta) is.getItemMeta();
            im.setColor(color);
            is.setItemMeta(im);
        } catch (ClassCastException expected) {
        }
        return this;
    }

    public ItemStack toItemStack() {
        return is;
    }
}
 

EdgarPi

Correcteur
Staff
Correcteur
9 Février 2014
179
13
25
135
C'est dû à un appel récursif entre deux fonctions dans la lib de Minecraft. Essaye une autre version de la lib, une autre snapshot 1.9
 

Kenda

Architecte en herbe
16 Juillet 2016
292
1
2
125
32
www.youtube.com
C'est dû à un appel récursif entre deux fonctions dans la lib de Minecraft. Essaye une autre version de la lib, une autre snapshot 1.9

d'accord, je vais essayer


Edit :
J'ai essayer avec d'autres version,e t le problème reste le même.
 
Dernière édition:

EdgarPi

Correcteur
Staff
Correcteur
9 Février 2014
179
13
25
135
Tu peux créer un dropbox ou autre avec ton projet pour que je fasse des tests stp ? Tu n'es pas obligé, mais je ne vois pas d'autres solutions comme ça...
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 139
162
464
247
21
Mìlhüsa
Pour moi le problème vient de ton serveur, le récupères-tu bien depuis BuildTools et non depuis un site de téléchargement direct ?
 

EdgarPi

Correcteur
Staff
Correcteur
9 Février 2014
179
13
25
135
Salut !

Merci beaucoup ! J'ai pu corriger deux de tes problèmes je pense.

Si tu ajoutes ceci dans l'event, les joueurs ne pourront plus déplacer de bloc dans le menu.

J'ai utiliser cette version de spigot, et tout était ok.

Cordialement,
EdgarPi
 

Kenda

Architecte en herbe
16 Juillet 2016
292
1
2
125
32
www.youtube.com
Salut !

Merci beaucoup ! J'ai pu corriger deux de tes problèmes je pense.

Si tu ajoutes ceci dans l'event, les joueurs ne pourront plus déplacer de bloc dans le menu.

J'ai utiliser cette version de spigot, et tout était ok.

Cordialement,
EdgarPi

Bonsoir,

Après avoir modifier le code, j'ai toujours le même problème. Les items/blocs ne peuvent pas être pris, mais quand un joueur essaye de placé un bloc dans l'inventaire, l'erreur est toujours là. J'ai essayer plein de version différentes et pourtant, le problème reste toujours.

Pour moi le problème vient de ton serveur, le récupères-tu bien depuis BuildTools et non depuis un site de téléchargement direct ?

Oui, j'ai bien la version du BuildTools.