spacefountain / bastion Goto Github PK
View Code? Open in Web Editor NEWA minecraft mod designed for use with /r/civcraft
A minecraft mod designed for use with /r/civcraft
This and what looks like all the rest of the bastions failed to save due to the DB connection closing. The server is still running after this occurred.
2014-05-19 21:53:04 [WARN] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 47,917,5
51 milliseconds ago. The last packet sent successfully to the server was 47,917,551 milliseconds ago. is longer than the server configured value of '
wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured
values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
2014-05-19 21:53:04 [WARN] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2014-05-19 21:53:04 [WARN] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
2014-05-19 21:53:04 [WARN] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2014-05-19 21:53:04 [WARN] at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3348)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1967)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
2014-05-19 21:53:04 [WARN] at isaac.bastion.storage.BastionBlockStorage.saveBastionBlock(BastionBlockStorage.java:58)
2014-05-19 21:53:04 [WARN] at isaac.bastion.storage.BastionBlockStorage.saveBastionBlocks(BastionBlockStorage.java:51)
2014-05-19 21:53:04 [WARN] at isaac.bastion.storage.BastionBlockSet.update(BastionBlockSet.java:113)
2014-05-19 21:53:04 [WARN] at isaac.bastion.storage.BastionBlockSet$1.run(BastionBlockSet.java:45)
2014-05-19 21:53:04 [WARN] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58)
2014-05-19 21:53:04 [WARN] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
2014-05-19 21:53:04 [WARN] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:614)
2014-05-19 21:53:04 [WARN] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273)
2014-05-19 21:53:04 [WARN] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562)
2014-05-19 21:53:04 [WARN] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469)
2014-05-19 21:53:04 [WARN] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
2014-05-19 21:53:04 [WARN] Caused by: java.net.SocketException: Broken pipe
2014-05-19 21:53:04 [WARN] at java.net.SocketOutputStream.socketWrite0(Native Method)
2014-05-19 21:53:04 [WARN] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
2014-05-19 21:53:04 [WARN] at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
2014-05-19 21:53:04 [WARN] at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
2014-05-19 21:53:04 [WARN] at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
2014-05-19 21:53:04 [WARN] at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3329)
2014-05-19 21:53:04 [WARN] ... 16 more
2014-04-27 02:43:55 [ERROR] [Bastion] Could not execute SQL statement! │···························
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '6' for key 'PRIMARY' │···························
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_51] │···························
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[?:1.7.0_51] │···························
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_51] │···························
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_51] │···························
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at isaac.bastion.storage.Database.execute(Database.java:142) [Bastion.jar:?] │···························
at isaac.bastion.storage.BastionBlockStorage.saveBastionBlock(BastionBlockStorage.java:77) [Bastion.jar:?] │···························
at isaac.bastion.storage.BastionBlockStorage.saveBastionBlocks(BastionBlockStorage.java:49) [Bastion.jar:?] │···························
at isaac.bastion.storage.BastionBlockSet.update(BastionBlockSet.java:111) [Bastion.jar:?] │···························
at isaac.bastion.storage.BastionBlockSet$1.run(BastionBlockSet.java:45) [Bastion.jar:?] │···························
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:58) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [spigot.jar:git-Spigot-1.7.2│···························
gb58e277] │···························
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:614) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │···························
2014-04-27 02:43:55 [INFO] FactoryMod v1.0: Saving Factory data...
https://github.com/spaceFountain/Bastion/blob/master/Bastion/src/isaac/bastion/storage/BastionBlockStorage.java#L20
those values should not be the default. It should get the values from config.
/bsi does not work properly. It shows the same block as protected sometimes, and not other times. It seems to be more consistent when you are standing within the field, but is still not reliable.
The README is silent on the issue of whether it is possible to move a Bastion after it has been placed. I was told in mumble, today, that Bastions can be picked up with Silk Touch, but the current code doesn't fix the drop in the BlockBreakEvent and the builds currently on CivTest and the main server just drop sponge.
The question about movability has been asked before on the subreddit but was never answered and there is some misinformation going around.
I'm not sure whether the defect is in the code or in the documentation.
2014-05-16 09:14:50 [INFO] [Bastion] Failed to delete 285 │·······
2014-05-16 09:14:50 [INFO] [Bastion] Location was Location{world=CraftWorld{name=world},censored location} │·······
2014-05-16 09:14:50 [INFO] [Bastion] It was placed on 1399436817859 │·······
2014-05-16 09:14:50 [INFO] [Bastion] Its balance is 0.0 │·······
│·······
│·······
2014-05-16 09:14:50 [WARN] com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after statement closed. │·······
2014-05-16 09:14:50 [WARN] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) │·······
2014-05-16 09:14:50 [WARN] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) │·······
2014-05-16 09:14:50 [WARN] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) │·······
2014-05-16 09:14:50 [WARN] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.Util.getInstance(Util.java:382) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) │·······2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.StatementImpl.checkClosed(StatementImpl.java:402) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3722) │·······
2014-05-16 09:14:50 [WARN] at com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:3679) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.storage.BastionBlockStorage.saveBastionBlock(BastionBlockStorage.java:57) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.storage.BastionBlockStorage.saveBastionBlocks(BastionBlockStorage.java:51) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.storage.BastionBlockSet.update(BastionBlockSet.java:113) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.storage.BastionBlockSet.close(BastionBlockSet.java:59) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.manager.BastionBlockManager.close(BastionBlockManager.java:51) │·······
2014-05-16 09:14:50 [WARN] at isaac.bastion.Bastion.onDisable(Bastion.java:67) │·······
2014-05-16 09:14:50 [WARN] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:252) │·······
2014-05-16 09:14:50 [WARN] at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:374) │·······2014-05-16 09:14:50 [WARN] at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:409) │·······
2014-05-16 09:14:50 [WARN] at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:402) │·······
2014-05-16 09:14:50 [WARN] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.disablePlugins(CraftServer.java:398) │·······
2014-05-16 09:14:50 [WARN] at net.minecraft.server.v1_7_R1.MinecraftServer.stop(MinecraftServer.java:381) │·······
2014-05-16 09:14:50 [WARN] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:504) │·······2014-05-16 09:14:50 [WARN] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617)
Tests on Civtest show that this is possible even when the field should not allow block modification by the user.
Not sure how to handle this or what is intended behavior.
The comparison here does not describe a total ordering:
BastionBlock a with location (0,0,0)
BastionBlock b with location (1,-1,0)
a.compareTo(b) will return -1 as a's x is less than b's x
b.compareTo(a) will return -1 as b's y is less than a's y
This breaks the Comparable contract (a.compareTo(b) should equal 0 - b.compareTo(a)) and could potentially lead to faults in the QuadTree structure - haven't investigated in depth. It would certainly lead to faults in ordered maps.
2014-04-28 02:29:56 [ERROR] Could not pass event BlockFromToEvent to Bastion v0.5.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:472) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.BlockFlowing.a(BlockFlowing.java:140) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.WorldServer.a(WorldServer.java:566) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.WorldServer.doTick(WorldServer.java:209) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:659) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
Caused by: java.lang.NullPointerException
Here's a picture showing the field.
The obsidian is the field shape in Civcraft, and the blue glass shows what an actual circle looks like.
First of all, why does it need to be a circle? I've asked the mods several times, and have yet to hear a logical answer. I've heard "that's just how it was written" and "we wanted it to be how snitches used to be". None of these answers seem logical to me; there's a good reason that snitch fields are square.
Second, circles (especially these "circles") are very difficult to mesh to get full coverage (you end up with a radius of 6 instead of 10).
So, we have at least 1 very good reason to make the field square, and no good reason at all to make it a circle. I'd like a real explanation as to why they are circular.
I placed a bastion block in the way instructed to me by Dr_Jawa:
Typed "/bsc"
Typed "/ctf group groupname" with a diamond in my hand
Selected and placed the Bastion block.
When "/bsi" was used, the bastion block said "Some strength".
This morning, 10 hours later, when I did "/bsi", it returned a blank line in chat.
I decided to find the actual perimeter, since Bastion blocks do not seem to have a "normal" circle. I had my friend place blocks around the edge, and after about 10 block placement attempts, the Bastion effect failed and my bastion block reverted to a sponge. It seems that it did not mature at all.
I really would like my block refunded if this was due to a glitch.
2014-04-25 09:50:02 [INFO] [Bastion] Disabling Bastion v0.5.0 │·······
2014-04-25 09:50:02 [INFO] [Bastion] saveBastionBlocks for 8 blocks │·······
2014-04-25 09:50:02 [ERROR] Error occurred while disabling Bastion v0.5.0 (Is it up to date?) │·······
java.lang.NullPointerException │·······
at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionImpl.java:3124) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4529) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at isaac.bastion.storage.BastionBlockStorage.saveBastionBlock(BastionBlockStorage.java:69) ~[?:?] │·······
at isaac.bastion.storage.BastionBlockStorage.saveBastionBlocks(BastionBlockStorage.java:49) ~[?:?] │·······
at isaac.bastion.storage.BastionBlockSet.update(BastionBlockSet.java:111) ~[?:?] │·······
at isaac.bastion.storage.BastionBlockSet.close(BastionBlockSet.java:59) ~[?:?] │·······
at isaac.bastion.manager.BastionBlockManager.close(BastionBlockManager.java:51) ~[?:?] │·······
at isaac.bastion.Bastion.onDisable(Bastion.java:67) ~[?:?] │·······
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:252) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:374) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:409) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:402) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.disablePlugins(CraftServer.java:398) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at net.minecraft.server.v1_7_R1.MinecraftServer.stop(MinecraftServer.java:381) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:504) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277] │·······
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
The database command here is subject to SQL injection via the world name:
This is currently exploitable only by users with permission to create worlds, if that, which makes it not a release blocker, but should be cleaned up in case someone repeats similar down the track in a more exploitable way. Please use prepared statements with placeholders for all queries requiring parameters, and never add a raw string in to a SQL statement.
2014-04-24 23:27:22 [ERROR] Could not pass event BlockFromToEvent to Bastion v0.5.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:472) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.BlockFlowing.a(BlockFlowing.java:140) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.WorldServer.a(WorldServer.java:566) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.WorldServer.doTick(WorldServer.java:209) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:659) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:562) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:469) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
Caused by: java.lang.NullPointerException
at isaac.bastion.BastionBlock.blocked(BastionBlock.java:248) ~[?:?]
at isaac.bastion.manager.BastionBlockManager.getBlockingBastion(BastionBlockManager.java:240) ~[?:?]
at isaac.bastion.manager.BastionBlockManager.independantlyBlockedBy(BastionBlockManager.java:286) ~[?:?]
at isaac.bastion.manager.BastionBlockManager.blocksAction(BastionBlockManager.java:294) ~[?:?]
at isaac.bastion.manager.BastionBlockManager.handleFlowingWater(BastionBlockManager.java:159) ~[?:?]
at isaac.bastion.listeners.BastionListener.waterflowed(BastionListener.java:49) ~[?:?]
at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_51]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[spigot.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
... 12 more
When rebagi and I did much of our initial testing, the bastion block was a diamond block and as such having any reinforced diamond block become a bastion would be bad.
However, since bastions are sponges, it would greatly simplify the process if instead the act of reinforcing the sponge (/ctr
or /ctf
) made it a bastion field. It gets convoluted rather quickly managing separate bastion and citadel modes with /bsb
and /bsc
. Alternative would be to rename /bsb
to /bsr
and /bsc
to /bsf
. The reasoning for this is that it mimics the similar citadel commands and is easier for the user to catch on to.
If this behavior could be restored it would make the mod way more user friendly, which is a problem currently.
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.