andrepl / BuildInABox

Carry prefab buildings in enderchests.
3 stars 6 forks source link

cant passevent to biab 155 (&NPE) #28

Closed fungreenfox closed 11 years ago

fungreenfox commented 11 years ago

I get this at very first startup of the server with latest 155. Further, i cannot spawn the blacksmith or any other anymore. Not with this version.

18:58:09 [SEVERE] Error occurred while enabling BuildInABox v0.2.1-SNAPSHOT (Is it up to date?) java.lang.NullPointerException at com.norcode.bukkit.buildinabox.BuildInABox.initializeLandProtection(BuildInABox.java:136) at com.norcode.bukkit.buildinabox.BuildInABox.onEnable(BuildInABox.java:129) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) 18:58:09 [SEVERE] Could not pass event PluginEnableEvent to BuildInABox v0.2.1-SNAPSHOT org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:35) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:464) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.NullPointerException at com.norcode.bukkit.buildinabox.listeners.ServerListener.landProtectionEnabled(ServerListener.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 14 more

andrepl commented 11 years ago

https://github.com/andrepl/BuildInABox/commit/03351b5c964a97fd2e548101a617cc7a7b784ca0 and jenkins build #156) should fix the crash on startup, which SHOULD fix the other issues :) the last couple of development builds are introducing a new system of dealing with land protection plugins like worldguard and griefprevention so there are probably some new bugs :)

fungreenfox commented 11 years ago

Yeah im still currious to test the dev builds, and using WE and GP.

fungreenfox commented 11 years ago

version 157 is okay. Still no big buildings possible, but runs stabile.

andrepl commented 11 years ago

can you check for errors in the console when the big buildings fail to save?

fungreenfox commented 11 years ago

Yes, but what happens is all getting kicked, the mc server software goes into coma and i had to wait 5 minutes in gaining access back. After these 5 mins waiting, i can log back on. The box is next to me on the ground, to pick up. Seems like not a dedicated error, but java is just to heavy for it. I have no problem launching larger jobs from WE.

andrepl commented 11 years ago

I see, are you running GriefPrevention and World Guard or both? You have to keep in mind that BIAB has to check with both of these plugins to see if it has permission to build each block. WorldEdit doesn't do that, it will ignore both plugins and just blindly paste, so BIAB can never be as fast as WorldEdit in those cases, a more fair comparison would require setting check-build-permissions: false. still I'm going to do some profiling this week and try to eliminate that lag spike.

fungreenfox commented 11 years ago

During mentioned eppisode above, GP and WG are uninstalled, (the testserver), only WE is there active. WE itself does not provide area protection. But, it is the same result at the other public server with both GP and WG installed.

andrepl commented 11 years ago

well THAT's... interesting, here is something to try... make sure settings.plugin-profiling: true in bukkit.yml, perform the same test, then when it recovers from the lag, type 'timings merged' in the console. this will create a new txt file and tell you where it got saved. paste that file at: http://paste.ubuntu.com/ (then I can check it out with http://www.aikar.co/timings.php)

fungreenfox commented 11 years ago

It took me 5 minutes and 15 secs to log back in. http://paste.ubuntu.com/5801922/

andrepl commented 11 years ago

Darn, that isn't helpful at all... :( the timings don't show anything out of the ordinary, I'll have to set up a better profiler for my local test, which schematic is this? one of the ones you've already uploaded?

fungreenfox commented 11 years ago

its "he strandvilla.schematic" - translated to english "Luxury apartment" . - Thats the meaning but you can translate to beach villa if you want. Never reached to spawn this one ever.

andrepl commented 11 years ago

as it turns out, its the clipboard rotation that kills it, since it attempts to do that all in a single pass. out of curiosity, what happens if you load that schematic in worldedit and do //rotate 180, i'm guessing maybe a similar effect.

fungreenfox commented 11 years ago

i can do that fine. Rotating takes a little second and pasting a few seconds more.

andrepl commented 11 years ago

I got strandvilla to build! the preview is still pretty slow, but it works lag-free.. there was a giant lag-inducing loop in schematica that i was able to eliminate.

fungreenfox commented 11 years ago

in the schematic? interesting, have you put a dev build out?

fungreenfox commented 11 years ago

that should mean, that our luxury mini house with everything in, and 10x10basement can spawn now

andrepl commented 11 years ago

this dev build should do it:

http://mcgitlab.norcode.com:8081/job/BuildInABox/160/

assuming you can find a spot where it'll fit :) let me know your results.

fungreenfox commented 11 years ago

aye.

fungreenfox commented 11 years ago

if i can have your plaername, i can whitelist you on the testserver at mcraft.dk:25600

andrepl commented 11 years ago

it's 'metalhedd'

I can't log in right now but I will in a couple of hours. is it working okay?

fungreenfox commented 11 years ago

wow, this is cool. The expensive house can be build now, and fast. Just missing itemframes and their items in the basement. i can even put my 10 man villahouse into a box, it tryes to build, but stops at firstlayer and pops the box again.

fungreenfox commented 11 years ago

I do get some NPE's though.

andrepl commented 11 years ago

If you pastebin them i can probably fix that too On Jun 26, 2013 5:53 PM, "Fungreenfox" notifications@github.com wrote:

wow, this is cool. The expensive house can be build now, and fast. Just missing itemframes and their items in the basement. i can even put my 10 man villahouse into a box, it tryes to build, but stops at firstlayer and pops the box again.

— Reply to this email directly or view it on GitHubhttps://github.com/andrepl/BuildInABox/issues/28#issuecomment-20083000 .

fungreenfox commented 11 years ago

http://paste.ubuntu.com/5802986/

fungreenfox commented 11 years ago

when i save the villakulla, it shows on the list, but it isnt added to the files, only the schematic. I can only spawn the house, because its in the mem.

When i save the strandvilla, its added at the top of file with no expanations. like this: strandvilla: '' blacksmith: name: blacksmith display-name: blacksmith filename: blacksmith.schematic description: []

andrepl commented 11 years ago

is it this schematic? http://www.mcraft.dk/downloads/biab/villasjov.schematic

nevermind, this one is small.. :) can you upload the one that throws the errors?

fungreenfox commented 11 years ago

strandvilla.shematic and its 9KB. Big red beach house. villasjov is the villakulla. It launches perfectly now. It seems to be everything i add to biab in version 160, not being saved to plans. Want competition, then try the "luxushus" which is a house build over 2 days. Very big. It tries, but stops at first layer. (no basement included). I have also added my biab folder from plugins, as it currently contains at the normal server. http://www.mcraft.dk/downloads/biab/BuildInABox157TO160.zip

fungreenfox commented 11 years ago

Testserver , biab ver 160, luxushus http://paste.ubuntu.com/5803140/

andrepl commented 11 years ago

build 161 fixes EVERYTHING! :)

fungreenfox commented 11 years ago

I can't get rid of the idea of a statussign at the building. I just wonder how much code this will take space: If sign is present over a - or the very first - door, search line one for the word "statussign". Grab the users playername who is spawning the box. replace first line with [status] set line two to what users playername is. done. this doesnt look like much code?

fungreenfox commented 11 years ago

ill try 161.

fungreenfox commented 11 years ago

its fantastic in building the luxushus, its very big this one. The villakulla is missing itemframes on the walls in the basement, else it seems to be all good.

andrepl commented 11 years ago

Item frames and paintings aren't blocks, they're entities, so they're left out of schematics unfortunately. I'm working on it though.

fungreenfox commented 11 years ago

Then it is a world edit issue, i guess? No, wait, you are not using we for that?

andrepl commented 11 years ago

world edit has an option (-e i think) to include entities in the schematic. and it's capable of restoring them if they're saved in there, but I dont think it does it by default

fungreenfox commented 11 years ago

so we are looking for a site explaning about this, to see if there is a parameter? I thought of WE again hehe.