Beiträge von KleinCrafter

    Achja, wenn ich nicht schon so viel schitt an denn versen kleben hätte, würde ich aus reiner langeweile einen clone schreiben um wathsapp zu ersetzen, im grunde genommen einfach, in der praxis etwas komplizierter (habe noch keine app geschrieben)
    Zudem das problem direkt alles für 3 systeme raus bringen...
    Also, wer geld durch werbung cheffeln will muss nur eine wathsapp ersatz app schreiben, perfekt verbreiten und Facebook hat denn größten flop der erde gekauft xD


    Ich nutze wathsapp nur in arbeiten als spicker xD die einzigste sorge die ich mir mache ist, dass facebook nun eine weitere möglichkeit hat an handynummern zu kommen um sie zu verscherbeln -.- habe immer darauf geachtet das es nicht passiert...


    Kleiner

    Ömm input = minimaler und maximaler punkt, ich dfange mit dem minimum an und höre beim maximum auf.
    Keine probleme mit sand / gravel da dieser von unten nach oben schicht für schicht gesetzt wird.


    Ich habe dafür aktuell neue commands erstellt, bin aber noch nicht zufrieden mit der arbeitsweise..
    Werde es morgen überarbeiten damit der server es in einer akzeptablen zeit hinbekommt.
    Imoment siet es so aus:

    Code
    /**     * Sets all the blocks inside a region to a certain block type.     *     * @param region     * @param pattern     * @return number of blocks affected     * @throws MaxChangedBlocksException     */    public int setBlocks(Region region, Pattern pattern, LocalSession session, LocalPlayer player, EditSession editSession) throws MaxChangedBlocksException {    	BlockScheduler bs = new BlockScheduler(region, pattern, session, player, editSession);    	int tmp = Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin("WorldEdit"), bs, 0, 5);    	bs.setID(tmp);    	return tmp;    }    private class BlockList {    	public int x, y, z;    	public BlockList(int x, int y, int z) {    		this.x = x;    		this.y = y;    		this.z = z;		}    }    private class BlockScheduler implements Runnable {    	private int id = 0;    	private Region region;    	private Pattern pattern;    	private LocalSession session;    	private LocalPlayer player;    	private EditSession editSession;    	private long count = 0;    	private ArrayList<BlockList> bl = new ArrayList<BlockList>();    	public BlockScheduler(Region region, Pattern pattern, LocalSession session, LocalPlayer player, EditSession editSession) throws MaxChangedBlocksException {    		this.region = region;    		this.pattern = pattern;    		this.session = session;    		this.player = player;    		this.editSession = editSession;            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) {                        bl.add(new BlockList(x, y, z));                    }                }            }		}    	public void setID(int id) {    		this.id = id;    	}		@Override		public void run() {			for(int tick = 0; tick <= 1000; tick++) {				if (bl.size() <= 0) {					finish();					return;				}				BlockList bl = this.bl.get(0);                Vector pt = new Vector(bl.x, bl.y, bl.z);                world.checkLoadedChunk(pt);                if (region.getWorld().setBlock(pt, pattern.next(pt), true)) {                	++count;                }                this.bl.remove(0);			}			if (this.bl.size() <= 0) {				finish();				return;			}		}		public void finish() {			player.printDebug("Es wurden " + count + " Bl\u00F6cke ge\u00E4ndert.");			Bukkit.getScheduler().cancelTask(id);		}    }



    //TODO:
    selbstgeschriebene Liste die mit einem long arbeitet
    Eine statische liste die alle SetTime befehler hinereinander abarbeitet.
    Einen befehl hinzufügen, der denn stand der prozedur abfragt
    Einen befehl hinzufügen, der anzeigt wieviele prozesse


    Kleiner

    Achso, ja habe ich .. leider passiert nüx -.- er füht denn scheduller zwar aus aber er ändert keine blöcke .. ich denke mal das WE mit einer session arbeitet die zu früh beendet wird.. um mich darein zu lesen und das so zu ändern das es läuft dauert mir zu lange und ich arbeiter erstmal die restlichen sachen ab.. müssen sie die läute ebend mit WE zügeln :winking_face:


    Aber ich kann ja mal einen eigenen befehl einfügen oO
    Hmm, ja das mache ich doch gleich mal, selber setzen und nicht die funktion von WE nehmen, mal sehen was daraus wird...


    //edit
    xD Habe es geschaft es zeit versetzt zu setzen, leider ohne undo / redo funktion xD code werde ich am wochenende posten, bis dahin werde ich noch gucken ob es besser ist oder nicht.. (was passiert wohl wenn ich ausversehen mal 10K x 10K makiere? xD ich werde es morgen testen xD


    Kleiner

    Hallo Leute
    WorldEdit ist ein Programm um die Welten durch befehle zu bearbeiten.
    Der einfachste Befehl ist dort der "//set [Block]:[Data]" Befehl
    Diesen nutzen wir auf dem server sehr oft... wenn eine zu große Region makiert wurde hat der server nicht genug speicher um diese setzen zu können..


    Auf grund dessen möchte ich diesen befehl nun so ändern dass man damit unentlich viele blöcke setzen kann..
    Der Basis Befehl siet so aus:


    Nun ja, die Programmierer unter euch sehen schon warum es zu crashs kommt oder? xD


    Warum ich es hier öffentlich hin schreibe? Ich möchte einfach mal zeigen was ich denn so mache.
    Und damit ihr mir helfen könnt xD ich habe bisher nur alles theoretisch geplant, wie es denn so läuft weiß ich nicht...


    Nun meine Grund Idee um dieses Problem zu lösen:
    Alle Blöcke die darin enthalten sind in einer liste speichern und block für block diese abarbeiten mit einem Bukkit Scheduler der jeden Tick "100" Blöcke setzt.
    Theoretisch kann man nun beim aufbauen der zu setzenden blöcke zugucken und durch einen weiteren befehl diesen aufbau abbrechen...


    Also einen Neuen Befehl hinzufügen um das setzen abbrechen zu können.
    Mal sehen was WE damit in der Wirklichkeit raus macht xD


    Oder hat jemand eine Idee die noch einfacher geht?
    Performanter?
    Schneller muss es nicht mal gehen, hierbei geht es darum das der Server nicht crashen kann durch WE arbeiten.


    Kleiner

    Warum ich es interessant finde?
    Auch wenn ich es noch nicht gespielt habe finde ich es interessiert, ein schiff zu bauen, das sogar kaput gehen kann, aber nicht wie jedes game einfach Boom, es geht halbwegs realistisch kaput, will man fliegen, muss man es richtig bauen.
    Es gibt schon ein multiplayer, ich freu mich darauf schiffe zu bauen um Wettrennen zu machen, pakour rennen oder einfach mal crash games xD
    Und es ist ein game wo ich nicht überlegen muss wie ich fehler ausbessern muss, einfach mal wieder bauen xD


    Kleiner

    Warum der nether jetzt 1:1 mit dem freebuild liegt?
    Ganz einfach, es war irgendwann ein vorschlag mit denn guten begründungen:
    - man muss sich nicht mehr die portale mit denn nachbarn teilen
    - man kann sagen "dies ist mein portal"
    - dadurch kann jeder in seinem freebuild bereich das Quarz und Glowstone farmen
    - weniger gemäcker das dass nether leer sei
    - jeder hat die chance auf eine eigene nether-festung


    nachteiel:
    - das nether als abkürzung zu nutzen ist nicht mehr möglich.


    reichen die begründungen?


    Kleiner

    Jeder Shop Besitzer der item-frames mit items hatte, wird diese in einer kiste finden, da items aus einem frame droppen können... (mojang -.-) ...
    Soltet ihr es ausnutzen um euch irgendwo zu bereichern wird dies mit einem temporären ban bestraft!!
    Solte euch ausversehen ein item droppen, macht ihr /list und guckt ob der besitzer oder ein team mitglied online ist.
    Schreibt ein team mitglied an und übergebt ihm die items mit der information wo ihr es her habt (F3 Drückern und die X, Y und Z position aufschreiben)


    Kleiner

    Netherportale:
    Netherportale können nurnoch vom freebuild aus erschaffen werden. entlich wieder normal xD
    Die position des Portals ist 1:1.


    die position im freebuild ist auch im nether.


    Kleiner

    So der Server ist nun auf 1.7.
    Leider musste ich die Kopf Arena schliessen da es zu zeit nicht möglich ist köpfe zu erzeugen -.-
    ich werde mich die tage mal ran setzen und versuchen es zu fixen, bis dahin lebt mit denn jetzigen köpfen..


    Kleiner

    Der server wird wahrscheinlich von 20Uhr bis morgen früh nicht zu erreichen sein.
    Das Nether wird neu generiert.
    Das end wird noch nicht gelöscht, dies wird erst mit dem wechsel auf mein neues system geschehen.


    Ihr könnt denn test-server solange benutzen, dieser ist nahezu vanilla!!


    Kleiner

    Hallo Letsminerinnen und Letsminer,
    Das heiss ersehnte 1.7 Update kommt nun, leider nicht mit den dafür geplanten Features.
    Ich habe im RL gerade ein parr zeitliche probleme weswegen ich das update mit allen geplanten Features verschoben habe.


    Das bedeutet dass sich mit dem update nichts ändern wird.
    Bitte verzeit die lange Verzögerung...


    Kleiner

    Guten Abend Letsminerinnen und Letsminer
    Ich habe nun ein "Converter" geschrieben der alle daten einliest und diese dann in mein datenbank format eingibt.


    Nunja, wie ihr euch sicherlich denken könnt schreibe ich das hier nicht einfach nur so aus fun, es wird so sein, das jeder cracked user der einen premium namen verwendet nach dem 1.7 wechsel als premium user in der datenbank steht und dadurch die kick-nachricht bekommt die auf seite 2 beschrieben wird..
    Deswegen sollen alle cracked user die ein premium namen haben, sich hier Bedanken, damit ich schonmal eine liste habe welche user ich wieder zurücksetzen muss.
    Wie ihr das erkennt?
    https://www.minecraft.net/haspaid.jsp?user=
    dahinter setzt ihr euern namen, wenn ein true raus kommt und ihr cracked seit, Bedanken!!
    Wenn hier andere user einen like drunter setzen ... werdet ihr vom system als cracked user behandelt..


    Nach dem 1.7 Update werde ich auch die Blaue Box ändern und ein extrer thread öffnen, für die, die es nicht lesen..


    Kleiner