Plugin (JAVA) Reset un monde

blackmine57

Architecte en herbe
29 Avril 2015
273
4
79
22
Bonjour ;)


Je ne veux pas télécharger un plugin, je veux seulement un code ;)

J'aimerais savoir comment cloner un monde (remplace les fichiers de world par ceux de world_backup par exemple).
Merci ;)
 
Bah euh concrètement c'est simple, tu ne passe pas par de l'API bukkit mais par java.io.File, tu copie le dossier du monde et tu colle :')

Après, quelques trucs à savoir :
  1. Il faut que le monde en question (à coller) ne soit pas charger, via World.unload() ou tu même genre (d'après mes souvenirs c'est Bukkit.unload())
  2. Pour coller un monde, il faut supprimer un certain fichier pour dire que c'est un autre monde (index.truc ou dans ce style, de toute façon si tu le supprime pas il te dirais gentiment un petit message d'erreur en t'indiquant quel fichier supprimer :p)
 
  • J'aime
Reactions: DiscowZombie
Code:
@Override
    public void onEnable() {
        saveDefaultConfig();
        
        
        
        
        setState(States.WAITING);
        PluginManager pm = getServer().getPluginManager();
        pm.registerEvents(new Join(this), this);
        World world = Bukkit.getWorld(getConfig().getString("Locations.world"));
        
        double x1 = getConfig().getDouble("Locations.Island1.x");
        double y1 = getConfig().getDouble("Locations.Island1.y");
        double z1 = getConfig().getDouble("Locations.Island1.z");
        
        double x2 = getConfig().getDouble("Locations.Island2.x");
        double y2 = getConfig().getDouble("Locations.Island2.y");
        double z2 = getConfig().getDouble("Locations.Island2.z");
        
        double x3 = getConfig().getDouble("Locations.Island3.x");
        double y3 = getConfig().getDouble("Locations.Island3.y");
        double z3 = getConfig().getDouble("Locations.Island3.z");
        
        double x4 = getConfig().getDouble("Locations.Island4.x");
        double y4 = getConfig().getDouble("Locations.Island4.y");
        double z4 = getConfig().getDouble("Locations.Island4.z");
        
        
        
        spawns.add(new Location(world, x1, y1, z1));
        spawns.add(new Location(world, x2, y2, z2));
        spawns.add(new Location(world, x3, y3, z3));
        spawns.add(new Location(world, x4, y4, z4));
        
        
        
        
        
        
        //SECONDS ISLAND
        chests.add(new Location(world, -11, 39, 28) );
        chests.add(new Location(world, -14, 39, 27));
    
        chests.add(new Location(world, -11, 39, -11) );
        chests.add(new Location(world, -12, 40, -14));
        
        chests.add(new Location(world, 28, 39, -10) );
        chests.add(new Location(world, 29, 40, -13));
    
        chests.add(new Location(world, 28, 39, 27) );
        chests.add(new Location(world, 26, 40, 31));
        
        //SPAWNS ISLANDS
        chests.add(new Location(world, -48, 44, 8) );
        chests.add(new Location(world, -53, 45, 10));
        
        chests.add(new Location(world, 6, 44, -51) );
        chests.add(new Location(world, 7, 40, -54));
        
        chests.add(new Location(world, 69, 45, 6) );
        chests.add(new Location(world, 72, 44, 11));
    
        chests.add(new Location(world, 8, 44, 64) );
        chests.add(new Location(world, 9, 46, 71));
        
        //MIDDLE
        chests.add(new Location(world, 8, 36, 9) );
        chests.add(new Location(world, 7, 36, 8));
    
        chests.add(new Location(world, 8, 36, 7) );
        chests.add(new Location(world, 9, 36, 8));
        
    
            }

Il y a aussi les states mais sa ne change rien :p
(Les enumérations)