Problème Potion



  • Salut, j'utilise les ItemPotion dans les Anvils afin de les stacker. Voici le code :

    @SubscribeEvent
    	public void recipeAnvil(AnvilUpdateEvent event) {
    		
    		if((event.getLeft().getItem() instanceof ItemPotion && event.getRight().getItem() == event.getLeft().getItem() && event.getOutput() == ItemStack.EMPTY)) {
    			int l = event.getLeft().getCount();
    			int r = event.getRight().getCount();
    			ItemStack output = new ItemStack(event.getLeft().getItem(), l+r, event.getLeft().getMetadata(), event.getLeft().getTagCompound()); //Le problème doit venir de cette ligne.
    			event.setCost(5);
    			event.setOutput(output);
    		}
    	}
    

    Mais le problème est que j'obtiens toujours une Uncraftable potion et non la potion voulu. J'ai regarder dans la classe ItemStack puis j'ai rajouter event.getLeft().getTagCompound(), pensant que le problème venait des NBT Tags mais j'obtiens toujours l'Uncraftable potion. J'espère que vous pourrez m'aider.



  • coucou !

    Ceci :

    int l = event.getLeft().getCount();
    int r = event.getRight().getCount();
    ItemStack output = new ItemStack(event.getLeft().getItem(),l+r,event.getLeft().getMetadata(),event.getLeft().getTagCompound()); //Le problème doit venir de cette ligne.
    

    se change en cela :

    ItemStack output = event.getLeft().copy();
    output.grow(event.getRight().getCount());
    

    et ta condition devient :

    if(event.getLeft().getItem() instanceof ItemPotion && event.getLeft().isItemEqual(event.getRight()) && event.getOutput().isEmpty())
    


  • Merci.


Log in to reply