MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Baton et item de reparation et GUI

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    41 Messages 7 Publieurs 7.8k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      J’ai remarqué il y a peu qu’il y avait des erreurs dans le tutoriel, envoi ta classe avec les recettes et la TileEntity si tu veux que je le corrige 😉

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

      1 réponse Dernière réponse Répondre Citer 0
      • YeyvoY Hors-ligne
        Yeyvo
        dernière édition par

        MachineRecipes

        public class MachineRecipes
        {
        
            public MachineRecipes()
            {
                smeltingList = new HashMap();
                addRecipe(ModPaladium.PaladiumOre, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, new ItemStack(ModPaladium.smallring, 1));
                addRecipe(ModPaladium.smallring, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, new ItemStack(ModPaladium.mediumring, 1));
                addRecipe(ModPaladium.mediumring, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, new ItemStack(ModPaladium.bigring, 1));
                addRecipe(ModPaladium.smallring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.smallring, 1));
                addRecipe(ModPaladium.mediumring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.mediumring, 1));
                addRecipe(ModPaladium.bigring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.bigring, 1));
                addRecipe(ModPaladium.orbeheal, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.healstick, 1));
                addRecipe(ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, new ItemStack(ModPaladium.superhealstick, 1));
                addRecipe(ModPaladium.orbespeed, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.speedstick, 1));
                addRecipe(ModPaladium.orbestrength, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.strengthstick, 1));
                addRecipe(ModPaladium.orbejump, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.jumpstick, 1));
                addRecipe(ModPaladium.CompressPaladium, ModPaladium.strengthstick, ModPaladium.speedstick, ModPaladium.healstick, ModPaladium.findium, new ItemStack(ModPaladium.StickOfGod, 1));
            }
        
            public void addRecipe(ItemStack stack1, ItemStack stack2, ItemStack stack3, ItemStack stack4, ItemStack stack5, ItemStack stack)
            {
                ItemStack stackList[] = {
                    stack1, stack2, stack3, stack4, stack5
                };
                smeltingList.put(stackList, stack);
            }
        
            public void addRecipe(Item item1, Block item2, Item item3, Block item4, Item item5, ItemStack stack)
            {
                addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
            }
        
            public void addRecipe(Item item1, Item item2, Item item3, Item item4, Item item5, ItemStack stack)
            {
                addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
            }
        
            public void addRecipe(Block item1, Block item2, Item item3, Block item4, Block item5, ItemStack stack)
            {
                addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
            }
        
            public void addRecipe(Item item1, Block item2, Block item3, Block item4, Block item5, ItemStack stack)
            {
                addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
            }
        
            public ItemStack getSmeltingResult(ItemStack stack[])
            {
                Iterator iterator = smeltingList.entrySet().iterator();
                java.util.Map.Entry entry;
                do
                {
                    if(!iterator.hasNext())
                        return null;
                    entry = (java.util.Map.Entry)iterator.next();
                } while(!isSameKey(stack, (ItemStack[])(ItemStack[])entry.getKey()));
                return (ItemStack)entry.getValue();
            }
        
            private boolean isSameKey(ItemStack stackList[], ItemStack stackList2[])
            {
                boolean isSame = false;
                for(int i = 0; i <= 4; i++)
                    if(stackList*.getItem() == stackList2*.getItem())
                        isSame = true;
                    else
                        return false;
        
                return isSame;
            }
        
            public Map getSmeltingList()
            {
                return smeltingList;
            }
        
            public static MachineRecipes smelting()
            {
                return smeltingBase;
            }
        
            private static final MachineRecipes smeltingBase = new MachineRecipes();
            private Map smeltingList;
        
        

        **TileEntityMachinePala **

        public class TileEntityMachinePala extends TileEntity
        implements IInventory
        {
        
            public TileEntityMachinePala()
            {
                contents = new ItemStack[6];
                workingTime = 0;
                workingTimeNeeded = 200;
            }
            @Override
            public void writeToNBT(NBTTagCompound compound)
            {
            super.writeToNBT(compound);
                NBTTagList nbttaglist = new NBTTagList();
                for(int i = 0; i < contents.length; i++)
                    if(contents* != null)
                    {
                        NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                        nbttagcompound1.setByte("Slot", (byte)i);
                        contents*.writeToNBT(nbttagcompound1);
                        nbttaglist.appendTag(nbttagcompound1);
                    }
        
                compound.setTag("Items", nbttaglist);
                compound.setShort("workingTime", (short)workingTime);
                compound.setShort("workingTimeNeeded", (short)workingTimeNeeded);
            }
        
            public int getCookProgress()
            {
                return (workingTime * 16) / workingTimeNeeded;
            }
            @Override
            public void readFromNBT(NBTTagCompound compound)
            {
                super.readFromNBT(compound);
                NBTTagList nbttaglist = compound.getTagList("Items", 10);
                contents = new ItemStack[getSizeInventory()];
                for(int i = 0; i < nbttaglist.tagCount(); i++)
                {
                    NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
                    int j = nbttagcompound1.getByte("Slot");
                    if(j >= 0 && j < contents.length)
                        contents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                }
        
                workingTime = compound.getShort("workingTime");
                workingTimeNeeded = compound.getShort("workingTimeNeeded");
            }
            @Override
            public int getSizeInventory()
            {
                return contents.length;
            }
            @Override
            public ItemStack getStackInSlot(int slotIndex)
            {
                return contents[slotIndex];
            }
            @Override
            public ItemStack decrStackSize(int slotIndex, int amount)
            {
                if(contents[slotIndex] != null)
                {
                    ItemStack itemstack;
                    if(contents[slotIndex].stackSize <= amount)
                    {
                        itemstack = contents[slotIndex];
                        contents[slotIndex] = null;
                        markDirty();
                        return itemstack;
                    }
                    itemstack = contents[slotIndex].splitStack(amount);
                    if(contents[slotIndex].stackSize == 0)
                        contents[slotIndex] = null;
                    markDirty();
                    return itemstack;
                } else
                {
                    return null;
                }
            }
            @Override
            public ItemStack getStackInSlotOnClosing(int slotIndex)
            {
                if(contents[slotIndex] != null)
                {
                    ItemStack itemstack = contents[slotIndex];
                    contents[slotIndex] = null;
                    return itemstack;
                } else
                {
                    return null;
                }
            }
            @Override
            public void setInventorySlotContents(int slotIndex, ItemStack stack)
            {
                contents[slotIndex] = stack;
                if(stack != null && stack.stackSize > getInventoryStackLimit())
                    stack.stackSize = getInventoryStackLimit();
                markDirty();
            }
            @Override
            public String getInventoryName()
            {
                return "tile.Machinetuto";
            }
            @Override
            public boolean hasCustomInventoryName()
            {
                return false;
            }
            @Override
            public int getInventoryStackLimit()
            {
                return 64;
            }
            @Override
            public boolean isUseableByPlayer(EntityPlayer player)
            {
                return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this ? player.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <= 64D : false;
            }
            @Override
            public void openInventory()
            {
            }
            @Override
            public void closeInventory()
            {
            }
            @Override
            public boolean isItemValidForSlot(int slot, ItemStack stack)
            {
                return slot != 5;
            }
        
            public boolean isBurning()
            {
                return workingTime > 0;
            }
        
            private boolean canSmelt()
            {
                if(contents[0] == null || contents[1] == null || contents[2] == null || contents[3] == null || contents[4] == null)
                    return false;
                ItemStack itemstack = MachineRecipes.smelting().getSmeltingResult(new ItemStack[] {
                    contents[0], contents[1], contents[2], contents[3], contents[4]
                });
                if(itemstack == null)
                    return false;
                if(contents[5] == null)
                    return true;
                if(!contents[5].isItemEqual(itemstack))
                {
                    return false;
                } else
                {
                    int result = contents[5].stackSize + itemstack.stackSize;
                    return result <= getInventoryStackLimit() && result <= contents[5].getMaxStackSize();
                }
            }
        
            public void updateEntity()
            {
                if(isBurning() && canSmelt())
                    workingTime++;
                if(canSmelt() && !isBurning())
                    workingTime = 1;
                if(canSmelt() && workingTime == workingTimeNeeded)
                {
                    smeltItem();
                    workingTime = 0;
                }
                if(!canSmelt())
                    workingTime = 0;
            }
        
            public void smeltItem()
            {
                if(canSmelt())
                {
                    ItemStack itemstack = MachineRecipes.smelting().getSmeltingResult(new ItemStack[] {
                        contents[0], contents[1], contents[2], contents[3], contents[4]
                    });
                    if(contents[5] == null)
                        contents[5] = itemstack.copy();
                    else
                    if(contents[5].getItem() == itemstack.getItem())
                        contents[5].stackSize += itemstack.stackSize;
                    contents[0].stackSize–;
                    contents[1].stackSize–;
                    contents[2].stackSize–;
                    contents[3].stackSize–;
                    contents[4].stackSize–;
                    if(contents[0].stackSize <= 0)
                        contents[0] = null;
                    if(contents[1].stackSize <= 0)
                        contents[1] = null;
                    if(contents[2].stackSize <= 0)
                        contents[2] = null;
                    if(contents[3].stackSize <= 0)
                        contents[3] = null;
                    if(contents[4].stackSize <= 0)
                        contents[4] = null;
                }
            }
        
            private ItemStack contents[];
            private int workingTime;
            private int workingTimeNeeded;
        
        }
        
        

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          Voilà les classes corrigées :

          public class MachineRecipes
          {
          
          public MachineRecipes()
          {
          smeltingList = new HashMap<itemstack[], itemstack="">();
          addRecipe(ModPaladium.PaladiumOre, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, ModPaladium.Paladiumbloc, new ItemStack(ModPaladium.smallring, 1));
          addRecipe(ModPaladium.smallring, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, new ItemStack(ModPaladium.mediumring, 1));
          addRecipe(ModPaladium.mediumring, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, ModPaladium.CompressPaladium, new ItemStack(ModPaladium.bigring, 1));
          addRecipe(ModPaladium.smallring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.smallring, 1));
          addRecipe(ModPaladium.mediumring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.mediumring, 1));
          addRecipe(ModPaladium.bigring, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.bigring, 1));
          addRecipe(ModPaladium.orbeheal, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.healstick, 1));
          addRecipe(ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, ModPaladium.orbeheal, new ItemStack(ModPaladium.superhealstick, 1));
          addRecipe(ModPaladium.orbespeed, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.speedstick, 1));
          addRecipe(ModPaladium.orbestrength, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.strengthstick, 1));
          addRecipe(ModPaladium.orbejump, ModPaladium.stickpala, ModPaladium.PaladiumOre, ModPaladium.stickpala, ModPaladium.PaladiumOre, new ItemStack(ModPaladium.jumpstick, 1));
          addRecipe(ModPaladium.CompressPaladium, ModPaladium.strengthstick, ModPaladium.speedstick, ModPaladium.healstick, ModPaladium.findium, new ItemStack(ModPaladium.StickOfGod, 1));
          }
          
          public void addRecipe(ItemStack stack1, ItemStack stack2, ItemStack stack3, ItemStack stack4, ItemStack stack5, ItemStack stack)
          {
          ItemStack stackList[] = {
          stack1, stack2, stack3, stack4, stack5
          };
          smeltingList.put(stackList, stack);
          }
          
          public void addRecipe(Item item1, Block item2, Item item3, Block item4, Item item5, ItemStack stack)
          {
          addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
          }
          
          public void addRecipe(Item item1, Item item2, Item item3, Item item4, Item item5, ItemStack stack)
          {
          addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
          }
          
          public void addRecipe(Block item1, Block item2, Item item3, Block item4, Block item5, ItemStack stack)
          {
          addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
          }
          
          public void addRecipe(Item item1, Block item2, Block item3, Block item4, Block item5, ItemStack stack)
          {
          addRecipe(new ItemStack(item1), new ItemStack(item2), new ItemStack(item3), new ItemStack(item4), new ItemStack(item5), stack);
          }
          
          public ItemStack getSmeltingResult(ItemStack stack[])
          {
          Iterator iterator = smeltingList.entrySet().iterator();
          java.util.Map.Entry entry;
          do
          {
          if(!iterator.hasNext())
          return null;
          entry = (java.util.Map.Entry)iterator.next();
          } while(!isSameKey(stack, (ItemStack[])entry.getKey()));
          return (ItemStack)entry.getValue();
          }
          
          private boolean isSameKey(ItemStack stackList[], ItemStack stackList2[])
          {
          for(int i = 0; i <= 4; i++) {
          if (!stackList*.isItemEqual(stackList2*))
          return false;
          }
          return true;
          }
          
          public Map <itemstack[], itemstack="">getSmeltingList()
          {
          return smeltingList;
          }
          
          public static MachineRecipes smelting()
          {
          return smeltingBase;
          }
          
          private static final MachineRecipes smeltingBase = new MachineRecipes();
          private Map <itemstack[], itemstack="">smeltingList;
          }
          
          public class TileEntityMachinePala extends TileEntity
          implements IInventory
          {
          public TileEntityMachinePala()
          {
          contents = new ItemStack[6];
          workingTime = 0;
          workingTimeNeeded = 200;
          }
          @Override
          public void writeToNBT(NBTTagCompound compound)
          {
          super.writeToNBT(compound);
          NBTTagList nbttaglist = new NBTTagList();
          for(int i = 0; i < contents.length; i++)
          if(contents* != null)
          {
          NBTTagCompound nbttagcompound1 = new NBTTagCompound();
          nbttagcompound1.setByte("Slot", (byte)i);
          contents*.writeToNBT(nbttagcompound1);
          nbttaglist.appendTag(nbttagcompound1);
          }
          
          compound.setTag("Items", nbttaglist);
          compound.setShort("workingTime", (short)workingTime);
          compound.setShort("workingTimeNeeded", (short)workingTimeNeeded);
          }
          
          public int getCookProgress()
          {
          return (workingTime * 16) / workingTimeNeeded;
          }
          @Override
          public void readFromNBT(NBTTagCompound compound)
          {
          super.readFromNBT(compound);
          NBTTagList nbttaglist = compound.getTagList("Items", 10);
          contents = new ItemStack[getSizeInventory()];
          for(int i = 0; i < nbttaglist.tagCount(); i++)
          {
          NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
          int j = nbttagcompound1.getByte("Slot");
          if(j >= 0 && j < contents.length)
          contents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
          }
          
          workingTime = compound.getShort("workingTime");
          workingTimeNeeded = compound.getShort("workingTimeNeeded");
          }
          @Override
          public int getSizeInventory()
          {
          return contents.length;
          }
          @Override
          public ItemStack getStackInSlot(int slotIndex)
          {
          return contents[slotIndex];
          }
          @Override
          public ItemStack decrStackSize(int slotIndex, int amount)
          {
          if(contents[slotIndex] != null)
          {
          ItemStack itemstack;
          if(contents[slotIndex].stackSize <= amount)
          {
          itemstack = contents[slotIndex];
          contents[slotIndex] = null;
          markDirty();
          return itemstack;
          }
          itemstack = contents[slotIndex].splitStack(amount);
          if(contents[slotIndex].stackSize == 0)
          contents[slotIndex] = null;
          markDirty();
          return itemstack;
          } else
          {
          return null;
          }
          }
          @Override
          public ItemStack getStackInSlotOnClosing(int slotIndex)
          {
          if(contents[slotIndex] != null)
          {
          ItemStack itemstack = contents[slotIndex];
          contents[slotIndex] = null;
          return itemstack;
          } else
          {
          return null;
          }
          }
          @Override
          public void setInventorySlotContents(int slotIndex, ItemStack stack)
          {
          contents[slotIndex] = stack;
          if(stack != null && stack.stackSize > getInventoryStackLimit())
          stack.stackSize = getInventoryStackLimit();
          markDirty();
          }
          @Override
          public String getInventoryName()
          {
          return "tile.Machinetuto";
          }
          @Override
          public boolean hasCustomInventoryName()
          {
          return false;
          }
          @Override
          public int getInventoryStackLimit()
          {
          return 64;
          }
          @Override
          public boolean isUseableByPlayer(EntityPlayer player)
          {
          return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this ? player.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <= 64D : false;
          }
          @Override
          public void openInventory()
          {
          }
          @Override
          public void closeInventory()
          {
          }
          @Override
          public boolean isItemValidForSlot(int slot, ItemStack stack)
          {
          return slot != 5;
          }
          
          public boolean isBurning()
          {
          return workingTime > 0;
          }
          
          private boolean canSmelt()
          {
          if(contents[0] == null || contents[1] == null || contents[2] == null || contents[3] == null || contents[4] == null)
          return false;
          ItemStack itemstack = MachineRecipes.smelting().getSmeltingResult(new ItemStack[] {
          contents[0], contents[1], contents[2], contents[3], contents[4]
          });
          if(itemstack == null)
          return false;
          if(contents[5] == null)
          return true;
          if(!contents[5].isItemEqual(itemstack))
          {
          return false;
          } else
          {
          int result = contents[5].stackSize + itemstack.stackSize;
          return result <= getInventoryStackLimit() && result <= contents[5].getMaxStackSize();
          }
          }
          
          public void updateEntity()
          {
          if(isBurning() && canSmelt())
          workingTime++;
          if(canSmelt() && !isBurning())
          workingTime = 1;
          if(canSmelt() && workingTime == workingTimeNeeded)
          {
          smeltItem();
          workingTime = 0;
          }
          if(!canSmelt())
          workingTime = 0;
          }
          
          public void smeltItem()
          {
          if(canSmelt())
          {
          ItemStack itemstack = MachineRecipes.smelting().getSmeltingResult(new ItemStack[] {
          contents[0], contents[1], contents[2], contents[3], contents[4]
          });
          if(contents[5] == null)
          contents[5] = itemstack.copy();
          else
          if(contents[5].isItemEqual(itemstack))
          contents[5].stackSize += itemstack.stackSize;
          contents[0].stackSize–;
          contents[1].stackSize–;
          contents[2].stackSize–;
          contents[3].stackSize–;
          contents[4].stackSize–;
          if(contents[0].stackSize <= 0)
          contents[0] = null;
          if(contents[1].stackSize <= 0)
          contents[1] = null;
          if(contents[2].stackSize <= 0)
          contents[2] = null;
          if(contents[3].stackSize <= 0)
          contents[3] = null;
          if(contents[4].stackSize <= 0)
          contents[4] = null;
          }
          }
          
          private ItemStack contents[];
          private int workingTime;
          private int workingTimeNeeded;
          
          }
          

          Maintenant, ce que tu as à faire c’est changer les items en ItemStack dans le constructeur et indiquer le metadata de ton item.</itemstack[],></itemstack[],></itemstack[],>

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 réponse Dernière réponse Répondre Citer 0
          • YeyvoY Hors-ligne
            Yeyvo
            dernière édition par

            encore un petit soucis ici"public boolean hitEntity(ItemStack stack, EntityLivingBase attackedLiving, EntityLivingBase attackerLiving) " ca me dit “Illegal modifier for parameter hitEntity; only final is permitted”

            public boolean hitEntity(ItemStack stack, EntityLivingBase attackedLiving, EntityLivingBase attackerLiving)   //<–-----juste avant ;D
                        {
                    if(!stack.hasTagCompound())
                    {
                    stack.setTagCompound(new NBTTagCompound());
                    }
            
                    IEntitySelector filter;
            
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityPlayer) // mon sélecteur prend tout les joueurs
                    {
                    return true;
                    }
                    return false;
                    }
                    };
            
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityMob)// mon sélecteur prend tous les monstres
                    {
                    return true;
                    }
                    return false;
                    }
                    };
            
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityAnimal) // mon sélecteur prend tous les animaux
                    {
                    return true;
                    }
                    return false;
                    }
                    };
                    }
                    List entityTargetList = attackedLiving.worldObj.selectEntitiesWithinAABB(EntityLivingBase.class, attackedLiving.boundingBox.expand(8.0D, 2.0D, 8.0D), filter);
                    for(Object entity : entityTargetList)
                    {
                    net.minecraft.entity.EntityLivingBase living = (EntityLivingBase)entity; 
                    living.attackEntityFrom(DamageSource.generic, 10.0F); 
                    }
            

            1 réponse Dernière réponse Répondre Citer 0
            • AymericRedA Hors-ligne
              AymericRed
              dernière édition par

              Indique la ligne dans le commentaires du code, car je vois pas où c’est (peut-être la fatigue qui arrive ^^).

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

              1 réponse Dernière réponse Répondre Citer 0
              • jglrxavpokJ Hors-ligne
                jglrxavpok Modérateurs
                dernière édition par

                Vérifies que tes accolades sont bien fermées comme il faut, il semblerait que le compileur trouve que ton code est dans une autre méthode, et donc n’accepte pas l’utilisation de ‘public’

                Modérateur sur MFF. 
                Mon Github: http://github.com/jglrxavpok
                Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                1 réponse Dernière réponse Répondre Citer 0
                • YeyvoY Hors-ligne
                  Yeyvo
                  dernière édition par

                  Je viens de vérifier l’accolade est bien fermé

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Non, une partie du code est en-dehors de la fonction. Formater le code permet de le voir tout de suite.
                    Franchement formatez votre code, sinon c’est illisible.

                    public boolean hitEntity(ItemStack stack, EntityLivingBase attackedLiving, EntityLivingBase attackerLiving) // <–-----juste avant ;D
                    {
                    if(!stack.hasTagCompound())
                    {
                    stack.setTagCompound(new NBTTagCompound());
                    }
                    
                    IEntitySelector filter;
                    
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityPlayer) // mon sélecteur prend tout les joueurs
                    {
                    return true;
                    }
                    return false;
                    }
                    };
                    
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityMob)// mon sélecteur prend tous les monstres
                    {
                    return true;
                    }
                    return false;
                    }
                    };
                    
                    filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityAnimal) // mon sélecteur prend tous les animaux
                    {
                    return true;
                    }
                    return false;
                    }
                    };
                    List entityTargetList = attackedLiving.worldObj.selectEntitiesWithinAABB(EntityLivingBase.class, attackedLiving.boundingBox.expand(8.0D, 2.0D, 8.0D), filter);
                    for(Object entity : entityTargetList)
                    {
                    net.minecraft.entity.EntityLivingBase living = (EntityLivingBase)entity;
                    living.attackEntityFrom(DamageSource.generic, 10.0F);
                    }
                    return true;
                    }
                    

                    Par contre tu cherches à faire quoi exactement ? Car là tu mets un tab nbt qui ne sert à rien et tu as filtre que tu réinitialises 2 fois …
                    Ceci deviendrait au même :

                    public boolean hitEntity(ItemStack stack, EntityLivingBase attackedLiving, EntityLivingBase attackerLiving)
                    {
                    IEntitySelector filter = new IEntitySelector()
                    {
                    @Override
                    public boolean isEntityApplicable(Entity entity)
                    {
                    if(entity instanceof EntityAnimal) // mon sélecteur prend tous les animaux
                    {
                    return true;
                    }
                    return false;
                    }
                    };
                    List entityTargetList = attackedLiving.worldObj.selectEntitiesWithinAABB(EntityLivingBase.class, attackedLiving.boundingBox.expand(8.0D, 2.0D, 8.0D), filter);
                    for(Object entity : entityTargetList)
                    {
                    net.minecraft.entity.EntityLivingBase living = (EntityLivingBase)entity;
                    living.attackEntityFrom(DamageSource.generic, 10.0F);
                    }
                    return true;
                    }
                    

                    mais en moins lourd à exécuter.

                    1 réponse Dernière réponse Répondre Citer 0
                    • YeyvoY Hors-ligne
                      Yeyvo
                      dernière édition par

                      enfaîte j’ai pris la même fonction que toi bonus “effet sur epée”

                      1 réponse Dernière réponse Répondre Citer 0
                      • YeyvoY Hors-ligne
                        Yeyvo
                        dernière édition par

                        petit up 
                        (j’ai toujours la même erreur)

                        1 réponse Dernière réponse Répondre Citer 0
                        • 1
                        • 2
                        • 3
                        • 3 / 3
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB