Baton et item de reparation et GUI
-
@Override public void onUpdate(ItemStack item, World world, Entity player, int slotIndex, boolean inHand) { if(item.hasTagCompound()) { if(item.stackTagCompound.getInteger("timer") > 0) { item.stackTagCompound.setInteger("timer", (int) (item.stackTagCompound.getInteger("timer") + 1)); } if(item.stackTagCompound.getInteger("timer") >= (int) (18*20)) //Le 18 corespond au secondes { item.stackTagCompound.setInteger("timer", 0); } } super.onUpdate(item, world, player, slotIndex, inHand); } public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) { if(!item.hasTagCompound()) { item.setTagCompound(new NBTTagCompound()); item.stackTagCompound.setInteger("timer", 0); } if(item.stackTagCompound.getInteger("timer") == 0) { player.heal(22);//22 est le nombre de demi coeur donc 11 coeur la //player.addPotionEffect(new PotionEffect(Potion.heal.id, 60, 2)); sinon tu peut utiliser une potion item.stackTagCompound.setInteger("timer", 1); } else { if(world.isRemote) player.addChatComponentMessage(new ChatComponentTranslation("Tu dois attendre que le sortilége se recharge !")); item.hasTagCompound(); } return item; } @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack item) { return item.hasTagCompound() ? (item.stackTagCompound.getInteger("timer") == 0 ? true : false) : false; } } -
Merci

-
Ça ne sert à rien de faire une citation si vous répondez au message qui se trouve juste au dessus. Le seul effet que ça a c’est nuire à la lisibilité x)
-
@‘robin4002’:
Ça ne sert à rien de faire une citation si vous répondez au message qui se trouve juste au dessus. Le seul effet que ça a c’est nuire à la lisibilité x)
x) encore une citation

-
Résolu sinon ?
-
@‘Plaigon’:
Résolu sinon ?
Pas encore

Ya t’il une onction pour un tp aleatoir dans un rayon defini ?? Si elle existe laquelle
-
Non il n’y en a pas, mais tu peux juste utiliser des randoms (en vérifiant que le bloc est de l’air)
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
**Mercis pour l’info
** -
Ah !!oui j’y pense si je veut que mon ring ne casse pas je fait comment
Je laisse 1de durabilité
Et sije veux qu’il soit réparable via un craft dans
Ma machine a pala -
Pourquoi souhaites-tu instaurer une dura a ton item si tu ne souhaites pas qu il se casse ? Sa n a pas de sens –’
-
**C’est pour quand le joueur veut le ré****parer il le réparé via une table spéciale dont le craft est
**
**Assez cher
**Je vous les deja dis le 1de dura a pour but d’evité que l’objet disparaisse car il coute cher -
Eh bien si tu souhaites que ton item soit endommageable, mais incassable en gardant toujours 1 d’utilisation, je te conseille de cancel l’event PlayerDestroyItemEvent en ayant check avant si il s’agissait bien de ton item dont il est question. Apres avoir cancel l’event, je pense que ton item aura automatiquement gardé 1 de dura.
-
Ou sinon plus simple si il te reste 1 de dura, tu empèche cette ligne de s’éxécuter dans ta fonction onItemRightClick : “stack.setItemDamage(stack.getItemDamage() + 1);”
-
Ouep effectivement une petite condition ternaire devrait faire l’affaire

-
j’ai reussi a pour le ring
mais quand j’ai ajoutté un gui et des recette mon jeux crash
Mes Logs:–-- Minecraft Crash Report ---- // Who set us up the TNT? Time: 01/05/16 01:56 Description: Initializing game java.lang.NullPointerException: Initializing game at cpw.mods.fml.common.network.NetworkRegistry.registerGuiHandler(NetworkRegistry.java:219) at ma.Yeyvo.Paladium.common.ModPaladium.init(ModPaladium.java:223) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at cpw.mods.fml.common.network.NetworkRegistry.registerGuiHandler(NetworkRegistry.java:219) at ma.Yeyvo.Paladium.common.ModPaladium.init(ModPaladium.java:223) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (x86) version 6.1 Java Version: 1.8.0_91, Oracle Corporation Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation Memory: 932285952 bytes (889 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHI mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHI FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHI Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHE paladium{1.0.0} [Paladium] (bin) GL info: ' Vendor: 'Intel' Version: '3.1.0 - Build 9.17.10.3347' Renderer: 'Intel(R) HD Graphics 3000' Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: Intel(R) HD Graphics 3000 GL version 3.1.0 - Build 9.17.10.3347, Intel GL Caps: Using GL 1.3 multitexturing. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Anisotropic filtering is supported and maximum anisotropy is 16. Shaders are available because OpenGL 2.1 is supported. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: Français (France) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1) -
Sur ton instance, tu as mis “@Instance(“MODID”)”, et comme tu as mis MODID entre guillements, il considère que c’est l’instance du mod qui as comme modid “MODID” (qui n’est pas ton mod), il faut donc que tu mettes le modid de ton mod, en retirant les guillements.
-
Mes texture et mon Gui ne s’afiche pas dans minecraft par contre les recettes et les slots oui
#MachinePala (MachinePala )
import ma.Yeyvo.Paladium.common.ModPaladium; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; public class MachinePala extends BlockContainer { public MachinePala() { super(Material.rock); setResistance(8F); setHarvestLevel("pickaxe", 2); setCreativeTab(CreativeTabs.tabBlock); setHardness(8F); } public TileEntity createNewTileEntity(World world, int metadata) { return new TileEntityMachinePala(); } public boolean hasTileEntity(int metadata) { return true; } public void breakBlock(World world, int x, int y, int z, Block block, int metadata) { TileEntity tileentity = world.getTileEntity(x, y, z); if(tileentity instanceof IInventory) { IInventory inv = (IInventory)tileentity; for(int i1 = 0; i1 < inv.getSizeInventory(); i1++) { ItemStack itemstack = inv.getStackInSlot(i1); if(itemstack == null) continue; float f = world.rand.nextFloat() * 0.8F + 0.1F; float f1 = world.rand.nextFloat() * 0.8F + 0.1F; float f2 = world.rand.nextFloat() * 0.8F + 0.1F; while(itemstack.stackSize > 0) { int j1 = world.rand.nextInt(21) + 10; if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; itemstack.stackSize -= j1; EntityItem entityitem = new EntityItem(world, (float)x + f, (float)y + f1, (float)z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); float f3 = 0.05F; entityitem.motionX = (float)world.rand.nextGaussian() * f3; entityitem.motionY = (float)world.rand.nextGaussian() * f3 + 0.2F; entityitem.motionZ = (float)world.rand.nextGaussian() * f3; if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); world.spawnEntityInWorld(entityitem); } } world.func_147453_f(x, y, z, block); } super.breakBlock(world, x, y, z, block, metadata); } public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) { return true; } else { player.openGui(ModPaladium.instance, 0, world, x, y, z); return true; } } public void registerIcons(IIconRegister iiconRegister) { blockIcon = iiconRegister.registerIcon(ModPaladium.MODID + ":cote"); top = iiconRegister.registerIcon(ModPaladium.MODID + ":haut"); bottom = iiconRegister.registerIcon(ModPaladium.MODID + ":cote"); } public IIcon getIcon(int side, int metadata) { if(side == 0) { return this.bottom; } else if(side == 1) { return this.top; } return this.blockIcon; } IIcon icontop; private IIcon iconbottom; private IIcon top; private IIcon bottom; }#GuiMachine (GuiMachine )
import org.lwjgl.opengl.GL11; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.util.ResourceLocation; public class GuiMachine extends GuiContainer { public GuiMachine(TileEntityMachinePala tile, InventoryPlayer inventory) { super(new ContainerMachine(tile, inventory)); tileCompressor = tile; playerInv = inventory; allowUserInput = true; ySize = 340; xSize = 200; } protected void drawGuiContainerBackgroundLayer(float partialRenderTick, int x, int y) { GL11.glColor4f(1.0F, 1.5F, 1.0F, 1.0F); mc.getTextureManager().bindTexture(GuiPaladium); int k = (width - xSize) / 2; int l = (height - ySize) / 2; drawTexturedModalRect(k, l, 0, 0, xSize, ySize); if(tileCompressor.isBurning()) { int i = tileCompressor.getCookProgress(); drawTexturedModalRect(k + 90, l + 122, 201, 105, 20, i); } } protected void drawGuiContainerForegroundLayer(int x, int y) { fontRendererObj.drawString(playerInv.hasCustomInventoryName() ? playerInv.getInventoryName() : I18n.format(playerInv.getInventoryName(), new Object[0]), 15, ySize - 180, 0x404040); } private static final ResourceLocation GuiPaladium = new ResourceLocation("textures/gui/container/GuiPaladium.png"); private TileEntityMachinePala tileCompressor; private IInventory playerInv; }#ContainerMachine (ContainerMachine )
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerMachine extends Container { public ContainerMachine(TileEntityMachinePala tile, InventoryPlayer inventory) { tileMachinePala = tile; addSlotToContainer(new Slot(tile, 0, 89, 95)); addSlotToContainer(new Slot(tile, 1, 25, 103)); addSlotToContainer(new Slot(tile, 2, 53, 123)); addSlotToContainer(new Slot(tile, 3, 153, 103)); addSlotToContainer(new Slot(tile, 4, 125, 123)); addSlotToContainer(new SlotResulte(tile, 5, 89, 146)); bindPlayerInventory(inventory); } public boolean canInteractWith(EntityPlayer player) { return tileMachinePala.isUseableByPlayer(player); } private void bindPlayerInventory(InventoryPlayer inventory) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 17 + j * 18, 171 + i * 18)); } for(int i = 0; i < 9; i++) addSlotToContainer(new Slot(inventory, i, 17 + i * 18, 229)); } public ItemStack transferStackInSlot(EntityPlayer player, int quantity) { ItemStack itemstack = null; Slot slot = (Slot)inventorySlots.get(quantity); if(slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); if(quantity < tileMachinePala.getSizeInventory()) { if(!mergeItemStack(itemstack1, tileMachinePala.getSizeInventory(), inventorySlots.size(), true)) return null; } else if(!mergeItemStack(itemstack1, 0, tileMachinePala.getSizeInventory(), false)) return null; if(itemstack1.stackSize == 0) slot.putStack((ItemStack)null); else slot.onSlotChanged(); } return itemstack; } public void onContainerClosed(EntityPlayer player) { super.onContainerClosed(player); tileMachinePala.closeInventory(); } private TileEntityMachinePala tileMachinePala; }#GuiHandler(GuiHandler)
import cpw.mods.fml.common.network.IGuiHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class GuiHandler implements IGuiHandler { public GuiHandler() { } public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TileEntityMachinePala) return new ContainerMachine((TileEntityMachinePala)tile, player.inventory); else return null; } public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TileEntityMachinePala) return new GuiMachine((TileEntityMachinePala)tile, player.inventory); else return null; } }#TileEntityMachinePala (TileEntityMachinePala )
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; 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; } [font=monospace**#SlotResulte(SlotResulte)**]import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class SlotResulte extends Slot { public SlotResulte(IInventory inventory, int id, int x, int y) { super(inventory, id, x, y); } public boolean isItemValid(ItemStack stack) { return false; } public ItemStack decrStackSize(int amount) { return super.decrStackSize(amount); } public void onPickupFromSlot(EntityPlayer player, ItemStack stack) { super.onCrafting(stack); super.onPickupFromSlot(player, stack); } } -
Il te manque de le modid dans le chemin de la texture :
private static final ResourceLocation GuiPaladium = new ResourceLocation(“textures/gui/container/GuiPaladium.png”);
->
private static final ResourceLocation GuiPaladium = new ResourceLocation(“paladium”,“textures/gui/container/GuiPaladium.png”); -
maintenant le Gui est ok mais la texture du block elle ne marche pas
-
Tu peux envoyer les logs du lancement du jeu ?
