Takeover SilkSpawners,EnchantMore,Chestpack,PickupArrows,RadioBeacon,QuickBench,PotionsPlus,+more

Discussion in 'Archived: Plugin Requests' started by mushroomhostage, Aug 7, 2012.

?

What plugins would you miss the most if no one stepped up to maintain?

  1. SilkSpawners

    11 vote(s)
    29.7%
  2. EnchantMore

    12 vote(s)
    32.4%
  3. Chestpack

    6 vote(s)
    16.2%
  4. PickupArrows

    4 vote(s)
    10.8%
  5. RadioBeacon

    6 vote(s)
    16.2%
  6. QuickBench

    13 vote(s)
    35.1%
  7. PotionsPlus

    8 vote(s)
    21.6%
  8. BetterDispensers

    14 vote(s)
    37.8%
  9. Writable

    4 vote(s)
    10.8%
  10. RealisticChat

    4 vote(s)
    10.8%
Multiple votes are allowed.
  1. Offline

    mushroomhostage

    Plugin category: ADMN, MECH, FIX, INFO, RPG, CHAT, FUN, EDIT

    Suggested names: either same name (if taking over project) or a new name of your choosing

    A bit about me: I got into plugin development early this year, then later started a small server with many of the plugins I developed. For several reasons, not important to this request, I'm not planning on updating beyond 1.2.5; however, I realize other server owners who may use my plugins are planning to update to 1.3.1+. This request is for them.

    What I want: Someone to takeover my plugins, and develop them as though they were their own. This includes maintenance of course, updating, bug fixes, but also any features or enhancements you would want to add (or remove). Basically, it'll be your plugin then.


    Here's the list of all my plugins (source repositories) I'm looking for someone to take over. I've listed them in order of download count, at the time of this posting, to give you an idea of their relative popularity, and the lines of code (from sloccount) + a link to the source to give you an idea what you're getting into. Also I've provided notes on how the plugin is written, and some ideas about how it could be developed further.

    Note these are all separate requests of course, different people could take over different plugins, but I'm listing them all here for convenience.

    SilkSpawners (source) - harvest mob spawners with silk touch
    25,135 downloads
    688 source lines of code
    SilkSpawners is my most popular plugin, by far (for some reason). It simply lets you acquire mob spawners – crucially, preserving their creature type. This is not as straight-forward as you might think, as it has to workaround limitations or the design of Minecraft or Bukkit to properly get, set, and store the creature the spawner spawns. Fairly mature. If there's any plugin I want taken over and properly cared for, it is this one.

    Maintenance notes:
    • Uses reflection to access net.minecraft.server in several places, primarily to get a complete list of all the entity types, including those added by mods – one of the few plugins that supports custom mobs (bypasses Bukkit's API wrappers) - will likely break with each update.
    • Has a partial fallback to use Bukkit's API wrappers if reflection fails - worst case, could use the API and temporarily remove support for mod's mobs (from MCPC's CraftBukkit) if the mechanism its using to look for them stops working, and hopefully add it back later when possible. Removing the reflection will make this plugin more maintainable, for sure.
    • But, listing the entity types is useful for diagnosing problems with mods adding new entities; would like to preserve this feature (scanning net.minecraft.server.EntityTypes) if possible to help modded server admins.
    • Has support for CraftBukkit++ and Spout, haven't used it myself, but some users probably want to preserve this functionality, so if you're experienced with either of these, or especially MCPC, this might be the plugin for you.
    • If placed spawners always spawn pigs, this plugin is broken – please don't let that happen :)
    Feature ideas:
    • I essentially consider this plugin feature-complete, but, there's always new features one could add..
    • Someone requested hooking into an economy plugin to allow charging for changing spawners.
    • Potentially could add support for overriding spawning, like MonsterBox, but I've avoided doing this, trying to keep it simple.
    • More user requests on the BukkitDev page.

    Who might be interested: @ TheDudeGuy, xGhOsTkiLLeRx (submitted pull requests - thanks!), Fyre (SilkierTouch), Tux2 (MonsterBox), @ZariusT, @ Celtic_Minstrel (OtherDrops), anyone with a server with custom mobs, anyone interested in picking up spawners..

    EnchantMore (source) - enchanted hoes, enchanted fishing rods, enchanted shears and more
    5,630 downloads
    2,133 source lines of code
    This plugin one was of my first, and adds tons of crazy new effects to otherwise-unused enchantment/item combinations.
    Maintenance notes:
    • Listens for lots of events, and is basically a large nested if statement to check for each of the items and enchantments to apply the proper effect
    • Most of the effects are straight-forward and should be easy to update.
    • But there a lot of effects (more than 80), so it can be tedious to update and test each one.
    • Some of the stranger effects do bypass the API, if I couldn't figure out how to do it without it – will likely break with each update.
    • However, if an effect breaks with an update, removing it is an option. There are plenty of effects here, so a couple being removed would not be such a big deal. I've done it before (with 1.1 to 1.2, removing the Sword + Flame = lit path effect, due to client-side lighting changes).
    Feature ideas:
    • So many.. :). You could have a lot of fun coming up with new effects to add. Check the tickets and 147 wanted effects list for ideas.
    • A jetpack :p
    • #1 request is complete WorldGuard support. I've started this, but there's tons of effects, some might still bypass world protection. Main reason why this plugin is still "1.0".
    • Full permissions support, for all items/enchantments. I laid some groundwork for this in factoring out the enchantment-checking code into hasEnch(), maybe you could add a permission check here, but then you have to manage 80+ permission nodes.. maybe create them dynamically?
    • Customizable enchantments is also heavily requested, that is, being able to change what enchantment causes what effect. I haven't done this because I couldn't find an easy way to implement it without significantly restructuring the code.. maybe you could.
    • You could also customize the enchanting table so it gives you the new effects, or do that as a separate plugin: requested here: Custom item enchantments via enchantment tables
    • Many bugfixes possible.. some effects are unstable and could use refinement.

    Who might be interested: @FriedTaco (GodPowers), nisovin @woodenddinosaur (MagicSpells), @ mbaxter (Tim the Enchanter), Laserhog (EasyEnchant), anyone who likes special effects or magic or enchantments

    Chestpack (source) - extra storage in a backpack on your chest
    4,872 downloads
    379 source lines of code
    Lets you store special chest items in your chestplate slot, and take them out and store items within. One of my newer plugins, its grown in popularity somewhat rapidly.

    Maintenance notes:
    • Finally, a plugin using pure Bukkit API! There are no net.minecraft.server or org.bukkit.craftbukkit uses here, which should make it a lot easier to maintain.
    • However, in absence of an item data API, this plugin stores information about the chestpack in the chest item using hidden enchantments (a favorite technique of mine, also used in SilkSpawners and QuickBench).
    Feature ideas:
    • An optional client mod to go with the plugin? Something to show the chest item information client-side, instead of just showing the item as another chest.
    • May want to look into detecting or preventing the same chestpack item from being crafted or used by multiple players.. although it can't be used to dupe items. See comment
    • Not many other ideas from me.. another plugin I pretty much consider feature-complete, but maybe users will have more requests.

    Who might be interested: anyone interested in extra storage or backpacks or inventories

    PickupArrows (source) - pickup skeleton arrows
    3,826 downloads
    78 source lines of code
    A really simple plugin I made on request, which only allows you to pickup arrows otherwise unable to be picked up.

    Maintenance notes:
    • Not pure API, calls into CraftArrow to set fromPlayer = false, but that's it
    • I did have to change the event I listen to once, while updating (from EntityShootBowEvent to ProjectileHitEvent)

    Who might be interested: anyone looking for a small and easy but useful plugin to maintain

    Feature ideas:
    • Maybe being able to precisely specify permissions for who can pickup the arrow? If you can figure it out.. instead, I did permissions on a proximity basis.

    RadioBeacon (source) - build radio towers, navigate to them using compasses
    3,451 downloads
    1,044 source lines of code

    Maintenance notes:
    • Pure Bukkit API only, no n.m.s/craftbukkit calls

    Feature ideas:
    • How about playing music through the radios? (using temporary noteblocks)
    • Look into a reported problem of antennas not tuning
    • Allow chatting through the antennas, instead of only fixed messages
    • Any features from its popular predecessor Cake's Miner Apocalypse

    Who might be interested: ams2990 (MinerAp), wickersty (Mortuus Terra), anyone interested in apocalypse/solitude servers, or radios

    QuickBench (source) - crafting without recipes
    3,228 downloads
    860 source lines of code
    Iterates all crafting recipes, determines what you can make with the items you have, and lets you click the item in an inventory window to craft it.

    Maintenance notes:
    • Uses reflection to access net.minecraft.server.CraftingManager, and to properly craft the result through CraftingRecipe aka IRecipe - requires changes each update
    • The initial version (v1) used the Bukkit API to iterate the recipes, and v2 used n.m.s.CraftingManager but had a fallback to Bukkit if it failed to reflect; v3.0.2 exclusively uses n.m.s. and has no fallbackf
    • Has built-in support for Forge ore and IndustrialCraft^2 recipes; if they change, QuickBench would have to be updated to work with them – and I hear the Forge ore dictionary is going to be reworked soon
    • Started being used by modded servers more often, since the Crafting Table III mod as of B1.8 hasn't been updated for the latest Forge 3.3.8 and IC2 v1.97, both which are supported by QuickBench 3
    • If you have to, could perhaps temporarily drop mod support, and use the Bukkit API again, or re-add the fallback mechanism – but the code has changed since v2/1, so this would not be trivial
    • To accurately support recipes, it has to call into native code (for example, a milk bucket gives back its empty container, and plugins/mods could add their own special cases to the crafting output); the Bukkit API doesn't fully support all that the native recipes support.

    Feature ideas:
    • An optional client mod to add a custom block, instead of reusing an existing block, would be nice. I started this (using a plugin to add the block on the server) but didn't complete it. Someone also asked about Spoutcraft support.
    • Maybe someone ambitious enough could enhance the Bukkit API to better support custom recipes.. so that QuickBench wouldn't need to bypass it, therefore easing maintenance.
    • Recursive crafting? But be careful of performance.
    • Improve performance when shift-clicking to craft a stack.
    • Multi-page support, clicking an item in the corner to go to the next/previous page
    • Pull items from adjacent containers (chests next to the QuickBench)

    Who might be interested: anyone who wants to save time while crafting, or anyone interested in recipes, or mods

    PotionsPlus (PotionsPlus) - unlock unused potion and potion effects
    3,145 downloads
    136 source lines of code

    This simple plugin changes the potions effects cache, to make the unused potions have real effects.

    Maintenance notes:
    • Uses reflection to change net.minecraft.server.ItemPotion.a (known in MCP as "private HashMap effectsCache"), looks in the net.minecraft.server.MobEffectList for potion effects, will break on update
    • Be mindful of the available potions; they might change between updates

    Feature ideas:
    • Make the custom potions brewable at the brewing stand (maybe best as a separate plugin, but still would be cool)
    • Make it easier to configure
    • Add an option to reload the config
    • Add dynamically configured potions, changeable in-game
    • More user suggestions in the BukkitDev page

    Who might be interested: @FriedTaco (GodPowers), nisovin @woodenddinosaur (MagicSpells), anyone who likes special effects or magic or potions

    BetterDispensers (source) - dispensers, reinvented
    2,602 downloads
    916 source lines of code

    Originally this plugin simply let you place dispensers facing up or down in (v1), but in v2 it added a bunch of features to change the dispenser behavior to allow it to transfer items through glass conduits, treat the dispenser inventory as a crafting grid and craft it (crafter), right-click the item on the block in front of it instead of ejecting it (interactor), break blocks using a tool in the dispenser (breaker), suck up items (vacuum), and more. Plus, it lets you configure all of the parameters in dispensing, including the velocity and spread of each dispensed item in the "vanilla" dispenser.

    Maintenance notes:
    • Of all my plugins, I think this would be the most difficult to maintain.
    • Makes heavy use of net.minecraft.server (70+ uses) and CraftBukkit, especially to implement the advanced dispensers
    • Uses reflection to get arrows collision detection coordinates, in order to trigger the dispenser when shot with arrows
    • Whenever the vanilla dispenser changes, you'll have to re-merge its changes with BetterDispensers to achieve feature parity (its own dispensing function is a refactored and enhanced BlockDispenser dispense).
    • Hope you're familiar with MCP..
    • Worst case, could re-release an updated 1.0 as a vertical dispensing plugin, with no other features.

    Feature ideas:
    • Develop the plugin into a complete automation system for Minecraft - v1 was done by request, but v2 is basically the beginning of my attempt of a server-only re-imagining of Buildcraft pipes or RedPower pneumatic tubes or MineFactory conveyer belts.
    • If you love those mods but not how they require client-side installation, and want to bring similar mechanisms to the masses, this plugin may be the start of the way to do it.. anything implemented in RP/BC/MFR could potentially be recast as a pure server-side plugin (with sufficient imagination).
    • Infinite water in vertical dispensing
    • Investigate and fix any dupe bugs

    Who might be interested: @Lyneria (MachinaCraft).. your plugin is a much better realization of what I had in mind for adding advanced machinery in a server-server Bukkit plugin. Maybe parts of BetterDispensers could be moved into MachinaCraft plugins? Or perhaps BetterDispensers could be developed independently.. anyone interested in machines, check it out.

    Writable (Writable) - write on paper, no chat commands required
    1,547 downloads
    635 source lines of code

    Maintenance notes:
    • Mostly only uses API, except to change the max stack size of paper
    • Stores paper ID as durability
    • Uses a state machine to control writing

    Feature ideas:
    • Figure out what do now that vanilla has writable books :)
    • Not expecting there to be much interest in this plugin with books in vanilla, but it does have some unique features, including writing with various colors of ink, and writing on a hard surface.
    • Maybe you could bind paper into a book?
    • Integration with BookWorm?

    Who might be interested: nisovin (BookWorm), anyone interested in writing on books

    RealisticChat (source) - realistic local chat
    1,301 downloads
    635 source lines of code

    Designed to be a better local chat, this plugin implements distance-based message degradation, yelling, whispering, and another advanced devices related to chat, including bullhorns, ear trumpets, walkie-talkies, and even smartphones.

    Maintenance notes:
    • Uses only Bukkit API
    • Listens to PlayerChatEvent, if it changes or is deprecated, this plugin should be updated accordingly
    • Sends encoded messages tagged with their device "source" (smartphone, and so on)

    Feature ideas:
    • Most requested feature is better compatibility with other chat plugins
    • Enhance smartphones: add call waiting, three-way calling, dropped calls in enclosed areas
    • Sonic weapons
    • Several other user-requested features on BukkitDev

    Who might be interested: wickersty (Mortuus Terra), @ cakenggt (co-dev, haven't seen you around lately man), @ feildmaster (LocalChat), anyone interested in chat or realism

    AtmosphericHeights (source) - a stratified atmosphere for your world
    612
    205 source lines of code

    Adds different properties to the world at high elevations (Y>128, 256, 512, and 1024). Features thinner air (more hunger), no air (causing suffocation), oxygen masks, cosmic rays (random chance to ignite the player), spacesuits.

    Maintenance notes:
    • Uses only Bukkit API
    • Listens to PlayerMoveEvent; be mindful of possible performance consequences

    Feature ideas:
    • Asteroids in outer space (maybe simulated by slime balls or falling sand?), which drop ores when destroyed
    • Potion for breathing in space (could use one of the unused potions, just as PotionsPlus does?)
    • Integration with WorldGuard regions
    • Some other suggestions on this thread

    Who might be interested: anyone looking to add more space-related features to the game, or adding realism

    * * *

    What to do if you're interested: Interested? Great! You don't need to ask me for permission to continue any of these plugins, you already have it per the open source licensing terms (BSD). As a first step, I'd recommend forking the plugin you're interested in on GitHub, and diving in and committing changes to your fork.

    Once you have a working updated/enhanced plugin you want to release, you are free to create your own new BukkitDev project and publish it on your own. I'm perfectly fine with this, all I ask is you please link back to the original project, and post a comment there linking to your project, to help users find the new versions. This is not strictly required by the license, you don't have to do it if you don't want to, but it would be appreciated. Anyone can do this.

    Alternatively, if you want to you can ask to takeover the original project. Obviously I'd rather not hand over the project to just anyone, but want to have some confidence it is in good hands and will be maintained well and developed competently. So if you want to takeover the original project and be added on BukkitDev as the new author, I ask you to first fork the project on GitHub, commit some useful changes, then contact me with a link to the changes and your other, published plugins – I'll consider it, and if all looks good, you can officially take the reins. But even if not, you can always fork and develop your own new project independently, no problem.

    Please don't just reply to this thread saying "hey I want to continue your plugin", read the above two paragraphs, thanks.

    When I'd like it by: Preferably before the next recommended build, but anytime after would be alright too. Again, I'm not planning on using 1.3.1 myself so I gain or lose nothing from this request; it is for other server owners or players who use or may want to use these plugins. Wish I could support them indefinitely, but alas.. putting them out there as open source, and this call for request maintainers is the best I can do right now. If no one maintains the plugins, they will go inactive, and I accept some probably will, but I hope at least the most desired plugins can find new maintainers. Thanks for considering!

    P.S.: If you're a user of these plugins (or want to be), you can discuss them here or vote in the poll for what you want most to be maintained, and maybe someone will take it up for you.
     
    arcade_droid likes this.
  2. Offline

    np98765

    It may not be important to the request, but I'd like to know why. :3
     
  3. Offline

    Tux2

    mushroomhostage since MonsterBox and SilkSpawners are so similar in features (also, for the record, the only "managed" feature in my plugin is the unset spawners, all the rest is handled by bukkit to keep it simple) it would probably be redundant for me to develop both, although, what I might do is look into how you get all the entity classes and have it so that with the right settings in my plugin it would do exactly what your plugin does, kind of like a merger of the features of your plugin into mine. That way users wouldn't lose the functionality, they would just be switching the plugin that does it, kind of like MobDisguise and DisguiseCraft. Also, your BetterDispensers plugin sounds really cool. I'll see about reaching out to my group of developers and seeing if one of them would like to continue the project. :)
     
    mushroomhostage likes this.
  4. Offline

    xGhOsTkiLLeRx

    Sad to hear that you aren't updating your plugins :(
    I'll take a look at SilkSpawners, but are busy atm, too...
    (Will post tomorrow again to tell you my result)

    Edit:
    I posted a temp update that fixes the 1 bug.
    I need to take a closer look, since you are using very much reflection and NMS...
     
  5. Offline

    mushroomhostage

    Well I don't want to derail this thread with off-topic discussion, but basically I'm just very happy with how Minecraft 1.2.5 turned out, and am looking forward to playing the game as I have it now rather than constantly updating with the latest stuff… 1.3.1 does look like a nice update, Mojang and Bukkit worked very hard on, but I'm content with 1.2.5 so I'm stepping off the update treadmill, so to speak..

    But I know a lot of other people want to stay updated, if only I could continuously maintain the plugins for them indefinitely, but there's only so many hours in the day :(. Instead, next best thing I can do, I'm putting out this call for new developers in case anyone else who has an interest in using or developing the plugins can take better care of it. :).

    Cool thanks, that sounds like a great plan to me. The features in SilkSpawners do seem like a perfect match for incorporating into MonsterBox. I admit I haven't tried your plugin yet, but, if it can subsume the functionality of SilkSpawners so that servers wouldn't need to run both, seems like a win/win to me.

    Awesome, I was least optimistic about finding someone to continue BetterDispensers of all the plugins, given its complexity, would be glad to here if someone is up for it. I think this plugin has a lot of unrealized potential.

    Nice, thanks for this! Wouldn't mind adding you as the new author, if you're alright with it. And even if Tux integrates the functionality of SilkSpawners into MonsterBox, I think each plugins could still fulfill their own niche, wouldn't be a bad thing for there to be multiple choices in plugins to choose from.


    Anyone interested in any of the other plugins?
     
  6. Offline

    xGhOsTkiLLeRx

    Please transfer PickupArrows at BukkitDev to me :)

    I'm still thinking about SilkSpawners...
     
  7. Offline

    mstiles92

    I would be interested in taking over Chestpack. I have forked the project, poked around in the code, and I feel very confident I will be able to keep it up to date for future updates. Let me know if you'd like to transfer the BukkitDev page to me, or if you have any questions for me.
     
  8. Offline

    mushroomhostage

    Done. If you figured out the SilkSpawners obfuscated field change, I think PickupArrows should be a piece of cake. All yours :).

    Reviewed your changes, looks good to me (never got a chance to learn Eclipse). I've transferred ownership of Chestpack to you, take care :).


    Anyone interested in any more of the other plugins?
     
  9. Offline

    bobacadodl

    I want to completely remake EnchantMore, as I use it on my server and I love the concept. There are a bit too many features and I might trim it down a bit to make it less intensive. I'm not 100% sure if I have enough time though. Still thinking about it.

    I personally love updates. Whenever one comes out it makes me less bored of minecraft :)
     
  10. Offline

    NinjaW0lf

    I might be interested in taking over radiobeacon and RealisticChat. But i haven't looked at the source yet, but i'm fairly certain i could handle it.
     
  11. Offline

    xGhOsTkiLLeRx

    I can't let SilkSpawners die!
    Would you transfer the ownership to me, too? :)
     
  12. Offline

    mushroomhostage

    Sounds like it would be amazing, I think EnchantMore certainly could use a remake. It sort of evolved into thousands of lines of code over time, without a very structured design. I did refactor some parts of the code, so adding features like permissions support may not be as difficult, but on the other hand it could still use some major reworking.

    Oh I love updates too, just not waiting for mods to update afterwards :)

    OK, if you take a look at it and try making some changes to get a feel for the code, let me know how it works out.. if you haven't looked at the code, you may be in for a surprise, I have a not very conventional coding style, putting everything all into one file, as I'm not too experienced with Java. I'm checking with two other developers for potentially taking over RadioBeacon, but have not had anyone else interested in doing RealisticChat. Would be nice for it to have a new author too :) Of course, if anyone takes over any of these plugins, you're still free to develop them as well.

    Done! I see you've fixed the XP duping, now that vanilla drops its own XP when mining, nice. All yours now. One request, if you could bump the major version of the plugin, so I could still refer others still on 1.2.5 to use SilkSpawners v2 (many mods have not yet updated, but SilkSpawners has very good mod support). Thanks!


    Anyone else interested in any of the other plugins?
     
  13. Offline

    NinjaW0lf

    yea, i looked at the github and i feel confident about realisticChat, I'm still thinking about RadioBeacon.
    I might remake RealisticChat to be more my coding Style, not a big fan of all the code in one file, unless a very small plugin. :D

    Ill get back to you probably this weekend after i fork it and play around wiht it.
     
  14. Offline

    Synaps3

    I'm also interested in making a fork on EnchantMore, mostly just to keep it up to date as is. I guess I'll try to set up something with bobacadodl on a somewhat open forum for bugfixes to be checked in without too much oversight. It may not result in the level of quality we want but it will be better than nothing at all.
     
  15. Offline

    bobacadodl

  16. Offline

    mstiles92

    Thanks, great to hear! (Sorry for the late reply - been away on vacation)

    I am also thinking about taking over QuickBench. Love the idea, would hate to see it die. I'll look at the source code tonight and I'll let you know if I am up to it.
     
  17. Offline

    bobacadodl

    mushroomhostage Its been a while. Are you going to transfer it to me or not? :eek:
     
  18. Offline

    mushroomhostage

    Sorry bobacadodl I missed your message for some reason.. but have now transferred ownership of EnchantMore to you :). Enjoy. Synaps3 I also added you to the project, I'll leave it between you guys to decide how exactly to develop it, whether separate forks or together, up to you.

    mstiles92 think you're up for QuickBench? This plugin is in high-demand for updating =)


    So here's the plugins I've transferred over so far: SilkSpawners, EnchantMore, Chestpack, PickupArrows, RadioBeacon.

    There's been some interest but no takers for QuickBench, PotionsPlus, BetterDispensers, Writable, RealisticChat, AtmosphericHeights. Anyone?
     
  19. Offline

    DarkSynopsis

    Awww I hope someone manages to take over QuickBench! I never got around to using it in 1.2.5 since I went through the hassle of using CraftingTable III before I found out about it and would love to have it on 1.3.1!
     
  20. Offline

    Intrepid5

    That would be great mstiles92! My players love QuickBench (as well as ChestPack).
     
  21. Offline

    RingOfStorms

    Well I am attempting to make a new plugin that resembles quickbench, but will have quite a few different features that I think will be a good addition. It is slow going as I am having trouble figuring out how the craftable items from the inventory, so am going to try and tackle that down.
     
  22. Offline

    mushroomhostage

    Hey I got your PM about this, but might as well reply here in case anyone else wants to take a shot at it too. Yeah QuickBench's code can be somewhat hard to follow.. bad habit of making one huge file :). But its actually doing a lot, in order to perform accurate crafting and support all different types of recipes.

    I get the craftable items given the player inventory in precraft(), which iterates through all of the crafting recipes and checks whether each can be crafted using the given inputs (recipe.canCraft()). If so, it adds a "PrecraftedResult" to the returned list, if the crafting output is not already known to be craftable (unless quickBench.showOtherRoutes is true).

    The PrecraftedResult object stores everything needed to craft the item when clicked by the player in the QuickBench. It includes three things: 1. The computed recipe output. Crucially, this may differ from the fixed "matched" recipe output, that is, the output returned by Bukkit's Recipe wrapper getResult(). The computed output is dynamically determined from the inputs. Bukkit's API doesn't have any way to express this notation so QuickBench has to call into net.minecraft.server.CraftingRecipe (aka IRecipe in MCP), into the method known as "getCraftingResult" in MCP (but obfuscated in CraftBukkit). If this isn't done, not all recipes will craft properly. 2. The complete player inventory, what other items they have after they would have crafted the item. This of course is the original inventory with the recipe ingredients subtracted from it. 3. The inventory crafting grid, representing the 3x3 space the player would see if they have a crafting table open. QuickBench actually places the recipe inputs into this "virtual" crafting grid, then asks Minecraft to craft from it itself.

    That's the basic "precraft" algorithm, executed when a player opens a QuickBench and is shown everything they can craft. The "postcraft" operation, executed when the player clicks an item they want to craft, is simpler but has some subtleties. The slot they clicked is looked up into a PrecraftedResult, which is passed to postcraft() to run the crafting recipe – using what MCP calls onPickupFromSlot (but obfuscated in CraftBukkit) in net.minecraft.server.SlotResult. onPickupFromSlot updates the crafting grid, taking items away, but - this is important - possibly leaving or altering the inputs remaining. For example, the cake crafting recipe replaces milk buckets with their "container item", an empty bucket. If this is not taken into consideration, players will lose items when crafting certain recipes.

    If this seems complicated, it is – but necessarily so, to properly support some of the more exotic recipes while working around the limitations of Bukkit API. This could be fixed by enhancing Bukkit's recipe API and if anyone wants to do this and submit a pull request that would be awesome. But until then QuickBench, or any plugin that wants to support custom modded recipes (IC2 electric items, RedPower drawplate/woolcard, any Forge ore recipes, anything with custom NBT), has to bypass the API.

    But if you don't care about mods or cake its fairly easy to write a plugin similar to QuickBench 3. For a simpler yet less compatible approach check out QuickBench version 1, this older code, which does use the Bukkit recipe API – including getRecipesFor() and recipeIterator(), before I knew about their limitations.
     
  23. Offline

    RingOfStorms

    @mushroomhostage
    Well I have explored some more and have gotten a bit of help on the IRC and have made it using bukkit recipe stuff, I am going to make a plugin with just that to start with, separate from yours. It will have some different features I want to add (like auto formatting size of the bench so it fits everything correctly), and some more configurable things.

    Edit: with my version I am getting quite a few bugs so I may look at your code and combine different methods that I've seen, I can't get the window to "flow" and continue to be able to be clicked.
     
  24. Offline

    RingOfStorms

    AT everyone here, I have a working beta build that I am going to up to bukkitDev, for the most parts there aren't many glitches, and I haven't tested perms yet. The config will look similar to @mushroomhostage and there are some addition things that aren't added in yet.

    Once it is approved I will edit this post, it will be called CraftingPlus

    EDIT:
    DarkSynopsis
    Intrepid5
    mushroomhostage
    mstiles92

    The plugin is in experiment stage but you can still download it and use it. Please post any bugs you have with it!
    http://dev.bukkit.org/media/files/620/706/CraftingPlus.jar
     
  25. Offline

    mushroomhostage

    Thanks RingOfStorms, your plugin CraftingPlus does look like a suitable replacement for those wanting QuickBench 1.3+ in most cases. I have linked to it from the QuickBench project page.

    Found new owners for PotionsPlus and RealisticChat.

    That's most of the plugins. Note that all are open source so anyone can fork the plugins even if they already have new owners. However, there's still a couple available for taking over:

    Anyone up for continuing any of these?
     
  26. Offline

    Intrepid5

    Thanks RingOfStorms, it's working with CraftBukkit/Minecraft 1.3.2.
     
  27. Offline

    turtlelover111

    Hi I Was Wondering If I Could Take Over QuikBench?
     
  28. Offline

    RingOfStorms

  29. Offline

    turtlelover111

    @ RingOfStorms , If Youre Developing It Than No Im Ok, It Was Listed On The Non Taken Over Ones
     
  30. Offline

    MYCRAFTisbest

    it isn't official, plus i tried to take over quickbench. It isn't worth it.
     

Share This Page