You are not logged in.

  • Login

[Bukkit-Plugin] Random Kisten

Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

NiklasD

User / Kunde

  • "NiklasD" started this thread

Posts: 31

  • Send private message

1

Thursday, May 23rd 2013, 5:00pm

Random Kisten

Guten Tag,
Wie kann ich ein Inventar öffnen wenn ein Spieler auf einen Block klickt? - Ja Ich weiß mit dem Interact Event aber mein Problem ist das ich diesen Block mit einem Inventar verknüpfen will sodass wenn Zwei unterschiedliche Spieler dieses Inventar öffnen immer den selben Inhalt angezeigt bekommen! Und wie muss ich vorgehen wenn ich allen Blöcken einer bestimmten Art ein unterschiedliches Inventar zuweisen möchte?

Desweiteren weiß ich nicht wie ich diese Kisten zufällig auffüllen kann, sodass in einigen Kisten wertvollere Gegenstände und in anderen Kisten weniger Wertvolle Gegenstände spawnen. Dies soll sich aber nach jeden Server Restart ändern.

Viele Grüße
Niklas

matzefratze123

User / Kunde

Posts: 161

Thanks: 7

  • Send private message

2

Thursday, May 23rd 2013, 5:47pm

Du gehtst am Anfang einfach alle Blöcke durch, weisst jedem Block ein Inventar zu, das du in einer HashMap mit der Location speicherst. Dann gehst du beim Klick einfach jede Location durch (ja mit keySet(), weil die HashMap meines Wissens nur die Gleichheit der Instanzen vergleicht, korrigiert mich wenn das nicht stimmt :P), schaust ob die Location übereinstimmt und öffnest dann das Inventar. Es wird auch immer das gleiche drinnen sein und für jeden Spieler geupdatet werden, da Minecraft ItemStack's in Arrays speichert und diese auch durch Variablenumstellung immer gleich synchronisiert sind.

Für zufällige Spawnratios brauchst du halt die Klasse Random, aber ich denke das du das selbst hinbekommen wirst ;)
MfG, matze

NiklasD

User / Kunde

  • "NiklasD" started this thread

Posts: 31

  • Send private message

3

Thursday, May 23rd 2013, 8:24pm

Wie kann ich jedem Block von diesem Typ ein Inventar zuweisen? :D Den rest denke ich bekomme ich hin.

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

4

Friday, May 24th 2013, 6:03am

In der Hashmap solltest du nicht die Location, sondern den Block abspeichern.
Sonst hast du wie schon genannt das Problem, dass jede Location anders ist und du die Werte nicht mehr gescheit aus der HashMap raus bekommst.
Block --> Immer der selbe
Location --> Jedesmal eine neue, auch wenn sie die gleichen Werte hat
Standard Standart eines Flamingos ist einbeinig.

NiklasD

User / Kunde

  • "NiklasD" started this thread

Posts: 31

  • Send private message

5

Friday, May 24th 2013, 2:35pm

Wenn ich ein Block einer HashMap hinzufüge ist dann in der "Block" Variable auch gespeichert welcher Block genau dies ist?

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

6

Friday, May 24th 2013, 3:04pm

ja.
block.getLocation();
Standard Standart eines Flamingos ist einbeinig.

NiklasD

User / Kunde

  • "NiklasD" started this thread

Posts: 31

  • Send private message

7

Friday, May 24th 2013, 3:13pm

Also wenn ich diesen Block jetzt speicher uns später wieder aus der HashMap auslese ist das der Selbe wie als ich ihn in die HashMap gespeichert habe, da ich mehrere Blöcke vom Selben typ in diese Map packen möchte.

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

8

Friday, May 24th 2013, 3:32pm

ja, der Block ist an eine Location gebunden, nicht an ein Material.
Standard Standart eines Flamingos ist einbeinig.

NiklasD

User / Kunde

  • "NiklasD" started this thread

Posts: 31

  • Send private message

9

Friday, May 24th 2013, 4:55pm

Ok danke :D
Hast du auch eine Idee wie ich verschiedene Inventory Variablen Random füllen kann?

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net

Similar threads