Load .obj
-
En fait, j’arrive sans problème à charger les objets, sauf pour les textures multiple

-
@‘Mugiwaxar’:
En fait, j’arrive sans problème à charger les objets, sauf pour les textures multiple

Justement, je suis en train de bosser dessus

-
@‘jglrxavpok’:
@‘Mugiwaxar’:
En fait, j’arrive sans problème à charger les objets, sauf pour les textures multiple

Justement, je suis en train de bosser dessus

Trop sympatique

Ps: Petit question gratuite comme ça:
Quand on supprime un bloc, son TileEntity ce supprime avec ou j’ai rater un gros truc ?? -
Je crois bien qu’elle se supprime aussi
-
Lol, ba sa marche pas chez moi, la fonction updateEntity continue
-
En passant, les multiples textures sont gérées




-
Non, il faut vérifier dans ton update entity qu’elle est sur le bon bloc.
Et supprimer ton Tilentity à la destruction de ton boc -
@‘jglrxavpok’:
En passant, les multiples textures sont gérées

Ca m’interesse



@‘rafoudiablol’:
Non, il faut vérifier dans ton update entity qu’elle est sur le bon bloc.
Et supprimer ton Tilentity à la destruction de ton bocOk, donc faut les supprimer manuellement
-
Je vais commencer à faire du code que j’ai quelque chose de lisible et utilisable

-
@‘Mugiwaxar’:
@‘jglrxavpok’:
En passant, les multiples textures sont gérées

Ca m’interesse



@‘rafoudiablol’:
Non, il faut vérifier dans ton update entity qu’elle est sur le bon bloc.
Et supprimer ton Tilentity à la destruction de ton bocOk, donc faut les supprimer manuellement
Non, elle se supprime automatiquement, tu as sûrement oublié la fonction
public boolean hasTileEntity(int metadata) { return true; }Dans la classe de ton bloc.
Et sinon GG xavpok, tu comptes faire un petit api ? (ou l’intégrer à FFMT lib ? )
-
Petite API, oui
Intégration à FFMT Libs ? Oui, mais je ferais aussi une petite API pour ceux qui veulent uniquement cette dernièreL’API marchera pour les versions de Minecraft suivantes: Float.NEGATIVE_INFINITY à Float.POSITIVE_INFINITY, du moins tant que MC ne change pas pour autre chose que LWJGL

-
@‘robin4002’:
@‘Mugiwaxar’:
Ok, donc faut les supprimer manuellement
Non, elle se supprime automatiquement, tu as sûrement oublié la fonction
public boolean hasTileEntity(int metadata) { return true; }Dans la classe de ton bloc.
Voila pourquoi
Edit: A ba nan, toujours pas

-
Ton tile entity est bien enregistré ?
Sinon envoie la classe de ton bloc. -
package com.yvelis.mworldcraft.blocks; import com.yvelis.mworldcraft.common.Mmain; import com.yvelis.mworldcraft.tileEntity.CraftTileEntity; import cpw.mods.fml.common.network.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class SmeltingBlock extends BlockContainer { private Icon top; private Icon sud; private Icon other; public SmeltingBlock(int id) { super(id, Material.anvil); } @Override public TileEntity createNewTileEntity(World world) { return new CraftTileEntity(); } @Override public boolean hasTileEntity(int meta) { return true; } @Override public Icon getIcon(int side, int meta) { return side == 1 ? this.top : (side == 0 ? this.top : (side != meta ? this.other : this.sud)); } public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) { int l = MathHelper.floor_double((double)(par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if (l == 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); } if (l == 1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); } if (l == 2) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); } if (l == 3) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); } } @Override public void registerIcons(IconRegister register) { top = register.registerIcon("mworldcraft:foundryTop"); sud = register.registerIcon("mworldcraft:foundrySud"); other = register.registerIcon("mworldcraft:foundryOther"); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) { FMLNetworkHandler.openGui(player, Mmain.m_instance, 0, world, x, y, z); return true; } } -
Dans la classe Block il y ça :
public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { if (hasTileEntity(par6) && !(this instanceof BlockContainer)) { par1World.removeTileEntity(par2, par3, par4); } }Donc vire le extends BlockContainer.
-
@‘robin4002’:
Heu what
Exactement, c’est aussi en train de me rendre fou :huh:
-
Pour des codes d’aide pour OpenGL: https://github.com/jglrxavpok/jglrxavpok_lwjgl_utils
Pour UNIQUEMENT le .jar pour charger les .obj: https://github.com/jglrxavpok/jglrxavpok_lwjgl_utils/raw/master/glutils.jarCharger un .obj:
model = new GLUtils("/cheminVersLeFichierObj");Dessiner un .obj:
model.render(); -
Je viens de modifier mon poste, en fait enleve le extends BlockContainer et mets un extends Block
D’ailleurs utilise plutôt la méthode de forge :
public TileEntity createTileEntity(World world, int metadata)
pour créer le tile entity. -
Peut importe, je verrais plus tard, je suis devant un plus grand problème
Quand je clique sur mon BlockContainer, la fenêtre debug s’ouvre, et m’indique cette ligne
return new CraftContainer(player, world, x, y, z);dans le GuiHandler, aucune erreur dans la console :dodgy:
Edit: Cool, je vais tester ça___
@‘jglrxavpok’:Pour des codes d’aide pour OpenGL: https://github.com/jglrxavpok/jglrxavpok_lwjgl_utils
Pour UNIQUEMENT le .jar pour charger les .obj: https://github.com/jglrxavpok/jglrxavpok_lwjgl_utils/raw/master/glutils.jarCharger un .obj:
model = new GLUtils("/cheminVersLeFichierObj");Dessiner un .obj:
model.render();Super, je vais tester aussi
-
En mode debug, l’erreur s’affiche pas tant que tu as pas relancé l’application
