• 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!

Listener

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Hallo :),

ich habe in meine Main.jar einen MovePlayer Listener, funktioniert perfekt


nur es ist sowas wie Spleef, da muss ja dann wieder die Fläche nochmal genau so gebaut werden

wie kann ich das ambesten überwältigen und kann man das verbinden in den MovePlayer Listener einbauen ?



Eric
 

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Meinst Du das "PlayerMoveEvent"? Wenn Du das meinst, verstehe ich nicht, wie Du das mit dem Wiederherrstellen von Blöcken verwenden möchtest. Blöcke auf Fläche kannst Du aber mit einr For-Schleife platzieren.



Ja ich meinte PlayerMoveEvent ^^


wie ist dann die Anweisung um einen Block dort zu platzieren :) ???



Eric
 

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Was hat das PlayerMoveEvent mit dem Platzieren von Blöcken zu tuen? Einen Block setzt Du mit:
Code:
Location loc;
loc.getBlock().setType(Material.STONE);
"Stone" kannst Du mit jedem anderen Block ersetzen.


ok vielen dank, ehn wenn ich zb eine Fläche habe, soll ich das verbinden mit einer For-Schleife oder soll ich jeden Block mit einer Loc definieren ?


Eric
 

MiCrJonas

Threadripper
Registriert
29 Oktober 2012
Beiträge
1.064
Diamanten
0
Kommt drauf an, wie Du die Fläche angibst. Wenn Du nur 2 Blöcke platzieren willst, die beide z.B. in einer Konfigurationsdatei stehen, kannst du das einzeln machen. Wenn Du aber eine Fläche zwichen zwei Locations hast, benötigst Du eine Schleife. Wenn Du diese benutz, melde Dich noch einmal.
 
Zuletzt bearbeitet:

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Kommt drauf an, wie Du die Fläche angibst. Wenn Du nur 2 Blöcke platzieren willst, die beide z.B. in einer Konfigurationsdatei stehen, kannst du das einzeln machen. Wenn Du aber eine Fläche zwichen zwei Locations hast, benötigst Du eine Schleife. Wenn Du diese benutz, melde Dich noch einmal.


*meld*



Eric
 

MiCrJonas

Threadripper
Registriert
29 Oktober 2012
Beiträge
1.064
Diamanten
0
Du erstellst erst die zwei Locations (loc1, loc2). Dann prüfst Du, welcher BlockX größer ist und läufst in der For-Schleife alle X-Werte zwichen dem kleineren und dem größeren Wert ab und plazierst dort die Blöcke. Wenn auch BlockZ unterschiedlich sind, dann baust Du eine 2. Schleife ein, die zu jedem entsprechenden X-Wert der 1. Schleife alle Z-Werte zwichen den beiden Locations abfragt und dort wieder einen Block plazierst. Wenn Du X, Y und Z benutzt, brauchst Du 3 For-Schliefen ineinander.
 

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Du erstellst erst die zwei Locations (loc1, loc2). Dann prüfst Du, welcher BlockX größer ist und läufst in der For-Schleife alle X-Werte zwichen dem kleineren und dem größeren Wert ab und plazierst dort die Blöcke. Wenn auch BlockZ unterschiedlich sind, dann baust Du eine 2. Schleife ein, die zu jedem entsprechenden X-Wert der 1. Schleife alle Z-Werte zwichen den beiden Locations abfragt und dort wieder einen Block plazierst. Wenn Du X, Y und Z benutzt, brauchst Du 3 For-Schliefen ineinander.


könntest du mir mal ein Beispiel geben :) , kenne mich mit location's nicht so gut aus




Eric Goerens
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Also ich habs ;)

Code:
int MinZ = 84, MaxZ = 89, MinX = 581, MaxX = 586, Y    = 134;
					Location loc1 = new Location(p.getWorld(),MinX,Y,MinZ);
					int cX=MinX, cZ=MinZ;
					do{
						cX++;
						loc1.setX(cX);
						loc1.getBlock().setType(Material.DIRT);
						do{
							cZ++;
							loc1.setZ(cZ);
							loc1.getBlock().setType(Material.DIRT);
						}
						while(cZ<=MaxZ);
						cZ=MinZ;
					}
					while(cX<=MaxX);


Eric/Goech
 

Anhänge

  • 2014-01-28_17.47.59.jpg
    2014-01-28_17.47.59.jpg
    54,1 KB · Aufrufe: 195
  • 2014-01-28_17.48.28.jpg
    2014-01-28_17.48.28.jpg
    54,8 KB · Aufrufe: 185
Zuletzt bearbeitet:

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
Blickst Du da selber durch oder weißt Du, wie das alles funktioniert und was da passiert? Und auf Deinem Bild wird doch Stein/Kies gesetzt und keine Erde, wie es im Code steht.


ja verstehen mache ich das :) , habe es probiert mit ner for schleife, funktionierte nicht


aber mit der While-Schleife ist das einfacher ,


also auf dem Bild war nur zum Zeigen da :)

danke aber für die Nachfrage, habe noch eine zusätzliche Fragen, habe eine



Boolean Klasse erstellt, dort habe ich eine HashMap definiert ,


wie kann ich den Wert deklarieren, also abfragen geht ,aber wie einstellen ??


Erci
 

MiCrJonas

Threadripper
Registriert
29 Oktober 2012
Beiträge
1.064
Diamanten
0
Was meinst Du mit einer Boolean-Klasse?

Abfragen geht mit
Code:
myHashMap.get(schluessel);
-
und einen Wert kann man mit
Code:
myHashMap.put(schluessel, objekt)
hinzufügen.
Schreibe mal den namen der HashMap und drücke dann STRG + Leertaste zusammen. Dann siehst Du, was Du alles machen kannst. Funktioniert nicht nur dabei!
 

Goech

Redstoneengineer
Registriert
27 April 2013
Beiträge
47
Diamanten
0
Minecraft
Goech
also die das ist die Klasse


->


HTML:
[CODE]	public static HashMap<Player, Boolean> playing  =  new HashMap<Player, Boolean>();
	public static boolean IsPlayerInGame(Player p){
		if(!playing.containsKey(p)){
			playing.put(p, false);
		}
		boolean r = playing.get(p);
		return r;
   }[/CODE]


wie kann ich diesen Wert dan ändern ?


Eric
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
also die das ist die Klasse

HTML:
[CODE]    public static HashMap<Player, Boolean> playing  =  new HashMap<Player, Boolean>();
    public static boolean IsPlayerInGame(Player p){
        if(!playing.containsKey(p)){
            playing.put(p, false);
        }
        boolean r = playing.get(p);
        return r;
   }[/CODE]

Das ist keine Klasse sondern eine statische variable und eine statische funktion.
Bitte lerne die Java GRUNDLAGEN bevor du anfängst plugins zu schreiben, das wird
so nichts.
 
Oben