Modulars Blocks
-

updateEntity fera ce que tu voudras
-
Petite exception …. :
et.minecraft.util.ReportedException: Ticking block entity at net.minecraft.world.World.updateEntities(World.java:2154) ~[World.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:2096) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1038) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:961) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0] at GradleStart.bounce(GradleStart.java:107) [start/:?] at GradleStart.startClient(GradleStart.java:100) [start/:?] at GradleStart.main(GradleStart.java:55) [start/:?] Caused by: java.lang.NullPointerException at net.modularblocks.common.material.TileEntityMaterial.isHeating(TileEntityMaterial.java:77) ~[TileEntityMaterial.class:?] at net.modularblocks.common.material.TileEntityMaterial.updateEntity(TileEntityMaterial.java:80) ~[TileEntityMaterial.class:?] at net.minecraft.world.World.updateEntities(World.java:2139) ~[World.class:?] … 17 more ---- Minecraft Crash Report ---- // Why is it breaking :( Time: 05/09/14 14:05 Description: Ticking block entity java.lang.NullPointerException: Ticking block entity at net.modularblocks.common.material.TileEntityMaterial.isHeating(TileEntityMaterial.java:77) at net.modularblocks.common.material.TileEntityMaterial.updateEntity(TileEntityMaterial.java:80) at net.minecraft.world.World.updateEntities(World.java:2139) at net.minecraft.client.Minecraft.runTick(Minecraft.java:2096) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1038) at net.minecraft.client.Minecraft.run(Minecraft.java:961) 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:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) 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 GradleStart.bounce(GradleStart.java:107) at GradleStart.startClient(GradleStart.java:100) at GradleStart.main(GradleStart.java:55)Voici mon code :
public void isHeating() { World world = null; if(this.getElectricActualVoltage() > this.getCapacityVoltage()){ world.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire); this.updateEntity(); } else world.setBlock(xCoord, yCoord+1, zCoord, Blocks.air); } public void updateEntity() { this.isHeating(); } }Si quelqun a une solution …
-
World world = null;
…
Si l’objet world est null, c’est normal que ça cause un NPE …
utilise this.worldObj si tu as besoin de l’instance du monde. -
Aprs avoir fait ca j’ai encore une erreur …
C’était bien World world = this.worldObj; qu’i fallait faire ? -
Non, directement this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire)
-
Alors , plus d’erreur , juste , la “surchauffe” ne se produit plus à 13.0 , voici mon code :
public void isHeating() { if(this.getElectricActualVoltage() > this.getCapacityVoltage()){ this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire); } else this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.air); } public void updateEntity() { this.isHeating(); }Dans ma class Block , j’appelle bien la methode ths.updateEntity();
-
Vérifie les valeurs de this.getElectricActualVoltage() et this.getCapacityVoltage()
-
Voila :
player.addChatMessage(new ChatComponentTranslation("Le courant est de : " + tileEntityMaterial.getElectricActualVoltage())); tileEntityMaterial.setElectricVoltage(12.0); tileEntityMaterial.updateEntity();La valeur est bien vrai , il m’affiche bien les bonnes valeurs lorsque je clique
-
Bon , j’ai résolu on probleme , il suffisait simplement de mettre le contenu de isHeating() dans updateEntity() au lieu d’appeler isHeating dans updateEntity
-
Est ce qu’un admin voudrait bien déplacer ce sujet dans la zone “En devellopement” ?
Merci -
Bonjour , j’ai deux nouveaux problemes :
- Mon render spécial de Table ne s’affiche pas , pouvez exactement me dir ou je dois placer le fichier par rapport au ressources ?
package net.modularblocks.proxy; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.modularblocks.client.Table; import net.modularblocks.common.microblock.TileEntityTable; import org.lwjgl.opengl.GL11; public class TileEntityTableSpecialRender extends TileEntitySpecialRenderer implements IInventoryRenderer { private final Table model = new Table(); public static final ResourceLocation textureLocation = new ResourceLocation("modularblocks" , "textures/blocks/modelTable.png"); public TileEntityTableSpecialRender() { this.func_147497_a(TileEntityRendererDispatcher.instance); } @Override public void renderInventory(double x, double y, double z) { this.renderTileEntityTableAt(null, x, y, z, 0.0F); } @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float tick) { this.renderTileEntityTableAt((TileEntityTable)te, x, y, z, tick); } public void renderTileEntityTableAt(TileEntityTable te, double x, double y, double z, float tick) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5F, y + 1.5F, z + 0.5F); this.bindTexture(textureLocation); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render(0.0625F); GL11.glPopMatrix(); } }Et 2 eme probleeme : je ne trouve pas de tuto récent sur les GUI , du coup , j’ai du me rabattre sur une JFrame
Sachant que la JFrame n’est qu’une interface qui sert à construire quelque chose à partir d’objets listés dans le code , y’a t’il
des problemes qui peuvent survenir ? (cette fenetre va me servir pour la conception des blocs “spéciaux”) -
change la virgule par un + dans ton chemin.
-
Toujours rien …. bon , je me pencherai sur ce probleme une autre fois , sinon , tu parlais de probleme de support pour moddeur , ou serait le probleme ?
-
Je dit extremement bonne idée ce mod a continuer !
-
Merci beaucoup , hélas , je suis sur un autre projet en ce moment , meme si je n’abandonne pas celui-ci !