Non résolu Changer la taille de l'inventaire des joueurs et le nombre max stackable d'item
-
Bonjour à tous !
Je cherche à reproduire une GUI un peu comme les inventaires des serveurs RP arma 3.
Je sais déjà comment remplacer le GUI par le mien avec les textures personnalisé, mais j’ai deux petit problème:
J’ai ajouter 4 slots indépendant comme l’armure de Minecraft, mais aussi “enlever” tout les slots pour que je n’ai qu’une liste de 32 item max (ou plus si il possède un backpack), mais pas 32 stack d’item (d’ou dans le titre modifié les nombre max d’item stackable)
J’ai un peu fouiller, et apparemment on pourrait remplacer l’inventaire du joueur, problème quand j’extends de “InventoryPlayer”, la variable de l’inventaire du joueur est private impossible de modifier comme ca, j’ai donc tenter de faire ca:
public class InventoryPlayerCustom extends InventoryPlayer { public final NonNullList<ItemStack> mainInventory = NonNullList.withSize(2, ItemStack.EMPTY); private final List<NonNullList<ItemStack>> allInventories; public InventoryPlayerCustom(EntityPlayer playerIn) { super(playerIn); // this.mainInventory = ; this.allInventories = Arrays.<NonNullList<ItemStack>>asList(this.mainInventory, this.armorInventory, this.offHandInventory); } }
Et pour mettre l’inventaire au joueur je fais ceci:
@SubscribeEvent public void joinWorld(EntityJoinWorldEvent event) { if(event.getEntity() instanceof EntityPlayer && !event.getWorld().isRemote) { EntityPlayer p = (EntityPlayer) event.getEntity(); p.inventory = new InventoryPlayerCustom(p); } }
Petit soucis quand on casse des items ils n’apparaisse ni dans la hotbar, ni dans l’inventaire de base non modifiée, je suppose qu’il faut faire un container custom pour mon inventaire custom, mais je ne manie pas très bien les containers
Du coup avez vous des idée pour modifié la taille de l’inventaire ainsi que le nombre maximal d’item stackable ? (à part en les modifiant 1 a un 1)
Merci de votre aide !