Plusieurs Questions….
-
Parce que quand je check tes class, il y a des class manquantes xD apres les ErrorManger je les ai remplacer par des system.out.println x)
J’ai pris ton code de base et j’ai enlever un peu tout ce qui en rapport avec les fluides xD.
Mais le gros probleme que j’ai c’est le BlockPos, je sais pas avec quelle class faut la remplacer avec 3 int
-
Les BlockPos sont à remplacer par int x, int y, int z mais pourquoi ne pas garder le code en 1.8 ?
-
Euh parce que je code en 1.7.10 et je trouve la 1.8 chiant, et puis je suis le “mouvement des mod tech” qui vont update en 1.9 directement xD
-
Heu … Faire 1.7 -> 1.9 c’est suicidaire.
-
Ok mais personnellement j’en referai un tout nouveau pour la 1.9

sinon ```java
/**- Gets the neighbors pipes
- @param receivers The pipes to give power
- @param visiteds The visited pipes
- @param lastDirection The last direction, for infinite boucles
*/
public void getNeighboors(Set <blockpos>receivers, Set <integer>visiteds, EnumFacing lastDirection);
};
Pour block Pos en 1.7 je le remplace par quoi? vu que je peux que mettre des class… et vu qu'il faut 3 int une idée? parce que je suis bloquée x(</integer></blockpos> -
array de int ?
-
Si array marche, fais ça sinon, créé une classe blockpos
-
ouaip je vais creer une new class blockpos
-
ou alors juste un tableau de 3 int.
-
@Override public void getNeighboors(Set <blockpos>receivers, Set <integer>visiteds, EnumFacing lastDirection) { if(worldObj == null) //The world can be null in case of first entity interaction, before any Vanilla interaction { Energy.log.writeSecret("[WORLD_LOADING] Skipped signal emiting, worldObj is null"); return; } BlockPos n = pos.north(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.NORTH.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.NORTH); } n = pos.south(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.SOUTH.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.SOUTH); } n = pos.west(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.WEST.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.WEST); } n = pos.east(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.EAST.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.EAST); } n = pos.up(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.UP.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.UP); } n = pos.down(); if(worldObj.getTileEntity(n) instanceof IPipes && !EnumFacing.DOWN.getOpposite().equals(lastDirection)) { this.getPipeConnections((IPipes) worldObj.getTileEntity(n), receivers, visiteds, EnumFacing.DOWN); } }Surtout ça le probleme apres…. j’ai limiter les erreurs mais ```java
worldObj.addTileEntity(n)Meme erreur avec getTileEntity(n)... au moin,je sais d'ou viens l'erreur mais si je remplacer BlockPos par ma class Pos avec 3 int, il me manquera le .north etc... du coup je suis bloquée :(</integer></blockpos> -
Je ne vois pas de méthode addTileEntity() ?!?
Et pour le BlockPos, dans ta classe t’a qu’à mettre : ```java
public BlockPos north()
{
return new BlockPos(x, y, z + 1); //je sais plus si c’est +ou -
}Pour chaque direction Envoyé depuis un smartphone -
oui pour le addTile je me suis fail je l’ai changer,mais ça change rien,dans tous les cas c’etait getTileEntity :3
Eclipse me dit que les argument de Pos ne sont pas applicable a World… -
Normal comme y connait pas BlockPos, faut que tu mettes (pos.getX(), pos.getY(), pos.Getz()) à la place, en créant les méthodes dans ta classe BlockPos
-
public void onDataPacket(NetworkManager manager, S35PacketUpdateTileEntity packet) { readFromNBT(packet.getNbtCompound()); }Il me propose de Cast Packet…
-
Normal, fonction 1.7.10 : readFromNBT(packet.func_148857_g());
-
ok merci,
@Override public void updateServerMiddleSecond() { super.updateServerMiddleSecond(); this.distributeToNeighboors(); }Je remove l’ Override ??
-
Faits comme tu veux mais je te conseilles de le laisser, car si tu change le nom dans ISidedUpdate, t’aura pas d’erreur et la fonction ne sera pas appelée
-
non,la je suis dans le Producer Class,du coup je l’extend aux BasicEnergyzed…
Donc sois je crée la fonction dans BasicEnergyzed ou IPipes en super type, ou alors je remove l’Override.
Enfin bref eclipse ma demander de le changer par updateServer() dans BasicEnergyzed.
C’est bon ou pas?? -
Changer par updateServer() fait que ça sera update tous les ticks, mais basic energyzed est normalement extends ISidedIpdate ?!?
-
Ah mais non j’ai compris ISidedUpdate() n’existe pas en 1.7.10 ou alors je suis bigleu x)
Du coup je fais quoi comme extends? je implements ISidedInventory?