Inactive [MECH] EfficiencyExpert v2.0 - Makes Minecraft More Efficient [1.0.1-R1]

Discussion in 'Inactive/Unsupported Plugins' started by mathmaniac43, Jul 18, 2011.

  1. Offline

    mathmaniac43

    EfficiencyExpert - Your Expert on Efficiency!
    v2.0

    Download EfficiencyExpert.jar -
    http://dl.dropbox.com/u/15385447/EfficiencyExpert%202.0/EfficiencyExpert.jar

    Download Source:
    http://dl.dropbox.com/u/15385447/EfficiencyExpert 2.0/EEPlayer.java
    http://dl.dropbox.com/u/15385447/EfficiencyExpert 2.0/EfficiencyExpert.java
    http://dl.dropbox.com/u/15385447/EfficiencyExpert 2.0/EfficiencyExpertPlayerListener.java
    http://dl.dropbox.com/u/15385447/EfficiencyExpert 2.0/plugin.yml
    http://dl.dropbox.com/u/15385447/EfficiencyExpert 2.0/README.txt

    Video Demonstration of EfficiencyExpert 1.0, Courtesy of Tahkeh:



    Explanation:

    Through my Minecrafting career, I have built, explored, destroyed, and been lost countless times. But all of those things have one thing in common: they take time. Hours can be spent wandering around, or collecting supplies, or building structures. Introducing a plugin designed to try and make everything just a little bit faster: EfficiencyExpert (EE).

    The basis of this plugin struck me as a simple inspiration: it takes a lot of time to shuffle things around in your inventory. So, at first, I made it a plugin that automatically chooses the tools you use, based on the blocks in front of you, with some options attached to it. This is the basis for the plugin, but you can bet that there'll be updates in the future. My goal is to make certain simple tasks vanish for the players.

    Straight from the README:

    ##############################
    EfficiencyExpert - Version 2.0
    ##############################

    ------------------------------
    Introduction
    ------------------------------

    It's here! It's here! At long last, I've made the final updates and changes for EE 2.0. There will almost certainly be glitches, unsupported blocks/materials, and

    other necessary fixes to things I missed, so please just let me know if you find an issue, and bear with me as I work to fix it.

    ------------------------------
    Changelog
    ------------------------------

    [v1.0]
    - Automatic tool selection, with commands
    - Individualized EE data files, per player
    - Permissions support

    [v1.0.01]
    - Code made prettier (with help from @cholo7179)
    - Code made more efficient (with guidance from @The_Guest)
    - Command formatting changed (@cholo7179)
    - General multi-platform support and stability slightly improved (minor code additions from @cholo7179)

    [v2.0]
    - In-Game Content:
    o Auto-sword option (draw sword when living entities are nearby)
    o Auto-bucket option (draw bucket when looking at liquids)
    o Auto-minecart option (draw minecart when looking at minecart tracks)
    o Auto-flint-and-steel option (draw flint-and-steel when looking at Netherrack)
    o Auto-special-tools option (draw buckets when looking at cows, flint-and-steel when looking at pigs, and shears when looking at sheep)
    o Auto-wear-armor option (self-explanatory; wears strongest (and most-used) armor first)
    o Hot-bar slot option (when used, EE will switch any items in the slot while looking for the appropriate tool; all other slots will be completely ignored)
    o Auto-create-arrows option (if you're holding a workbench, feather(s), stick(s), and flint, EE will automatically convert them to arrows up to a maximum limit defaulted at 64 arrows. The conversion from raw materials to arrows is exactly the same as if you were to craft them manually.
    o Auto-stack-inventory option (automatically condenses inventory items to as few slots as possible)
    - Under the Hood:
    o Logical operations (generally) re-organized for more efficient short-circuit evaluation
    o Totally new, expanded, and improved save-file formatting - BE SURE TO GET RID OF YOUR OLD FILES, AND UPDATE WITH THE NEW FORMAT
    o Default save-file system as EEDefaultProperties.dat (automatically generated by EE when server is run; once created, file can be modified as a custom default for all new players on the server)
    o A lot of miscellaneous failsafes for file loading and saving
    o Tons of new commands for setting customization
    o Generally optimized code

    ------------------------------
    Commands
    ------------------------------

    There are a LOT of commands - but don't feel overwhelmed. Most of them are very straightforward to understand and remember, and are formatted in a manner based on what

    you see when you type the command "/ee status".

    [boolean] denotes a need for a true/false value
    [integer] denotes a need for a whole number value
    [tool] denotes a need for a tool name (axe, pickaxe, spade, hoe, or sword)

    Commands with an asteric (*) after them are only useable by OP's; all others can be used by anyone with EfficiencyExpert permission ("efficiencyexpert.*").

    /ee on

    /ee off

    /ee status

    /ee save

    /ee saveAll *

    /ee toDefault

    /ee toDefaultAll *

    /ee resetDefault *

    /ee setAsDefault *

    /ee active [boolean]

    /ee chooseTools [boolean]

    /ee efficient [boolean]

    /ee useAxes [boolean]

    /ee usePickaxes [boolean]

    /ee useSpades [boolean]

    /ee useHoes [boolean]

    /ee useSwords [boolean]

    /ee useWoodTools [boolean]

    /ee useStoneTools [boolean]

    /ee useIronTools [boolean]

    /ee useDiamondTools [boolean]

    /ee useGoldTools [boolean]

    /ee useShears [boolean]

    /ee useBuckets [boolean]

    /ee useMinecarts [boolean]

    /ee useFlintAndSteel [boolean]

    /ee useSpecialTools [boolean]

    /ee autoStackInventory [boolean]

    /ee autoWearArmor [boolean]

    /ee autoCreateArrows [boolean]

    /ee autoCreateArrowsMax [integer]

    /ee useHotBarSlot [boolean]

    /ee hotBarSlot [integer]

    /ee useWoodTools [tool] [boolean]

    /ee useStoneTools [tool] [boolean]

    /ee useIronTools [tool] [boolean]

    /ee useDiamondTools [tool] [boolean]

    /ee useGoldTools [tool] [boolean]

    ------------------------------
    Upcoming Features
    ------------------------------

    - Option to draw a torch when in a certain light level
    - Default items (if you have this item, automatically set it in a specified inventory slot, such as torches to hotbar slot 9)

    ------------------------------
    Conclusion
    ------------------------------

    So that's it! I've done a lot, and have some more to do, but it's mostly on you, the community, to give your feedback and ideas for EE to move forward further.

    Thanks for the support!

    Your Friend in Minecraft,
    mathmaniac43

    Special Thanks:
    • Thanks most of all to my friend @Tahkeh, who intermittently helped me learn how to code plugins, do small bits of coding, and debug this entire plugin, all within 4 days (check out his plugin, LoginMessage)
    • Thanks also to my other friend @pop2012, who helped me debug for about 10 minutes once
    • Thanks to @cholo7179 for cleaning up a little bit of code for me. It's now slightly prettier (I plan on further improving it on the next update), and is potentially more friendly to other OS's (I am a Windows guy myself)
     
  2. Offline

    cholo71796

    Nice- I'm planning on pulling if you don't mind
     
  3. Offline

    mathmaniac43

    Feel free =D I'm really new to GitHub (as in, the past 20 minutes), so I apologize in advance if anything I do makes you cringe XD
     
  4. Offline

    mugabuga

    I've got some bugs to report. First of all, if I have sand in my hand and I look at sand, it switches the second toolbar slot to my shovel instead of the first (the one I'm using), then, after I switch to the shovel, it puts it in the first inventory slot and gives me the sand again. It's nice, but a bit too buggy for my tastes right now. Release a fix for this bug and it will be awesome.
     
  5. Offline

    mathmaniac43

    I just tested the situation that you said, and I didn't have the same issue that you did. I'm not sure why this is the case. I will repost the EfficiencyExpert.jar file to GitHub to make sure it's exactly the same as the one that I have (the functional one). Please keep me posted on whether or not that helps. If it's a recurring issue, and you have the ability, please try to send me videos or screen shots of the situation. Thanks for the feedback.

    Edit: I just tested EE.jar from GitHub; I literally deleted it from my server's plugin folder and downloaded the copy from the internet directly into the folder. It worked like a charm, for me.
     
  6. Offline

    cholo71796

    @mathmaniac43
    A better way to do the downloads in GitHub is to go up to the big Downloads button, click on it, and then press the "add a new download" button. Then you can add the jar directly-- and copy the link to the download directly
     
  7. Offline

    mathmaniac43

    thanks for the info, that sounds way easier!
     
  8. Offline

    cholo71796

    @mathmaniac43
    You use the break keyword outside of loops- what is your intent in those situations? You also have many blank if statements and then an "else"- is your intent to only run the code in the else bracket if the if statements are false? Or is there something special there
     
  9. Offline

    mathmaniac43

    I glanced through the code, and I didn't see any "break" statements outside of any loops; I actually doubt if that's syntactically possible.

    As for the "if" statements, I did that for simplicity; it's actually rather bad programming style. I've collaborated somewhat with @The_Guest about that, and I intend on improving code quality and efficiency on the next update. The update should be MUCH easier to understand, and even if it's not, it WILL be more efficient (even if it's not that significant), so look forward to that. =D
     
  10. Offline

    cholo71796

  11. Offline

    mathmaniac43

    OK, I'm just gonna say it: you rock. Simple changes, but changes that can have a significant impact on compatibility, plus it just looks nicer. Thank you!
     
  12. Offline

    cholo71796

    No problem! I even learned a little myself- that was my first pull request!

    EDIT: Oh, and if you haven't already, you'll probably want to clone your repo and build the plugin again to upload the new JAR
     
  13. Offline

    RustyDagger

    You sir are wrong I have been around SMP since it came out and my server is running superperms based system with permissionsbukkit dev build the dev build fixes the multiworld permissions problem (permissions were being shared)
    so far iv had 0 issues with the system and it is far simpler than permissions 3 for me to maintain just 1 single file nice and easy.

    @mathmaniac43 glad you liked it :D nothing but the truth granted chat formatting is a tad more complex now but its not that bad. i cant see why people hate the new system so much.... far less work for dev's that are making new plugins.
    I'm thinking of tackling my first ever plugin later today :D and because of the new system it will have permissions support :D. its better for people that are new to java. so yer i'm going to defend the system at every chance I get.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
    mathmaniac43 likes this.
  14. Offline

    mathmaniac43

    Good for you! I too am a fan of the integrated Permissions system (I have defended it before). It's primitive, but that's where it gets its simplistic strength and the ability to be used universally. Plus, people can choose whatever Permissions plugin they want to use, as long as it's compatible. Bliss!
     
  15. Offline

    Slugslug

    humm I seem to be having trouble do I need more than just the .jar file?

    edit ~ think I just needed server restart

    Can someone supply a version that works with Permissions plugin?

    It would also be nice if it supported the server reload command

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  16. Offline

    mathmaniac43

    Which Permissions plugin are you referring to? EE works with any Permissions plugin that supports Bukkit's built-in permissions system, such as PermissionsBukkit.

    Also, what do you mean by it supporting the reload command? Because when the reload command is sent in, the plugin shuts down and starts back up automatically, as it should.
     
  17. Offline

    Slugslug

    how do I know what permissions plug in I have? pretty sure when I started there was only one..

    /permissions gives me 2.7.4 phoenix

    by /reload I mean ; each time I do a /reload from command EE errors out with
    masses of

    [SEVERE] Could not pass event PLAYER_MOVE to EfficiencyExpert
    java.lang.NullPointerException
    at mathmaniac43.efficiencyexpert.EfficiencyExpertPlayerListener.go(EfficiencyExpertPlayerListener.java:196)
    at mathmaniac43.efficiencyexpert.EfficiencyExpertPlayerListener.onPlayerMove(EfficiencyExpertPlayerListener.java:182)
    at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:286)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:164)
    at net.minecraft.server.Packet10Flying.a(SourceFile:126)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    until I restart server.


    I'd like everyone to have access to this if that helps permissions?
     
  18. Offline

    mathmaniac43

    The error that you're getting is very strange. I just re-downloaded EfficiencyExpert.jar from GitHub and tested it, and got no such errors. I also tried reloading, and still got no errors. I would try redownloading the .jar file and see if that somehow helps.

    As for Permissions, there are now many different plugins that can be used. This is my recommendation: http://forums.bukkit.org/threads/ad...-groups-plugin-1000.26785/page-24#post-559850. If you want to try another one, feel free, but it will not work with EfficiencyExpert unless it supports Bukkit's built-in permissions (aka Superperms).

    Good luck. Read through some past postings if you have more problems, and post again if you can't fix it.
     
  19. Offline

    Slugslug

    Am not ready for bukkit's own permissions yet, is it poss you can do a fork that is available to all users on server? (IE No permissions at all)
     
  20. Offline

    mathmaniac43

    Yeah, I'm planning on having that in a future update. Otherwise, anyone whose an Admin can automatically use it.

    OK, I honestly have no idea how to use GitHub <_< I never wanna use that command prompt thing again. You DID show me that online downloads button, which helped. But, I can't figure out how to download the changed file that you made, and I also can't figure out how to re-upload it to replace the old file. Any help you could give me would be fantastic =D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  21. Offline

    cholo71796

    On the producer end of GitHub, it does indeed suck. I use this software. To get the repo on your computer to match the one on the internet, go to "Project..." > "Clone..." and copy the read-only link that you can see in your online repo. I'd be glad to help you further through PM/on Skype
     
  22. Offline

    Zachary_

    You sir, seem like a pretty cool guy.

    I look forward to seeing how your plugins improve.
    Good luck with the gui yml client by the way!
     
    mathmaniac43 likes this.
  23. Offline

    mathmaniac43

    You, sir, are a scholar and a gentleman. It took about 45 minutes to figure it all out, but I now have my GitHub account organized well enough through the use of Smart Git. All of the files are updated (nothing new added, just the changes that you had already made), uploaded, and neat and tidy. Thanks for all the help! =D
     
    cholo71796 likes this.
  24. Offline

    Bdl2

    I've really been looking at this plugin a lot lately... While I don't like the idea of forcing my players to use certain items, I do like the concept behind this... Fine, I give in, I'll give it a try. x3;;
     
    mathmaniac43 likes this.
  25. Offline

    mathmaniac43

    The beauty of it is, you can totally shut it off like it's not even there, and bring it back whenever you want to =D And more customization in the future will make it increasingly adaptable. I can't wait to get going on that.
     
  26. Offline

    ariennex

    This! I have been tinkering with it a bit, and I really like it. I would really love to see the use only one hotbar slot though.

    I would also like to see a few customization options too, such as blacklisting tools. When I'm using my shears, personally, I have to disable this because it constantly tries to switch to a shovel or something.
     
    mathmaniac43 likes this.
  27. Offline

    NEO

  28. Offline

    OmagaIII

    Hi, love this Plugin! Would like to know if you have this for single player as well? Or maybe someone on here knows a mod for single player that works the same. Thanks guys =)
     
  29. Offline

    mathmaniac43

    I'm not sure why that would be happening. I remember that you said you wanted to convert the EE source to support a Permissions plugin, so possibly modifying the code somehow broke it. But, I have not had any issues myself with the vanilla plugin. Perhaps redownloading and trying the .jar would help. If not, I'll try to help you out.

    Sorry, but I, at least, haven't the support for single player. =\ The best way I can suggest to you to use it would be to set up a private local server for yourself, that runs your single player level. Sorry! If someone wanted to convert it to a mod, though, that would be cool =D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  30. Offline

    Pythros

    iConomy support? Lets say, it costs to turn it on and/or the cost to use it for X amount of time.
     
  31. Offline

    mathmaniac43

    I'll consider it, sure! I'm not sure how to make my plugin compatible with iConomy, but I can do some research. That's a very interesting idea. =D
     
    gameswereus likes this.

Share This Page