Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Minecraft
You last visited: Today at 22:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Plugin Programmieren: Probleme mit dem Listener

Discussion on Plugin Programmieren: Probleme mit dem Listener within the Minecraft forum part of the Other Online Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2011
Posts: 130
Received Thanks: 10
Plugin Programmieren: Probleme mit dem Listener

Hallo,
ich bin gerade dabei ein Bukkit Plugin zu programmieren.... Leider bekomme ich immer eine errormeldung wenn ich das plugin Starte:
Code:
org.bukkit.plugin.IllegalPluginAccessException: Unable to find handler list fo
r event org.bukkit.event.block.BlockEvent
        at org.bukkit.plugin.SimplePluginManager.getRegistrationClass(SimplePl
uginManager.java:564)
        at org.bukkit.plugin.SimplePluginManager.getRegistrationClass(SimplePl
uginManager.java:562)
        at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginMa
nager.java:508)
        at de.stormcraft.Stormprotect.Stormprotect.onEnable(Stormprotect.java:
47)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoad
er.java:365)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginMana
ger.java:381)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265)

        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:2
47)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:567)
        at org.bukkit.Bukkit.reload(Bukkit.java:183)
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.jav
a:21)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:
168)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java
:492)
        at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServe
r.java:488)
        at net.minecraft.server.DedicatedServer.ah(DedicatedServer.java:248)
        at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213)
        at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Ich finde den Fehler bei mir leider nicht =( Ich habe mir zwar schon thread angeschaut, jedoch habe ich es meiner Meinung nach genauso gemacht

Code:
Mainclass
.....
		getServer().getPluginManager().registerEvents(new blocklistener(), this);
		getServer().getPluginManager().registerEvents(new playerlistener(), this);
		getServer().getPluginManager().registerEvents(new entitylistener(), this);	
.....
Code:
Einer der Listener...
public class blocklistener implements Listener{
	
	@EventHandler 		
	public void onfire(BlockIgniteEvent event){.....
Kann mir vielleicht jemand helfen?
Leonard_M_G is offline  
Old 09/12/2012, 20:50   #2
Moderator


 
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
Könntest du mal den kompletten Source des Listeners, den du in Zeile 47 registrierst, posten?

Edit:
Kann es sein das du so ein Event registrieren willst?
Code:
	@EventHandler 		
	public void xzy(BlockEvent event)
Wenn ja, dann lösch das. Es gibt kein BlockEvent, bzw. keinen Handler und auch kein Ereignis für BlockEvent.
Du fragst dich woher ich das weiß? Ich habe einfach nur die Fehlermeldung gelesen.
ComputerBaer is offline  
Thanks
1 User
Old 09/12/2012, 21:10   #3
 
elite*gold: 0
Join Date: Sep 2011
Posts: 130
Received Thanks: 10
nein ich will nicht nur BlockEvent registrieren(wenn man das überhaupt kann)
Code:
package de.stormcraft.Stormprotect.listner;

import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFadeEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.block.BlockPistonEvent;
import org.bukkit.event.block.BlockPlaceEvent;

import de.stormcraft.Stormprotect.Stormprotect;

public class blocklistener implements Listener{
	
	@EventHandler 		
	public void onfire(BlockIgniteEvent event){
		String cause = event.getCause().toString();
		String world = event.getBlock().getWorld().getName();
		if(Stormprotect.getconfigmanager().getActivate().get("Global")){
			if(Stormprotect.getconfigmanager().getActivate().get(world)){
					if(cause == "SPREAD"){
							if(Stormprotect.getconfigmanager().getDisablefirespread().get(world)){
								event.setCancelled(true);
								return;
							}
							else{
								return;
							}
					}
					else if(cause == "LAVA"){
						if(Stormprotect.getconfigmanager().getDisablefirespread().get(world)){
							event.setCancelled(true);
							return;
						}
						else{
							return;
						}	
					}
					else if(cause == "LIGHTNING"){
						if(Stormprotect.getconfigmanager().getDisablefire().get(world)){
							event.setCancelled(true);
							return;
						}
						else{
							return;
						}	
					}
					else if(cause == "FIREBALL"){
						if(Stormprotect.getconfigmanager().getDisablefire().get(world)){
							event.setCancelled(true);
							return;
						}
						else{
							return;
						}
					}
					else if(event.getPlayer() != null){
						if(event.getPlayer().hasPermission("stormprotect.setfire")){
							return;
						}
						else{
							event.setCancelled(true);
							return;
						}
				
					}
					else{
						event.setCancelled(true);					
						return;
					}
				}
			}
		}
		@EventHandler 
		public void blockburn(BlockBurnEvent event){
			String world = event.getBlock().getWorld().getName();
			if(Stormprotect.getconfigmanager().getActivate().get("Global")){
				if(Stormprotect.getconfigmanager().getActivate().get(world)){
					if(Stormprotect.getconfigmanager().getDisablefire().get(world) || Stormprotect.getconfigmanager().getDisablefirespread().get(world)){
						event.setCancelled(true);
						return;
					}
					else {
						return;
					}
				}
			}
		}
		
		@EventHandler
		public void blockfade(BlockFadeEvent event){
			String world = event.getBlock().getWorld().getName();
			if((Stormprotect.getconfigmanager().getActivate().get("Global"))){
				if((Stormprotect.getconfigmanager().getActivate().get(world))){
					if(event.getBlock().getTypeId() == 79){
						if(Stormprotect.getconfigmanager().getDisableicesmelting().get(world)){
							event.setCancelled(true);
							return;
						}
						else{
							return;
						}						
					}
				}
			}
			
			
			if(event.getBlock().getTypeId() == 9){
				if(Stormprotect.getconfigmanager().getDisableiceformating().get(world)){
					event.setCancelled(true);
					return;
					}
				else{
					return;
					}						
				}
		}

		@EventHandler
		public void blockbreak(BlockBreakEvent event){
			
			Location loc = event.getBlock().getLocation();
			Integer regid = Stormprotect.getregionmanager().getregionbyloc(loc);
			if(regid != null){
				String player = event.getPlayer().getName();
				if(Stormprotect.getregionmanager().isregionmember(player, regid)||Stormprotect.getregionmanager().isregionowner(player, regid)){
					return;
				}
				else{
					event.setCancelled(true);
				}
			}
			
			return;
			
		}
		
		@EventHandler
		public void blockplace(BlockPlaceEvent event){
			
			Location loc = event.getBlock().getLocation();
			Integer regid = Stormprotect.getregionmanager().getregionbyloc(loc);
			if(regid != null){
				String player = event.getPlayer().getName();
				if(Stormprotect.getregionmanager().isregionmember(player, regid)||Stormprotect.getregionmanager().isregionowner(player, regid)){
					return;
				}
				else{
					event.setCancelled(true);
				}
			}
			
			return;
			
		}
		
		@EventHandler
		public void blockphysics(BlockPhysicsEvent event){
			return;
		}
		
		@EventHandler
		public void piston(BlockPistonEvent event){
			
			Location bloc = event.getBlock().getLocation();
			return;
		}
	
}
Leonard_M_G is offline  
Old 09/12/2012, 21:30   #4
Moderator


 
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
Es gibt kein BlockPistonEvent, es gibt nur BlockPistonExtendEvent und BlockPistonRetractEvent.

Nicht falsch verstehen, aber wielange programmierst du schon? Die formatierungen in dem Dokument sind echt scheußlich.
ComputerBaer is offline  
Thanks
1 User
Old 09/12/2012, 22:05   #5
 
elite*gold: 0
Join Date: Sep 2011
Posts: 130
Received Thanks: 10
XD nochnicht so lange
Wie soll ich den ganzen kram denn "übersichtlicher" machen?
Außerdem gibt es das .... sonnst hätte mein Eclipse das auch rot makiert...
EDIT: Gibt es wohl doch nicht... Habe den kram raus genommen und es Funktioniert Warum ist es dann in den Javadocs?
Leonard_M_G is offline  
Old 09/12/2012, 22:20   #6
Moderator


 
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
Übersichtlicher bekommst du es, wenn du alles gleichweit einrückst. Also alles was auf der selben Ebene ist.
Immer wenn du geschweifte Klammern aufmachst gehst du einen Tab weiter rein und jedesmal wenn du eine zumachst wieder einne Tab weiter raus.

Wenn du etwas länger programmieren würdest und die Javadocs genau anschaust würdest du sehen das die Klasse BlockPistonEvent abstract ist. Und mit abstracten Klassen kann man bekanntlich zur Laufzeit nicht wirklich was machen.
ComputerBaer is offline  
Thanks
1 User
Old 09/12/2012, 22:23   #7
 
elite*gold: 0
Join Date: Sep 2011
Posts: 130
Received Thanks: 10
ok... daran habe ich nicht gedacht
Leonard_M_G is offline  
Reply


Similar Threads Similar Threads
[Tutorial] Bukkit Plugin programmieren - by bubbleguj
07/29/2012 - Minecraft Guides & Strategies - 0 Replies
Hallo Leute, ich starte heute eine neue Video Tutorial Reihe! "Bukkit Plugins programmieren". In diesen Tutorials versuche ich euch zu erklären, wie man Bukkit Plugins programmiert. Versucht es einfach und guckt euch die Videos an! :) Hier eine Liste der Parts: (Eventuell nicht up-to-date! ALLE Videos auf meinem Youtube Kanal! https://www.youtube.com/user/iDattner) Part #1: https://www.youtube.com/watch?v=PcVTNd1mQ24&fe ature=plcp Part #2 (1/2):...
Votifier listener
06/30/2012 - Minecraft - 7 Replies
Welchen Listener und was muss ich einstellen damit beim voten z.b ingame kommt: Komunx3 hat gevotet
Plugin Probleme
01/25/2012 - Minecraft - 3 Replies
Hallo Ich habe einen Bukkit Server mit allen möglichen plugins die ghen aber alle plugins die ich seit gestern neu drauf machen will gehen nicht z.b mobriding,EasyEnchament, MobDisguise und noch mehr Alle alten gehen habe auch auf die verionen der plugins geachtet. Auf meinem 2 bukkit server gehen aber alle nur auf einem nicht. Bitte um hilfe giebt auch Thanks :)
NPCs PLugin Probleme
01/17/2011 - Minecraft - 6 Replies
Hey, ich habe mir für unseren Server das Plugin mit den NPCs in Minecraft geholt. Die Simple Npcs klappen alle wunderbar. Aber die Trader Npcs nicht... Ich habe den erstellt (klappt noch alles) Dann wollte ich es so machen das man für 64 Holz 32 Glas bekommt und es klappte.. Aber nun wollte ich nochmal was hinzufügen und zwar, für 64 Eisenblöcke sollte man 32 Goldblöcke kriegen... Aber dieses mal steht da aufeinmal immer "Unknow Command"... habe alles gleich gemacht wie beim ersten mal



All times are GMT +1. The time now is 22:22.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.