• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

WorldEdit Api

Status
Für weitere Antworten geschlossen.

dani7998

Redstoneengineer
Registriert
8 Juli 2012
Beiträge
30
Diamanten
0
Hallo Leute ich suchen eine Möglich keit wie ich per Worldedit blöcke über ein Plugin setzte weil mein code den ich geschrieben habe laggs auf den ganzen Server veruhrsacht. Hatt einer eine Idee wie ich mit 2 Locations per Worldedit eine Fläsche setzte?

mfg dani7998
 
C

Chrisliebaer

Guest
Ihr seid hier alle am rumrätseln. Wartet doch lieber einfach mal, biss der TE wieder online ist und genauer schreibt, was er eigentlich haben möchte. Bereits die erste Antwort enthielt alles, was man braucht um das Problem zu lösen, wenn er mehr möchte, muss er halt nochmal genauer nachfragen.
 
C

Chrisliebaer

Guest
Nee halt nicht weil ich das getestet habe obs laggt oder nicht.

https://github.com/sk89q/worldedit/.../sk89q/worldedit/commands/RegionCommands.java

Wenn du ähnliche Performance wie Worldedit willst, dann schau dir doch mal an, wie Worldedit das macht.

- - - Aktualisiert - - -

Da mich das Forum nicht editieren lässt. Hier die Stelle im Code:

https://github.com/sk89q/worldedit/blob/master/src/main/java/com/sk89q/worldedit/EditSession.java
Code:
    public int setBlocks(Region region, BaseBlock block)
            throws MaxChangedBlock***ception {
        int affected = 0;

        if (region instanceof CuboidRegion) {
            // Doing this for speed
            Vector min = region.getMinimumPoint();
            Vector max = region.getMaximumPoint();

            int minX = min.getBlockX();
            int minY = min.getBlockY();
            int minZ = min.getBlockZ();
            int maxX = max.getBlockX();
            int maxY = max.getBlockY();
            int maxZ = max.getBlockZ();

            for (int x = minX; x <= maxX; ++x) {
                for (int y = minY; y <= maxY; ++y) {
                    for (int z = minZ; z <= maxZ; ++z) {
                        Vector pt = new Vector(x, y, z);

                        if (setBlock(pt, block)) {
                            ++affected;
                        }
                    }
                }
            }
        } else {
            for (Vector pt : region) {
                if (setBlock(pt, block)) {
                    ++affected;
                }
            }
        }

        return affected;
    }
 

dani7998

Redstoneengineer
Registriert
8 Juli 2012
Beiträge
30
Diamanten
0
Das ist ein Worldedit Log ich will aber mit Worldedit wassetzte aber wenn jemand eine gute idee hatte das anders gut zu lösenen habe ich keine problehem dar mit schreibts einfach ihr rein.
 

dani7998

Redstoneengineer
Registriert
8 Juli 2012
Beiträge
30
Diamanten
0
Also ich habe es jetzt zimlich lag frei gemacht aber es Laggt noch immer etwas aber egal hir ist der Code

Code:
public static void onStartWhile(){
        String Arena = GameManager.Arena;        
        
        //Load Cordinats
        int y = Leaves.cfg.getInt("Arenen."+Arena+".Set.y");
        World World = Bukkit.getWorld(Leaves.cfg.getString("Arenen."+Arena+".Set.World"));
        
        int x1 = Leaves.cfg.getInt("Arenen."+Arena+".Set.x1");
        int z1 = Leaves.cfg.getInt("Arenen."+Arena+".Set.z1");
        
        int x2 = Leaves.cfg.getInt("Arenen."+Arena+".Set.x2");
        int z2 = Leaves.cfg.getInt("Arenen."+Arena+".Set.z2");

        int x = 0;
        int z = 0;
        
        x=x1;
        z=z1;
        
        
        while (true){
            if(!(x == x2 && z == z2)){
                Location Block = new Location(World, x, y, z);
                Block.getBlock().setTypeId(18);
                
                if(z == z2){
                    x++;
                    z=z1;
                }else{
                    z++;
                }
                
            }else{

                return;
            }
        }
        

        
    }


mfg dani7998

CLOSE
 
Status
Für weitere Antworten geschlossen.
Oben