Problème réglé j’ai re créer ma classe plus de soucis ^^ bizarre …
Pour le WorldStorage:
J’ai fais nimp je comprends pas comment faire:
package com.CSC.net.save;
import javafx.geometry.Pos;
import com.CSC.net.Events.Events;
import com.CSC.net.Events.Events.Position;
import com.CSC.net.proxy.ServerProxy;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.world.World;
import net.minecraft.world.WorldSavedData;
import net.minecraft.world.storage.MapStorage;
import net.minecraftforge.common.DimensionManager;
public class KeySave extends WorldSavedData{
public static KeySave instance;
/**
/* Ce constructeur est obligatoire
*/
public static KeySave load(World w) {
if(DimensionManager.getWorlds().length < 1) return null;
MapStorage storage = DimensionManager.getWorlds()[0].getMapStorage(); //On récupère la mapStorage de la dimension
final String KEY = Events.Key; // Si vous avez choisis de faire une fonction static String. Quoiqu'il en soit, la variable KEY que nous utiliserons ici représente votre clé. Si vous utilisez un attribut static, utilisez le directement.
KeySave result = (KeySave)storage.loadData(KeySave.class, KEY);//On charge nos données
if (result == null) { //Si nos données n'existe pas, …
result = new KeySave(KEY);// Alors on les crée ...
storage.setData(KEY, result);// Et on les ajoutes à la mapStorage.
}
return result; //On retourne notre objet qui représente les données a sauvegarder
}
public KeySave(String key) {
super(key);
instance = this;
}
@Override
public void readFromNBT(NBTTagCompound compound) {
NBTTagList keyList= (NBTTagList)compound.getTag("keyList");
for(int i = 0; i < keyList.tagCount(); i++) {
NBTTagCompound keyTag = keyList.getCompoundTagAt(i);
Events.doorsPositions.add(new Position(x, y, z, dimension);// Quoi mettre a la place de x y z dimension ,valueof cuase érreur
}
}
@Override
public void writeToNBT(NBTTagCompound compound) {
NBTTagList keyList = new NBTTagList();
Iterator <position>iterator = Events.doorsPositions.iterator();
while(iterator.hasNext()) {
NBTTagCompound keyTag = new NBTTagCompound();
keyList.setString("x", ?? ; // Quoi mettre
keyList.setString("y", ?? ;//
keyList.setString("z", ?? ;//
keyList.setString("dimension", ?? ;//
keyList.appendTag(keyTag);
}
compound.setTag("keyList", keyList);
}
}
S’il vous plait ?</position>