You are not logged in.

  • Login
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.

Moritz30

User / Kunde

  • "Moritz30" has been banned
  • "Moritz30" started this thread

Posts: 317

Location: Vergessen...

Occupation: Ähhhh...

Thanks: 2

  • Send private message

1

Sunday, June 14th 2015, 7:43am

Inventarmenü und festes Inventar

Ja, vielleicht hat es jemanden gewundert, dass ich auch programmiere und nicht nach eurer Ansicht nur im Forum nerve, aber es ist so.
Also ich bräuchte Hilfe bei folgenden Themen:
1. Ein Menü in Inventarform (hab im Internet gesucht, aber nichts funktionierendes gefunden0
2. Ein Item soll in einer bestimmten Welt immer im Inventar bleiben, in anderen Welten entfernt werden und beim Betreten der normalen Welt wieder kommen, da es die Nicknames eines anderen Plugins steuern soll.
Kein Support über PM/PN
SO bedankst du dich bei mir richtig:
1. Auf den Bedankenbutton des Forums klicken(Falls da)
2. Auf das Bedankenbild in meiner Signatur klicken
---
Avatar von LGraphics

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

2

Sunday, June 14th 2015, 9:48am

1. https://hub.spigotmc.org/javadocs/spigot…/Inventory.html
Kannst du mit Bukkit.createInventory() erzeugen.

2. Beim PlayerChangedWorldEvent kannst du abfragen von und in welche Welt der Spieler gewechselt ist, dann kannst du je nachdem das Item im Inventar suchen und ggf. löschen oder geben.
Ansonsten noch in allen anderen Events (PlayerInteract, ItemDrop, InventoryClick) es so machen das man es nicht mehr bewegen kann wenn er in dieser bestimmten Welt ist.

Moritz30

User / Kunde

  • "Moritz30" has been banned
  • "Moritz30" started this thread

Posts: 317

Location: Vergessen...

Occupation: Ähhhh...

Thanks: 2

  • Send private message

3

Sunday, June 14th 2015, 10:59am

Mein Problem ist, dass der Evebthandler nicht ausgelöst wird. Ansonsten ist die Idee für 2 natürlich gut, man müsste dann halt einfach das event abbrechen. Gibt ja cancel bei events.
Kein Support über PM/PN
SO bedankst du dich bei mir richtig:
1. Auf den Bedankenbutton des Forums klicken(Falls da)
2. Auf das Bedankenbild in meiner Signatur klicken
---
Avatar von LGraphics

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

4

Sunday, June 14th 2015, 11:12am

Wenn er nicht gecallt wird dann hast du irgendwas nicht registriert, zeig uns mal den Code.

Moritz30

User / Kunde

  • "Moritz30" has been banned
  • "Moritz30" started this thread

Posts: 317

Location: Vergessen...

Occupation: Ähhhh...

Thanks: 2

  • Send private message

5

Monday, June 15th 2015, 8:05pm

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	@EventHandler
	public void onInventoryClick(InventoryClickEvent event) {
		
	Bukkit.getServer().broadcastMessage("Inventory CLicked");
	HumanEntity clickingPlayer;
	clickingPlayer = event.getWhoClicked(); // The player that clicked the item
	ItemStack clicked = clickingPlayer.getItemOnCursor(); // The item that was clicked
	Inventory inventory = event.getInventory(); // The inventory that was clicked in
	if (inventory.getName().equals(myInventory.getName())) { // The inventory is our custom Inventory
		if (clicked.getItemMeta().getDisplayName() == "Spawn") { // The item that the player clicked it dirt
	event.setCancelled(true); // Make it so the dirt is back in its original spot
	clickingPlayer.closeInventory(); // Closes there inventory
	clickingPlayer.teleport(getServer().getWorld("world").getSpawnLocation());
	
	}
	}
	}
Kein Support über PM/PN
SO bedankst du dich bei mir richtig:
1. Auf den Bedankenbutton des Forums klicken(Falls da)
2. Auf das Bedankenbild in meiner Signatur klicken
---
Avatar von LGraphics

Gebauer_01

User / Kunde

Posts: 2,304

  • Send private message

6

Monday, June 15th 2015, 8:21pm

Code copy&pasten ist nicht so schön :(

Egal: Zeig mal wie du das ganze registrierst.

iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

7

Monday, June 15th 2015, 8:40pm

Und Strings nicht mit == vergleichen sondern mit equals oder equalsIgnorecase

Moritz30

User / Kunde

  • "Moritz30" has been banned
  • "Moritz30" started this thread

Posts: 317

Location: Vergessen...

Occupation: Ähhhh...

Thanks: 2

  • Send private message

8

Tuesday, June 16th 2015, 6:19am

@Gebauer_01
:whistling:
Wie meinst du das mit registrieren?
@iSEVEN
Danke, aber wofür steht eigentlich dann ==?
Allerdings wird der ganze Block nicht aufgerufen. Ich hab um das zu prüfen ja auch schon ne Nachricht broadcasten lassen.
Kein Support über PM/PN
SO bedankst du dich bei mir richtig:
1. Auf den Bedankenbutton des Forums klicken(Falls da)
2. Auf das Bedankenbild in meiner Signatur klicken
---
Avatar von LGraphics

iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

9

Tuesday, June 16th 2015, 12:05pm

Na ja die ganzen anderen primären Datentypen kannst du mit == vergleichen, bloß bei Strings funktioniert es nicht.

WolverinGER

User / Kunde

  • "WolverinGER" is male

Posts: 502

Occupation: Schüler (Gym)

  • Send private message

10

Tuesday, June 16th 2015, 3:10pm

Na ja die ganzen anderen primären Datentypen kannst du mit == vergleichen, bloß bei Strings funktioniert es nicht.

Nurmalso: Weißt du warum das da nicht geht?
BungeeUtil --> Deine API für den Bungeecord
PacketLib | Inventory API | NPC API | und vieles mehr...


iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

11

Tuesday, June 16th 2015, 4:03pm

Gerade online unter Java 7 getestet: Strings haben wohl in Java immer den gleichen Wert egal welche Zeichenkette du dem String zuweist.

Also ist laut online Compiler

String test1 = "test";
String test2 ="tes1t";

Bei einer if würde true raus kommen.

If (test1 == test2) // true

Obwohl die beiden unterschiedliche Zeichenketten zugewiesen bekommen haben.

WolverinGER

User / Kunde

  • "WolverinGER" is male

Posts: 502

Occupation: Schüler (Gym)

  • Send private message

12

Tuesday, June 16th 2015, 4:06pm

Gerade online unter Java 7 getestet: Strings haben wohl in Java immer den gleichen Wert egal welche Zeichenkette du dem String zuweist.

Also ist laut online Compiler

String test1 = "test";
String test2 ="tes1t";

Bei einer if würde true raus kommen.

If (test1 == test2) // true

Obwohl die beiden unterschiedliche Zeichenketten zugewiesen bekommen haben.

Hmm das ist sehr interessant. Ich frage mich ob das ein "BUg" ist ober ob das gewollt ist.
BungeeUtil --> Deine API für den Bungeecord
PacketLib | Inventory API | NPC API | und vieles mehr...


iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

13

Tuesday, June 16th 2015, 4:09pm

Also in C# kannst du Strings mit == vergleichen aber halt in Java nicht.

WolverinGER

User / Kunde

  • "WolverinGER" is male

Posts: 502

Occupation: Schüler (Gym)

  • Send private message

14

Tuesday, June 16th 2015, 4:35pm

Also in C# kannst du Strings mit == vergleichen aber halt in Java nicht.


Ja C#!=Java ;) Und ich habe ja auch indirekt gefragt: WARUM?
BungeeUtil --> Deine API für den Bungeecord
PacketLib | Inventory API | NPC API | und vieles mehr...


iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

15

Tuesday, June 16th 2015, 5:04pm

Quoted

Also in C# kannst du Strings mit == vergleichen aber halt in Java nicht.


Ja C#!=Java ;) Und ich habe ja auch indirekt gefragt: WARUM?


Na ach ;)

Keine Ahnung musst du die Java Programmierer fragen :D

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

16

Tuesday, June 16th 2015, 5:27pm

Ich denke mal das ist so weil ein String wie man ihn kennt ("Blabla") wird eigentlich so erzeugt:

Source code

1
2
String st1 = "Hallo";
String st1same = new String("Hallo");

So sieht man das überall wo "" angewendet wird ein neues String Objekt erzeugt wird und da der == Operator auch die Referenz vergleicht wird immer wenn jetzt nicht zur selben Referenz geleitet wird false zurückgegeben.

iSEVEN

User / Kunde

  • "iSEVEN" is male

Posts: 1,431

  • Send private message

17

Tuesday, June 16th 2015, 5:28pm

Aber warum kam bei meinem Java 7 Test true raus als ich sie verglichen habe? Oo

Java ist halt nen Widerspruch in sich xD

xthegamerflo

User / Kunde

Posts: 46

  • Send private message

18

Tuesday, June 16th 2015, 11:11pm

Events registrieren
Bukkit.getServer().getPluginManager().registerEvents(this, this);

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

19

Tuesday, June 16th 2015, 11:38pm

Java ist halt nen Widerspruch in sich xD

Das ist weder ein Widerspruch, noch sonst was.
Das ganze nennt sich (String) Interning. Das kannst du manuell mit der .intern()-Methode "provozieren", oder du lässt Java einfach machen. Oft macht es Java nämlich ganz automatisch.
Hab mir den Artikel nicht komplett durchgelesen, aber beim Überfliegen sah er ganz gut aus: http://javatechniques.com/blog/string-eq…-and-interning/
Wen interessiert, warum Java das so macht, kann das ja mal durchlesen.
Standard Standart eines Flamingos ist einbeinig.

WolverinGER

User / Kunde

  • "WolverinGER" is male

Posts: 502

Occupation: Schüler (Gym)

  • Send private message

20

Wednesday, June 17th 2015, 2:18pm

VIelen dank das war sehr aufschlussreich^^ Man lernt nie aus^^
BungeeUtil --> Deine API für den Bungeecord
PacketLib | Inventory API | NPC API | und vieles mehr...


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