BukkitDev: http://dev.bukkit.org/server-mods/build-in-a-box/
andrepl / buildinabox Goto Github PK
View Code? Open in Web Editor NEWCarry prefab buildings in enderchests.
Carry prefab buildings in enderchests.
Test 1: Iron fence
1.) Buy multiple biab using the plugin Shopkeepers (http://dev.bukkit.org/bukkit-plugins/shopkeepers/)
2.) Un-separate from stack, place three.
3.) Lock the first one placed
4.) Try to lock other two, they are already locked (Without me doing so)
5.) Try to unlock other two, they refuse.
6.) Unlock the first
7.) Look at other two, they are suddenly unlocked.
8.) Attempt to remove the second one, first one gets removed
9.) Other two refuse to do anything.
10.) Look at console, see this error: http://pastie.org/8079467
11.) Restart server
12.) Two existing biab's are now breakable.
Test 2: Prop Helicopter
Same test, same results
Test 3: Spawing in the Iron Fence using /biab give
1.) /biab give ironfence
2.) Un-separate from stack, place three.
3.) Lock the first one placed
4.) lock other two
5.) Unlock them all
6.) Everything works as intended.
So it seems to be a problem with my distribution system (Shopkeepers), which I rather like and I use for other items. Another problem with itemstacks regardless of the method you get them is that if you place a biab that is stacked, it will place all of them at the same time (E.g, I buy three iron fences in a stack, I place the stacked box, and it turns into a single biab).
EDIT: It seems like all of the biabs from the shopkeeper shop are connected, no matter how/if you stack them. It could be a problem with biab or shopkeepers.
Everyone seems to be having this problem as well as me
Okay, so I mark out the build with the golden hoe, I name it using this /biab save House1 [Simple House [ : A simple but sturdy house that is great for a home base]]
It tells me to then select an enderchest with the golden hoe. I do this, the chest opens and then... Nothing. No save is made, no message pops up, no changes happen. My save list is still empty so what is going on?
Using craftbukkit 1.6.2 BETA
using BuildInABox 0.2.0
It worked the first time but didnt fold out a house. Now it stops when trying to mark the chest after saving.
biab ver 0.2.0
bukkit ver git-Bukkit-1.5.2-R0.1-1-g53734d2-b2779jnks (MC: 1.5.2) (Implementing API version 1.5.2-R0.2-SNAPSHOT)
Now, everytime i put down the box on the ground, i get kicked with "read time out".
My server has octacore cpu with 24gb mem, and can handle large schematics.
07:51:45 [INFO] [Alerter]: º6[Alerter]: ºeºf[3] ºaFungreenfoxºf use a command: ºc/biab save strandhusºf
07:51:45 [INFO] Fungreenfox issued server command: /biab save strandhus
07:51:47 [SEVERE] Could not pass event PlayerInteractEvent to BuildInABox v0.2.0
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.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:186)
at net.minecraft.server.v1_5_R3.PlayerInteractManager.dig(PlayerInteractManager.java:108)
at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:541)
at net.minecraft.server.v1_5_R3.Packet14BlockDig.handle(SourceFile:46)
at net.minecraft.server.v1_5_R3.Packet14BlockDig$$EnhancerByCGLIB$$82409193.CGLIB$handle$0()
at net.minecraft.server.v1_5_R3.Packet14BlockDig$$EnhancerByCGLIB$$82409193$$FastClassByCGLIB$$5e2194f6.invoke()
at com.comphenix.net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at com.comphenix.protocol.injector.packet.ReadPacketModifier.intercept(ReadPacketModifier.java:102)
at net.minecraft.server.v1_5_R3.Packet14BlockDig$$EnhancerByCGLIB$$82409193.handle()
at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292)
at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109)
at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.norcode.bukkit.schematica.Clipboard.getBlock(Clipboard.java:405)
at com.norcode.bukkit.buildinabox.BuildingPlan.fromClipboard(BuildingPlan.java:135)
at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerSelection(PlayerListener.java:74)
at sun.reflect.GeneratedMethodAccessor238.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)
... 22 more
When making a new schematic, i use the hoe.
Digging down to -12 sometimes below surfacelevel, and then the upper corner.
Saving the schematic fine. When spawning it, the basement is filled with dirt and can not be digged out.
A plugin (made on my request), is kicking users trying to spawn a biab box.
You know our Blacksmith from earlier, and this is the objekt taken for building straight up.
I don't know who will be able to fix this, but http://dev.bukkit.org/bukkit-plugins/nopillar/#comments is build very fast, just for the sake of use.
The idea is only to kick people building straight upwards, with no blocks beside, making it a 1x1 tower. I have informed the author of this plugin.
The only thing i can currently do, is bypassing the users with permission. This is not the estimate solution to this.
I think some nice fireworks going off around the build when it's complete would be a nice finishing touch.
i just recently downloaded Build-In-A-Box because i used to play on a server that had it and i kinda liked it. after downloading and setting up a hamachi server to play with it i read the instructions on the buckit page from top to bottom, in the test server i made a simple basic tent and i set down an enderchest like it said. i then used the golden hoe to select 2 corners i selected 1 on the floor and 1 diagonally up in the air to get the full build. after selecting i did /biab save tent
just like the person in the video did but after pressing enter it said for me "now use the selection tool to choose an ender chest to save it in" and so i right clicked and nothing happened and in /biab list
it was empty so i tried left clicking and again nothing happened please reply back soon im interested in using it on my server when i find out why BIAB is not working for me....
i have this plugin, which is showing who is online.
first line of a sign is [ss]
second line his name.
link to the plugin http://dev.bukkit.org/bukkit-mods/status-sign/
do you have any way to provide his name on this sign at biab?
I plan to give away the house to anyone, and do not know for a start who is getting it.
So i might need to contact the author of that sign also, but do you have any variables included?
I use BIAB for a survival world, and occasionally there are glitches where a box just breaks for whatever reason, and makes the build destructible again.This can interfer with Survival game-play, and users can abuse some glitches to make the BIABs not work anymore so they can harvest the blocks. Is there a way to make it so when a BIAB is loaded, it won't drop the items if it can be destroyed?
Happening as of build 111 http://pastie.org/8002791
There is currently no way to build slower than 1 block per tick. supporting a float value here would be handy, but the BuildManager will need to learn to handle that.
a user reported that he cannot spawn a little hoverpad (made of 8xwood and 8wool proxymately). It has normally no problems in spawning, and when i went to his GP claim, he had it trusted to another guy also, should be no problem. i asked him to make another claim and try spawning it there. He could not spawn it there. I spawned it for him in that new claim, and he was able to use this pad asap. (similar to magic carped).
I have not other reports of this, excecpt a user who could not spawn the blacksmith, where i could. I think i have given out all permissions. Have you changed anything about permissions?
Here are the permission given to the group the normal user is in:
- biab.lock.*
- biab.pickup.*
- biab.place.*
- biab.unlock.*
The version for craftbukkit 1.6 is not working. Sales can not be done. Lists will only show the amount of commands available, and should have been showing a list of boxes.
no errors but the walls don't get removed
The plugin at http://dev.bukkit.org/bukkit-plugins/nopillar/ is actually build on my request, to stop those pesky 1x1 tower builders. I have been looking for this for a very long time, until i made a request to get it done.
Then biab comes and is a plugin i wouldn't do without either.
So what do i do? I have talked to the guy behind nopillar, and he is suggesting me to ask for a solution here, disabling the face checking for building, as he thinks this is where the problem is. I think there must be other ways to check if building on a GP ground is allowed, and GP does actually leave marks in its code to determine this. And GP itself doesn't make use of fake building to see if there is a claim with allowence at the ground.
I do not know what happened here, i was not online, only watching from console.
The plugin kept running though.
15:07:39 [SEVERE] Could not pass event PlayerInteractEvent 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.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:160)
at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:617)
at net.minecraft.server.v1_5_R3.Packet15Place.handle(SourceFile:58)
at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292)
at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:115)
at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NullPointerException
at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerInteractLocked(PlayerListener.java:287)
at sun.reflect.GeneratedMethodAccessor331.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)
... 17 more
Users are still loosing their box after it pops off, if they cant make it fit.
It happens 20% of all times. When i give the box again, they might have two, but not before then.
I am using LWC having it set to make users chest going private upon placement.
This also works for BIAB while placing a chest inside a building, and the ownership goes to the player spawning the building. Works well. Any questions, just ask.
after attempting to save a large schematic, the user got no feedback and the enderchest behaved like a normal enderchest.
@fungreenfox is the schematic that this happens with already uploaded somewhere i can test with?
Haven't figured out how or why yet. doesn't happen for me on linux, doesn't seem like that should be a factor though
wooden doors do not face this issue while iron doors do.
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
Another strange case is passing a box to my alt and letting him build at my ground with trust.
success, but one frontdoor needed to be corrected as it opened asyncronous. So i delete my file and makes a new one. Now i get errors when my alt wants to spawn the box, and the box wont loosen from the ground.
07:06:47 [WARNING] [BuildInABox] Task #3150 for BuildInABox v0.2.1-SNAPSHOT generated an exception
java.lang.NullPointerException
at com.norcode.bukkit.schematica.Clipboard.copyBlockToWorld(Clipboard.java:624)
at com.norcode.bukkit.buildinabox.BuildChest$4.processBlock(BuildChest.java:334)
at com.norcode.bukkit.buildinabox.BuildManager$BuildTask.tick(BuildManager.java:90)
at com.norcode.bukkit.buildinabox.BuildManager.run(BuildManager.java:41)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:513)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Whenever the server is restarted, all the biabs' turn into normal enderchests. The only way to fix it is to use /reload, but that shouldn't be necessary. On top of that, some of the biabs' still are enderchests after /reload. Here is the error upon starting the server:
2013-05-29 20:21:29 [INFO] [BuildInABox] Enabling BuildInABox v0.1.6
2013-05-29 20:21:29 [SEVERE] Error occurred while enabling BuildInABox v0.1.6 (Is it up to date?)
java.lang.NullPointerException
at org.bukkit.Location.getBlock(Location.java:82)
at com.norcode.bukkit.buildinabox.BuildChest.getBlock(BuildChest.java:126)
at com.norcode.bukkit.buildinabox.BuildInABox.initializeDataStore(BuildInABox.java:262)
at com.norcode.bukkit.buildinabox.BuildInABox.onEnable(BuildInABox.java:92)
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:383)
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:306)
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:288)
at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:310)
at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:289)
at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:249)
at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:149)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:388)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Also, my plugins:
Plugins (35): TimTheEnchanter, SkyDiver, GroupManager, WorldEdit, TagAPI, ItemTagger, EasyJetpack, Vault, CombatTag, Grapple, uCars, WorldGuard, RealisticTNT, Shopkeepers, ServerHub, Permissions, PrettySigns, ChestBank, CrackShot, MicroJump, VariableTriggers, ScheduledAnnouncer2, BuildInABox, FirstJoinPlus, Votifier, GAListener, Essentials, CityWorld, ServerSigns, EssentialsSpawn, Multiverse-Core, EssentialsChat, Factions, rMessages, BattleTags
Hello!
I'm super interested in getting this plugin to work the a server I administrate, but I'm running into some problems. I've been following the demonstration guide on the bukkit plugin page.
So far, I have no problems packing a house into a BIAB, and giving it to players. Placing elicits the proper preview, followed by the
[Build-In-a-Box] Building house...
message. The actual building occurs as it should, right up until completion. As the house finishes, I expect a Building Complete! text output, but never get it. This is where it gets weird.
Opening/closing doors or chests gives off this exception in console: http://pastebin.com/JVKh6PZS
Attempting to break any block in the house leads to automatic regeneration, as if block-break rights are denied. I can place blocks in the spaces, though. This also happens after server reload, and locking the house results in "house has been locked by house".
The BIAB placed on the ground functions for the most part. I can lock and unlock the house, no exceptions given, but it doesn't change anything mentioned above.
Lastly, I can double-left click the house to pack it up, and it does exactly that. Packs up neatly, pops the BIAB off, gives the proper "Removing house"/"Removal Complete!" output messages, and I can place blocks where the structure was formerly and break them without incident.
Using /biab permanent and breaking the BIAB is the only way to make it stop throwing exceptions and allow me to edit the blocks.
The environment on which it happened in is a home bukkit server running the latest craftbukkit build, with all the plugins that my main server runs. I figured it might be a conflict, so I generated a new server with only WorldEdit, WorldGuard, CommandBook, PermissionsEx and BIAB.
WorldEdit is the latest development version from sk89q's jenkins page.
BIAB is version 0.1.7. I tried 0.1.6 with the same results.
I've tried being op, I've tried with all the permissions nodes given. I've tried two different MC accounts. The exceptions won't stop being thrown until the build is made permanent.
Just thought I'd drop you a detailed line with what I've found. Excellent plugin, by the way, probably the most excited I've been for a plugin ever.
Version: 0.1.7-SNAPSHOT
Issue 1: Error when trying to make a house build that doesnt have the space
http://pastie.org/7982246
Steps to reproduce:
1 place a plan in too small an area
2 confirm the house
3 let it attempt to constuct
4 errors when the ender chest is removed
Issue 2: http://pastie.org/7982263 Blocks left when building fails
Sometimes when such as Issue 1 occurs it partially places blocks and leaves them
Steps to reproduce:
1 try fail placement
2 observe left blocks
Issue 3: Players can spam the build which could cause terrible lag
Steps to reproduce:
1 place a plan
2 while the preview is going spam the build
3 watch as your build spam builds and places even when blocks are already placed, basicly queue spam.
Thge title says all, except that those exceptions are all PlayerInteractEvent
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.