Génial, merci beaucoup ^^
Je suis pas grand fan de copier/coller un code que je comprend pas par contre
Je vais tester et je te tiens au courant !
Faire d’un bloc une TileEntity, je fait comment ?
Génial, merci beaucoup ^^
Je suis pas grand fan de copier/coller un code que je comprend pas par contre
Je vais tester et je te tiens au courant !
Faire d’un bloc une TileEntity, je fait comment ?
http://www.minecraftforgefrance.fr/showthread.php?tid=106
^ Pour les TileEntity
J’ai expliqué la base des méthodes, après elles sont assez simple
Jolie syncro
Merci !
Y-a t’il par hasard aussi un tutoriel qui montre comment par exemple: supprimer un bloc x secondes après qu’il est été posé?
Il faudrait que ton bloc soit aussi une entitée (comme la TNT), pour tuer l’entitée et donc détruire le bloc, je sais pas trop.
Ba en gros, je cherche un moyen de faire un chronos qui dit: wait avant la prochaine instruction
Pas forcement, dans la fonction updateEntity, tu fais un timer, puis tu fais un worldObj.setBlockToAir(xCoord, yCoord, zCoord); quand le timer à atteint un certain nombre.
Hum… du genre ?
import java.util.Timer; import java.util.TimerTask; @Override public int onBlockPlaced(final World world, final int x, final int y, final int z, int side, float hitX, float hitY, float hitZ, int metadata) { Timer timer = new Timer(); final int time = 2; final int timeInSeconds = time * 1000; TimerTask task = new TimerTask() { public void run() { world.setBlockToAir(x, y, z); } }; timer.schedule( task, timeInSeconds ); return super.onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, metadata); }
Au fait, quel différence entre x et hitX ??
Pas vraiment;
Dans ton tileEntity, tu défini une variable int temps de (secondes * 20) qui représente le temps que le block reste
Dans la méthode d’update, tu mets temps–;
Tu ajoute une condition if(temps <= 0){ //Transforme ton block en air } dans la méthode update
Ok, super, je comprend de mieux en mieux ^^
Merci beaucoup !
Par contre, dans la fonction: notifyBlockChange, a quoi correspond la dernière valeur ?
Y a t’il un tutoriel qui explique comment utiliser la communication client <-> serveur ? Je galère vachement à ce niveau la
/** * The block type change and need to notify other systems Args: x, y, z, blockID */ public void notifyBlockChange(int par1, int par2, int par3, int par4) { this.notifyBlocksOfNeighborChange(par1, par2, par3, par4); }
Le dernier paramètre est l"id du bloc qui a changé.
Non, il y a pas de tutoriel communication client ? serveur, mais ça a été traité ici :
http://www.minecraftforgefrance.fr/showthread.php?tid=391&pid=4167#pid4167
Jvai voir ça, et si je peux je ferais un tutoriel la dessu
Y a t-il un moyen de savoir si une entité est à proximité d’un bloc ?
(Sans scanner la position de toute les entités à chaque tick ce qui pourrait s’avérée très lourd pour le serveur :D)
Cherche une méthode ayant pour nom (du mémoire) “getNearestEntities” ou “getEntitiesInAABB”