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

Sebi_Zocer

User / Kunde

  • "Sebi_Zocer" is male
  • "Sebi_Zocer" started this thread

Posts: 229

Location: Privat

Occupation: Privat

  • Send private message

1

Tuesday, April 17th 2018, 3:26pm

Iron Golem Spawner "wird nicht erkannt"

Hi,
Ich will gerade was mit Spawnern machen. Ich hab es auch schon hinbekommen, den Spawnertyp zu ändern, aber dabei trat ein Problem auf: Ich kann den SpawnerType nicht in Iron Golem ändern. Ich weiß, dass man das hinbekommen kann, aber bei mir geht es auch nicht. Ich vermute mal, dass der Iron Golem ein Entity ist, welches nicht mit Spawnern kompaktibel ist. Da stellt sich mir die Frage: Wie können dann Iron Golem Spawner existieren?

Hier der Error, welcher beim Versuch auftritt:

Spoiler Spoiler

[15:24:33] [Server thread/WARN]: java.lang.NullPointerException
[15:24:33] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_8_R3.block.CraftCreatureSpawner.setCreatureType(CraftCreatureSpawner.java:37)
[15:24:33] [Server thread/WARN]: at me.SebiZocer.SkyblockShop.Listener.LTRinteract.onCmd(LTRinteract.java:38)
[15:24:33] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[15:24:33] [Server thread/WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[15:24:33] [Server thread/WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[15:24:33] [Server thread/WARN]: at java.lang.reflect.Method.invoke(Method.java:483)
[15:24:33] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306)
[15:24:33] [Server thread/WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[15:24:33] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502)
[15:24:33] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1154)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
[15:24:33] [Server thread/WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[15:24:33] [Server thread/WARN]: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
[15:24:33] [Server thread/WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
[15:24:33] [Server thread/WARN]: at java.lang.Thread.run(Thread.java:745)

Hat jemand eine Idee, wie Ich das hinbekomme?

Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

2

Tuesday, April 17th 2018, 4:02pm

Eine NullPointerException sollte nichts mit dem Problem zu tun haben, das du schilderst. Wahrscheinlich liegt dein Fehler wo anders. Zeig mal den Code, dann können wir auch bestimmt helfen.
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

Sebi_Zocer

User / Kunde

  • "Sebi_Zocer" is male
  • "Sebi_Zocer" started this thread

Posts: 229

Location: Privat

Occupation: Privat

  • Send private message

3

Tuesday, April 17th 2018, 4:17pm

Hier ist der Code, den ich benutzt habe:

Spoiler Spoiler

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
	@EventHandler
	public void onCmd(PlayerCommandPreprocessEvent e){
		Player p = e.getPlayer();
		String[] args = e.getMessage().split(" ");
		if(args.length == 2){
			if(args[0].contains("test")){
				try {
					if(p.getTargetBlock((HashSet<Byte>) null, 5).getState() instanceof CreatureSpawner){
						CreatureSpawner spawner = (CreatureSpawner) p.getTargetBlock((HashSet<Byte>) null, 5).getState();
						spawner.setCreatureType(CreatureType.fromEntityType(EntityType.IRON_GOLEM));
						spawner.update(true);
					}
				} catch(Exception ex){
					p.sendMessage("§cError");
					ex.printStackTrace();
				}
			}
		}
	}
}

FlayInAHook

User / Kunde

  • "FlayInAHook" is male

Posts: 71

Occupation: Angehender dualer Student

  • Send private message

4

Friday, April 20th 2018, 10:30pm

Eine Frage zu beginn: Warum entwickelst du noch für 1.8? Solltest mal evtl. schauen das du auf 1.12 wechselst wenn du nicht gerade für jemanden spezielles ein PL schreibst.

In CB v. 1.8 ist die CreatureSpawner#setCreatureType(CreatureType) bereits depricated. Du solltest besser #setSpawnedType(EntityType) nutzen. Dann hast du auch dein IronGolem problem nicht mehr. Denn CreatureTypes sind nur aggressive Mobs was ein Golem standartmäßig nunmal nicht ist. EntityType hingegen enthält alle Mobs :)

Für weitere Infos:
http://docs.codelanx.com/Bukkit/1.8/

Gruß
FlayInAHook

Sebi_Zocer

User / Kunde

  • "Sebi_Zocer" is male
  • "Sebi_Zocer" started this thread

Posts: 229

Location: Privat

Occupation: Privat

  • Send private message

5

Tuesday, April 24th 2018, 2:25pm

Danke, FlayInAHook. Scheint wohl nicht in der 1.8 möglich zu sein. Da ich aber möglichst nah an der Version 1.8 bleiben will (weil ich keine Lust auf die Erneuerungen ab 1.9 hab), bleib ich bei der 1.9, wo das nun geht ^^

Edit: Falls jemand das selbe Problem haben sollte, hab ich nun was herausgefunden: Man kann das Plugin mit Spigot 1.9.4 programmieren und dann auf einem Spigot 1.8.8 Server benutzen.

This post has been edited 1 times, last edit by "Sebi_Zocer" (Apr 24th 2018, 3:14pm)


FlayInAHook

User / Kunde

  • "FlayInAHook" is male

Posts: 71

Occupation: Angehender dualer Student

  • Send private message

6

Tuesday, April 24th 2018, 5:38pm

Du solltest besser #setSpawnedType(EntityType) nutzen

Damit geht das doch auch native in der 1.8 ;) . Was du nun machst geht nämlich nur solage durch, wie du kiene Methode verwendest die es in der 1.8 noch nicht gab ^^.

Gruß
FlayInAHook

This post has been edited 3 times, last edit by "FlayInAHook" (Apr 24th 2018, 6:04pm)


Sebi_Zocer

User / Kunde

  • "Sebi_Zocer" is male
  • "Sebi_Zocer" started this thread

Posts: 229

Location: Privat

Occupation: Privat

  • Send private message

7

Tuesday, April 24th 2018, 7:05pm

Achso, jetzt hab ich deinen Betrag verstanden. Ich dachte, es gäbe diese Methode nicht in der 1.8, da du mich gefragt hast, warum ich auf 1.8 code und nicht auf 1.12 . :whistling:

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