Double post, dsl ^^’
J’ai un bon début
Ton truc des armes 3D c’est énorme j’ai grave envie de plagier
Dire que forge avait prévu les .obj
J’ai quelque chose qui pourrait vous plaire, un loader de .obj ET .mtl en Java pour LWJGL
Je vais juste essayer de le “convertir” pour Minecraft
@‘rafoudiablol’:
Ton truc des armes 3D c’est énorme j’ai grave envie de plagier
Dire que forge avait prévu les .obj
No problemo, c’est pas exclusif
@‘jglrxavpok’:
J’ai quelque chose qui pourrait vous plaire, un loader de .obj ET .mtl en Java pour LWJGL
Je vais juste essayer de le “convertir” pour Minecraft
Ce serais magnifique
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
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 boc
Ok, 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ère
L’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.