Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.

Enzer

Members
  • Content count

    86
  • Joined

  • Last visited

Everything posted by Enzer

  1. Kingdoms Brainstorming

    True, however not all SMP servers are PVP based. The server that I play on is Cooperative Survival, meaning that everyone works as a team to overcome the dangers of the wilderness. While vanilla MC and TFC do not currently add much in ways of real challenge to players thus far, we have gotten around this in the past by holding randomly scheduled events such as town invasions or player attacks (where the players are the ones that invade an area set up in advanced by the operators or they must hold the fort in a newly created area in order to win the rights to explore there). http-~~-//www.youtube.com/watch?v=fKmdxo4oqJc&feature=relmfu http-~~-//www.youtube.com/watch?v=rgaIxx43H_8 http-~~-//www.youtube.com/watch?v=i-28YD9enlw While I like the idea of cities being able to declare war on each other, MC's combat is so bad that straight up PVP is boring as hell. Invasion events, if done right, provide a lot more entertainment, and I can see TFC being able to pull off a few neat things that would make having a strongly united city something that you really want to get set up. Sure preventing mobs spawning within town limits is fine, eventually all towns will be lit up enough that the only mobs that will make it in are the ones that wander from the deep dark woods beyond your border. This is boring and stagnates gameplay, if towns are to provide the protection of secure lighting automatically, then there needs to be events that trigger that challenge the fortifications of your town. Picture this, every night at the witching hour, there is a small chance for a variety of effects to happen: a zombie hoard can come to bang on your town's walls, slowly breaking in. Skeletal archers of expectational skill could appear on the out skirting hills, launching volleys of arrows deep into your town. Hell, even an event that kills the light source (not breaks, but disables) of every torch and bit of glowstone in town, sweeping everything into darkness so that the creatures of the night can manifest would be really neat. Ultimately though, it becomes an issue of the vanilla mobs just not being enough to argue the need of nullifying mob spawning, maybe if new mobs were added. I do however like the ideas of npc bandits besieging your town during the day, that seems really neat. I'll be back with more organized thoughts on creating a better PVE environment in MC that would balance with the need for towns, a little tired right now. ---- For protecting your stuff, I think that being able to craft locks out of an ingot would be a simple solution. The lock's "quality" would be based upon its material and how well you made it (similar to durability ratings for all metal tools), with a lock being produced rated as: Shoddy, Simple, Normal and Complicated. Or something along those lines. Combining a lock with a door or chest in a crafting table produces a [Quality] [Metal] Locked Door that designates to the person who places it, not makes it (so that these items can be sold). Crafting a Key item will allow you to interact with a GUI on a door or chest to change it to being permanently locked or unlocked or assigning "spare keys" (not a physical item players have to carry, maybe make it a consumable to add new players to the list though. 1 ingot = 10 keys?) to other players so that they may access a locked item. Locked chest would only be single chest, but you would be able to place them side by side to compensate, this will allow would be thieves to be able to figure out which chests to go after. For thieves, I would suggest a set of lock pick tools. Lock pick tools would have durability like all other tools and would have to be made of a material equal to or greater than the strength of the materials used to make the lock. Picking a lock would be similar to how the anvil works with an array of buttons that moves two lines near each other. The thief would have to obey certain instructions of various complications (as dictated by the quality of the lock) with the final instruction being the one that also aligns the two lines. So far very similar to the anvil process, however, as you input instructions trying to get the lock picked, you are adding tension to your tools and the lock, this is represented by a meter that fills at a rate proportional to the lock you are picking (and how much better quality your tools are). If this meter fills all the way, the lock jams and NO ONE is able to pick it again until the owner of the chest opens it again. This meter resets if you exit the lock picking screen, however you have to wait 5-10 min before anyone is able to attempt again. This gives players a pretty reasonable amount of protections from thieves and also makes being a thief an actual skill one has to develop with practice, same as being able to effectively make high quality tools. If that isn't enough protection, you could make it so that at certain points as the tension meter builds local players will get a percentage chance of receiving a whispered message of hearing metal click with a guarantee message to everyone in the area if the lock jams. You could also make it an option in the config menu to disable lock picking all together. --- Bioxx, since you want to lead players in the development of cities that they will live in and fight for, may I suggest maybe implementing a few new structures to help with the defense of a town? I am thinking of things along the lines of functioning portcullis or maybe some death from above type items like cauldrons full of boiling oil you can tip over an edge? Would you also be interested in ideas like that?
  2. Server crashes

    Recently we've been having some crashes on our server. The first issue was an error we belive stemmed from spawning in pigs and cows using vanilla mob eggs (we were trying to replace a user's animal stock after a griefer came in and killed them all). When killing any of these new mobs, the server would promptly crash. We believe we have destroyed the offending mobs. The error logs for those are here: http://pastebin.com/wUvgURZs 2012-08-03 12:21:14 [WARNING] Failed to handle packet: java.lang.NullPointerException java.lang.NullPointerException at oj.<init>(SourceFile:22) at jj.b(EntityTrackerEntry.java:300) at jj.b(EntityTrackerEntry.java:229) at jj.b(EntityTrackerEntry.java:281) at xa.a(EntityTracker.java:161) at xa.a(EntityTracker.java:96) at gk.a(SourceFile:25) at ge.c(World.java:1264) at gp.c(WorldServer.java:141) at ge.a(World.java:3322) at my.c(Chunk.java:957) at mp.c(ChunkProviderServer.java:121) at ar.<init>(SourceFile:28) at zf.a(SourceFile:177) at zf.a(SourceFile:243) at jg.c(ServerConfigurationManager.java:155) at forge.PacketHandlerServer.finishLogin(PacketHandlerServer.java:155) at forge.PacketHandlerServer.onModListResponse(PacketHandlerServer.java:101) at forge.PacketHandlerServer.onPacketData(PacketHandlerServer.java:36) at forge.MessageManager.dispatchIncomingMessage(MessageManager.java:420) at mm.a(NetServerHandler.java:1032) at gl.a(SourceFile:46) at qq.b(NetworkManager.java:353) at mm.a(NetServerHandler.java:73) at fk.a(SourceFile:107) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:570) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:448) at dn.run(SourceFile:492) 2012-08-03 17:19:28 [sEVERE] Unexpected exception java.lang.OutOfMemoryError: Java heap space at TFC.Entities.EntityAnimalTFC.b(EntityAnimalTFC.java:283) at TFC.Entities.EntityPigTFC.b(EntityPigTFC.java:57) at tv.d(Entity.java:1251) at tv.c(Entity.java:1226) at vr.a(AnvilChunkLoader.java:255) at vr.a(AnvilChunkLoader.java:107) at mp.b(ChunkProviderServer.java:189) at mp.a(ChunkProviderServer.java:237) at ge.a(World.java:335) at ge.h(World.java:2373) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:448) at dn.run(SourceFile:492) 2012-08-03 22:30:44 [sEVERE] Unexpected exception java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2219) at java.util.ArrayList.grow(ArrayList.java:213) at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:187) at java.util.ArrayList.add(ArrayList.java:411) at TFC.Entities.EntityAnimalTFC.a(EntityAnimalTFC.java:332) at TFC.Entities.EntityPigTFC.a(EntityPigTFC.java:66) at tv.e(Entity.java:1296) at kr.a(EntityList.java:94) at vr.a(AnvilChunkLoader.java:347) at vr.a(AnvilChunkLoader.java:82) at vr.a(AnvilChunkLoader.java:65) at mp.e(ChunkProviderServer.java:150) at mp.c(ChunkProviderServer.java:101) at ar.<init>(SourceFile:28) at zf.a(SourceFile:177) at zf.c(SourceFile:300) at jg.d(ServerConfigurationManager.java:170) at mm.a(NetServerHandler.java:325) at jw.a(SourceFile:126) at qq.b(NetworkManager.java:353) at mm.a(NetServerHandler.java:73) at fk.a(SourceFile:107) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:570) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:448) at dn.run(SourceFile:492) 2012-08-03 12:45:31 [sEVERE] Unexpected exception java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.addEntry(HashMap.java:766) at java.util.HashMap.put(HashMap.java:402) at ph.a(SourceFile:57) at TFC.Entities.EntityAnimalTFC.b(EntityAnimalTFC.java:284) at TFC.Entities.EntityPigTFC.b(EntityPigTFC.java:57) at tv.d(Entity.java:1251) at tv.c(Entity.java:1226) at vr.a(AnvilChunkLoader.java:255) at vr.a(AnvilChunkLoader.java:107) at mp.b(ChunkProviderServer.java:189) at mp.a(ChunkProviderServer.java:276) at ge.h(World.java:2360) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:448) at dn.run(SourceFile:492) The next error we have no idea what caused it, though seems to deal with a stack overflow for custom leaf blocks. Error report can be found here: http://pastebin.com/qiz5PmvX 2012-08-04 00:36:54 [sEVERE] Unexpected exception java.lang.StackOverflowError at ge.e(World.java:606) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:707) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:706) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:706) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:704) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:706) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:706) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:703) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:705) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) at ge.h(World.java:702) at ge.f(World.java:650) at ge.e(World.java:608) at TFC.Blocks.BlockCustomLeaves.destroyLeaves(BlockCustomLeaves.java:185) at TFC.Blocks.BlockCustomLeaves.a(BlockCustomLeaves.java:177) at ge.k(World.java:721) Any help for the second one to prevent it from reoccuring would be great as well as confirmation that the first log was indeed because of a "vanilla' spawned mob. Server has been running smoothly for a week, but has slowly become less and less stable. The second error has been occuring often and we do not know why.
  3. Server crashes

    Have an additional odd server crash that happened this morning. Our players have found that trying to plant pumpkin seeds crash the server. To reproduce, till earth with a hoe, then stomp on the tilled earth to turn it into grass. At this point before grass regrows you can right click the dirt block with pumpkin seeds. This will force the dirt block to revert back into tilled dirt and plant the pumpkin, shortly after the server crashes. I'll try to pull error logs later, is there a list of bugs that the SMP version has that I can look over to inform users not to do certain things?
  4. Alloys: early/middle bronze, mithril, steel

    Items, especially armors, need to be revisited for balance before even more tiers of metal are added. Right now, a full set of bronze armor makes you pretty damn hardy. By the time you get bronze armor, creepers, tnt, skeletons, zombies and spiders cannot damage you faster than you naturally heal. When you get to steel armors and beyond, they cannot damage you at all even on hard mode. The only thing I found that is a threat with armor still is fall damage and fire. I understand that the balance to armors is that they require a lot of materials and a long time to produce with plenty of steps to produce armor with weak initial durability, but as it stands they are still way too overpowered unless hostile mobs get their strength levels equally increased. When talking about swords, all swords past bronze are more or less the same when I did my testing, killing creepers, spiders, zombies and skeletons on hard mode with two hits. Endermen took 3-4 hits from bronze-wrought iron and 2-3 hits for everything beyond that. At that point it is about durability. For tools, there is not much point in producing tools of higher quality than steel since material cost begins to sky rocket at that point and you begin losing out what you put in. The only difference I can tell between a steel pick and a red steel pick is simply how many blocks it can mine and steel pick will last you pretty damn long (have tested something like 3,000 gabbro blocks before breaking). So yeah, adding new metals is neat and all, but unless everything gets balanced to the current metal tiers and then rebalanced for new metals, I do not much see a point.
  5. Storage woes

    True, another mod has done this already, but I really hate the idea of relying on additional mods and it more often than not would not help those playing on a MP server. I would rather see as much structure added to TFC that you wouldn't have to keep stepping back and going, well, I guess I'll have to add a few more mods to make up for whats not here. I see this kind of reply a lot in suggestion topics, which doesn't make much sense since we are suggesting things to be added. Maybe I'm just a little picky, but I also don't want to be dependant on multiple mods update schedules and have to worry if one update breaks the other mod or if TFC continues to become so departed from vanilla MC (and I think this is a good thing) that you wouldn't be able to craft anything from other mods. Anyway, back to storage suggestions. I am totally for having more storage options than just chests. I would like to see the player be able to craft stone, or better yet, clay bins (pottery wheel anyone?) that were one block wide and two blocks tall. I like TheBlindPeople's original suggestion of FIFO stacking for bins as it would make sense. It is there to cram items in, not a place to sort your stuff into. I would like to see crates as well used to store single items in bulk (limited to certain items such as smoothed stone, bricks, stuff that stacks well). Small crates would be a 1x1 sized object and could hold up to a double chests worth of a singlar item type that would be believably stackable (again, lets say stone bricks). Crates could be picked up by convetional minecraft method of punching it enough until it pops. Unlike a chest, the crate isn't destroyed, it instead drops an objected called "Crated ______ Stone Bricks" (or whatever it happens to be holding). This allows you to shift your storage around, crates would also be physically stackable in the real world and would be affected by gravity (maybe make it so you can't lift a crate that has anotehr crate ontop of it). You would access the contents of a crate via right clicking it to recieve X ammount of items directing into your personal inventory. Crates would be made using the new wooden planks and possibly something like wrought iron bars to reinforce it (crafting recipie would be something like 3 planks across the top, 3 bars across the middle and 3 planks across the bottom). This gives up an Empty Crate object. Placing it allows you to start filling in the crate, the first acceptable item you place into the crate changes it into "Opened Crated ____". In this state you can continue to fill the crate until it is full, after that you have to use a hammer and nails to seal the crate ("Sealed Crated ____" or just "Crated ____"), this allows you to pick up the crate and move it about. Opening a closed crate would require a tool, for now the chisel could work to pry it open, this allows you to remove items from the crate again, when done you would have to hammer it shut once more. The whole idea for the crate would be to create a compact system to store items you will eventually be getting a ton of for long periods of time (between massive stone structures or what have you, this could work for support beams as well and would be a great utility in SMP play where an exploratory mining team goes out into the wilderness with a bunch of crates materials, allowing them to stay out longer doing their jobs).
  6. Sticks Vs Handles/Rods

    I really actually like this idea, would give leather more use than leather armor (which is mainly end up using it for) and bellows. Sure it doesn't add much more to the game outside of adding another step in crafting, but it does give a more believable crafting recipe than just glueing a blade to a stick. I am also sure that leath strips could be used in other recipies for objects added down the road to TFC.
  7. Javelin tweak: The atlatl

    Javalins are already more powerful than an arrow (two javalins will kill any creeper, skeleton or zombie compared to an arrows 3-4 depending on distance). Javalins also seem to have a longer range, or at the very least, or a hell of a lot more accurate because they fly straight as compared to the arrow's arc. If this were a change to be made I wouldn't mind javalins stacking in groups of four and when thrown have about 1/2 their current strenght and a slight tendency to veer to the left or right. The atlatl would give the javalin its current straight flight path and bring it to its current strength as well. The offset would be that the atlatl and javalin would both take durability damage (making arrows still a viable choice with only the bow taking damage over time as well as arrows stacking in much larger quantities). As they stand, I do not see the bow really as a worthy weapon, carrying four javalins on me and circle strafing groups of enemies to pick up spent javalins has always gotten me through all my battles to date. Hell I haven't even really made a sword, they are that good.
  8. My bad, but my point still stands that shears are rather expensive (compared to most tools with greater importance) for a material that currently doesn't have much use, but has plenty of potential.
  9. Would be totally for this, colored clothes of different qualities would be a really good addition to multiplayer to help differentiate jobs. It would also give sheep a better use as for right now all they drop is wool and it isn't the most useful of materials outside of a one time bed. It would also give a better reason for shears to still require two ingots when you can make a full sized sword with a single ingot. Lots of potential with textiles. It would also give us something to wear outside of leather armor (we don't have a competent enough metal smith to risk using so many resources on metal armors right now), it also seems funny to be wearing armor all day and all night even if your job is that of lowly farmer.
  10. Totally agree with this idea. I love the way the mod handles things such as firepits, forges, bloomerys and sluices already, a player constructed stamp mill would fit thematically and the concepts behind it would open the mod up for a few new options as well that I could only think as being beneficial to TFC. The stamp mill could easily run off a stone type-ore database to determine what ores are produced. Make it so that it can only accept one stone type at a time, half a stack perhaps and the ore percentage would be similar to the sluice but also have more "deep" ores have a lesser chance of being produced to not overbalance the system. Gravel could even be produced at a lower rate, say a 4:1 stone-gravel ratio, that way you'd get 8 gravel per fully loaded mill, or even a 8:1 would be fine. If automation is a worry, require the player to empty the gravel from the stamp mill or even have a shifty tray take durability so it has to be replaced every now and then. Really the point I see to this mill is to help deal with the massive amount of stones you end up picking up once you get to Iron and Steel production. On the server I play on cobbled stone is starting to be in too much of an abundance and is really only used for axes anymore since we'd rather keep our steel for picks, pro picks, chisels, hammers and the occasional saw. With storage the way it currently is, we are having to dig bigger and bigger areas just to hold the stuff and even then we are producing more stone doing that unless we try to checkerboard raw smooth stone from the wall or polish it before we cut. Eventually we are going to have to just start chucking it into a pit, which I feel is a shame and a waste of material. Even if it takes 200 cobble to produce 1 ore due to random chance, it would still make the resource useful in later stages of the mod and will give us most importantly a renewable resource of gravel which I think is rather important. The only issue I see, as Crysn indicated, would be the gravel not communicating what kind of stone it is to the sluice. However, I think this can be worked around as we have noticed that stone tool heads made from different rock types do not stack with one another, so some hidden data has to be carried to the stones, I think gravel, and only gravel coming from the stamp mill, could get a meta data value attached to it (and you would only need, what, 23 values to tack onto gravel, that isn't that many and again, stone tools seem to do that already). By making it so that the stamp mill can only accept one stone at a time, the output for gravel would still be just fine and you could also make it so it "jams" up if you feed it more stone and the gravel hasn't been emptied from it yet.