[EDIT]Pixl - The all-in-one Creative helper that is going next gen! [1337+]

Discussion in 'Inactive/Unsupported Plugins' started by Jacob Litewski, Mar 1, 2011.

  1. Offline

    Jacob Litewski

    Pixl
    (1.5+ Download)(current version: 1.7.2) (687-1000) (NOTE: REPLACE NewPixl.jar WITH Pixl-1.7.jar!)
    (https://github.com/HACKhalo2/Pixl) (Github)

    Pixl officially supports Permissions!

    Pixl (pronounced "Pixel") is a simplistic Creative tool aimed for the pixel artists and massive project builders of Minecraft. It's so simple, it only does one thing: change the data value of certain blocks.

    Now, to use PixlArt, all you need to do is type /pixl in-game. After you activate Pixl, you can right click Wool, Logs, Half and Double Half Steps, and Leaves to cycle through the different textures of that block. Pretty nifty, eh? And since Version 1.2, you can rotate Cobblestone and Wooden Stairs, AND you can hard set the value to color the wool with /pixl set <value>! Pixl 1.3 allows you to change the Sponge block into fences, so now Sponges have a second use! And for you Creative Servers that dislike the fact that Superpick doesn't log anything, Pixl now has PixlBreak. PixlBreak, toggled on by /pixl break, will automatically turn off PixlArt and turn on PixlBreak (if you have the "pixl.admin" permission). PixlBreak will check to make sure you can break a block first (if worldguard is installed and configured), and if you can, it'll log it and destroy it for you, naturally dropping the block.

    Also, Pixl has Permissions support, with Op.txt fallback if Permissions isn't found. If you give trusted groups/users the pixl.use permission, they will be able to activate and use Pixl. Anyone in Op.txt will have automatic usage of Pixl if permissions isn't found of cannot be hooked into. Admins should have the pixl.admin permission for future use.

    Screenshot of Pixl 1.3 Alpha2 hooked with Help and Permissions
    [​IMG]

    Picture of NiveousKitten's Chopper on Discovr.us
    [​IMG]

    Version 1.0: Release
    Version 1.1:
    - added commands!
    -- /pixl | Shows help
    -- /pixl version | more detailed version information
    -- /pixl toggle | toggles the command on and off
    - tweaked the code a little
    Version 1.2:
    - added more commands!
    -- /pixl set <value> | Hard set wool value
    -- /pixl clear | clear out the hard-set value
    - optimized code
    - added stair support
    - add in some idiot-proofing
    Version 1.3:
    - new functionality added! Sponge -> Fence!
    - officially supports (as in tested and made sure it works correctly) Permissions, GM, and the Help Plugin
    - fixed a LOT of typos
    - fixed a stupid bug in my Permissions check
    Version 1.4: (MC 1.3, Legacy Support, not maintained)
    - includes Source Code! (need to add the GPL license and GitHub Information before 1.5 Release)
    - re-factored how Pixl hooks into other plugins
    - added hackish support for logging and WorldGuard (or other protection plugins that monitor Block Breaks)
    Version 1.5: (Supported)
    - mostly Refactored, depreciated PixlBlock
    - added support for color names (red, lightblue, etc)
    - rewrote the commandlistener to natively support console commands in the future
    - partly optimized code
    Version 1.7: (for MC 1.4 - 1.7, Supported)
    - refactored the package name from hackhalo2.creative.Pixl to com.hackhalo2.creative to reflect my domain name (which currently has nothing on it since I can't forward port 80 on a residential connection)
    - tweaked the color names to be more reasonable (darkgreen to green, etc)
    - added support for tall grass and saplings
    Version 1.7.2: (for MC 1.4 - 1.7, Supported)
    - refactored the commands. /pixl now toggles pixl on and off, and /pixl help is the help command
    - added /pixl break. In all basic aspects, It's superpick with logging. Anyone with the "pixl.admin' permission can use it.
    - removed Help support for the time being
    - reformatted setup from eclipse .jar to Maven compile. YOU NEED BUKKIT AND PERMISSIONS INSTALLED IN MAVEN TO COMPILE
    Bugs:
    - Reloading plugins disables pixl for everyone. I need to figure a way to keep settings until Persistence comes out.
     
  2. Offline

    Uniltiranyu

    for a 8-bit converter you could make a image into a .schematic and place it in worldedits schematic folder
    Code:
    (your drive):/(your folders)/Bukkit/schematics
    oh and first

    so what i see is that you can rightclick to change blocks?
     
  3. Offline

    Jacob Litewski

    Yep. I got tired of misplacing blocks or putting down the wrong color, so I thought about how to make it easier. Being able to change the block with a click made it easy, so that's what I did.

    It's so simple it's madness!

    Also, sorry for the Derp that was my first post, it was 5am yesterday and I was drunk so it sounded good to me :D
     
  4. Offline

    TnT

  5. Offline

    Jacob Litewski

    I updated Pixl to 1.2 Beta. I added Stair support and optimized the Permissions check code (it was originally 12 lines in three places, now it's 5 lines in one place). I'm also working out a way to keep the code from rapid firing the method to change values (currently having the method synchronized helped a little), and I need to have testers test holding the right mouse button on on block with others holding the right mouse button on the same block. I don't think that it'll crash clients or servers (I tested it on my wireless laptop with five people including myself and it didn't crash anything)

    Tell me what you think!
    --- merged: Mar 3, 2011 6:20 AM ---
    Idiot proofed the /pixl set <value> command. I forgot to check to make sure that the supplied value didn't go over 15 or under 0. I'm going to work on making sure the console isn't being passed as a Player like it currently is tomorrow and look into how synchronization works in Java to see if I can't at least limit any possible race condition that may occur.
    --- merged: Mar 4, 2011 6:13 AM ---
    Version 1.2 checks to make sure that the player is passing the command and not the console until I retrofit console command support (which would be cool). I also attempted to control the Right Click problem I theorize could happen by synchronize locking the onRightClick code (I believe that's the right terms, not sure though). I'm going to try out a couple of different things tomorrow to see what can take more stress without crashing the server or client and implement that, but this is a lot better then having it fire continuously.

    Enjoy!
    --- merged: Mar 5, 2011 4:32 PM ---
    Updated to 1.3 Beta. All this update does is make sure it supports both GroupManager (with FakePermissions) and Permissions without problems. I also added in the hooking process for tkelly's Help Plugin, since that's so flipping brilliant.

    I also started working on overhualing the onCommand part of the code, since I can't just hack in console support to the current code (hence the 'Beta' tag). Hopefully the new code will be a lot more efficient and more console frendly.

    Also, thank you for Plugin Dev! That put a huge smile on my face and made my day! You guys rock!
    --- merged: Mar 6, 2011 3:02 AM ---
    Quick fix in Beta2, Eclipse screwed up my Permissions check (set true -> false in the toggle command) and was saying you didn't have permissions at all. It should work correctly now. Sorry about that!
     
  6. Offline

    Jacob Litewski

    Pixl supports the newest recommended build. I haven't gotten around to refactoring it yet because I've been helping the admins over at Discovr.us get some plugins working. Pixl 1.3 should be out sometime soon.
     
  7. Offline

    Jacob Litewski

    FINALLY released Pixl 1.3. The only noticeable difference is the Sponge to fence conversion, an idea that the Discovr.us admins thought of! Thanks you guys! :D
     
  8. Offline

    Jacob Litewski

    Just as a note, Pixl 1.4, which should be released sometime today or tomorrow, will be the last version to support Build #557 and Minecraft 1.3, since Minecraft 1.4 is almost out and I cannot keep support for any build after #561 due to the renaming of events. I'm going to release Pixl 1.5 Alpha1 alongside 1.4 so people with bleeding edge servers can use it.
     
  9. Offline

    Jacob Litewski

    Updated to 1.4 and 1.5 Alpha1 respectively. Version 1.5 will support the first Promoted Craftbukkit for Minecraft 1.4, where Version 1.4 will support Minecraft 1.3 until all the servers switch over to Minecraft 1.4. Yea, it's complicated, but it works.

    Version 1.4 redoes how Pixl hooks into plugins. Before, it was forcing Permissions to enable if it wasn't, and that's really not smart, especially with all the changes Craftbukkit is going through now. It also a lot easier to add new hooks if I need to, and Pixl can now change settings on the fly if the Help or Permissions Plugins suddenly get disabled (yay Booleans!).

    1.4 also has some hackish, but working, detections for loggers and protection plugins. Both pg.discovr.us and discovr.us were using Pixl, and people noticed that, even in a WorldGuard protected area, Pixl was changing blocks. It now throws a BlockBreakEvent and checks to see if it has been cancelled before changing the block. It also throws BlockPlaceEvent after it does change the block so loggers can log the change.

    Also, I figured out how to package the source in the JAR, so you can tinker with it. I'm going to set up a GitHub for it in the next couple of days.

    Enjoy!
     
  10. Offline

    Jacob Litewski

    1.5 Beta1 is out. Most of the rewriting for the new Bukkit API is done, still need to do some tweaking, but just as long as it doesn't change again in the future, Pixl should support all future versions of Craftbukkit *knocks on wood*

    And the set command now supports color names! AND it's not hacked in! Color names can't have spaces in them (yet, but that would require some more rewritting, and I'm getting tired of it :p ) but they follow the naming guidelines that Mojang has (minus the spaces of course, and the purple error block)

    Also, it seems like I'm talking to myself :eek:
     
  11. Offline

    Taeir

    great plugin, thanx
     
  12. Offline

    Flipp

    Hi, very nice plugin. But it doesn´t work for me. Seems like another plugin already uses the Rightclick, or I don´t really know. Since the update to 617 some thing´s are working not sooo good. I have all rights ('*', op...) I also added the commands, just to be sure. I can toggle Pixl on/off, but nothing happens. Maybe in future you could make it like some other Plugins, in which you have to hold a choosable Tool in your Hand. I don´t really know, if that could solve my Problem. I don´t understand a lot of Code, so it was just a Idea, thanks for making creative Plugins anyway. Ah now I see, there is a error, maybe you understand it... (I think, i clicked on a red wool block)
    2011-04-02 20:57:19 [SEVERE] Could not pass event PLAYER_INTERACT to Pixl
    java.lang.ArrayIndexOutOfBoundsException: 17
    at hackhalo2.creative.Pixl.PixlPlayer$detect.Block(PixlPlayer.java:24)
    at hackhalo2.creative.Pixl.PixlPlayer.onPlayerInteract(PixlPlayer.java:37)
    at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:217)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
    at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:207)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:447)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
     
  13. Offline

    Skirmisher

    Pixl doesn't work with 617 yet. And for future reference, enclose errors/any console output in code tags.

    To the OP: Nice plugin! I use it on my server and it's helpful for getting a different type of block when you spawn blocks, but are unable to specify their data value.
     
  14. Offline

    Jacob Litewski

    Huh, that's weird. This may be a Bukkit error, because line 24 of PixlPlayer is
    Code:
    public Material Type(Block b) { return b.getType(); }
    I'm going to do some testing and see if I can cause it to throw that printstack. I'll update this post when I figure out what's causing it.

    EDIT:
    Fixed the bug and released Pixl 1.5. Apparently I still need to figure out how to use java xD. Please see the OP for Github info :D
     
  15. Offline

    Jacob Litewski

    Status update, Pixl is still going strong. I really haven't found too much to add to it, and so far it's been working without updates for newer craftbukkit versions :D

    Anyways, what I hopefully should have done soon:
    - push the pixlart class into it's own thread
    - add more admin commands (like enable/disable for players)
    - other tweaks and improvements

    What I would like to know from you is, what would you like to see in Pixl?
     
  16. Offline

    eleljrk

    Since you generally write in this thread without feedback, I guess one post couldn't hurt my fingers to write.
    This plugin is geniously simple, yet advance. I've used it for a while on my private server /w friends, everybody seems to use it.. (Most of my friends find it simpler to toggle trough items rather than type /i 35 -1 name 3 (for example), which makes this plugin useful..!)

    I don't have a single bug or missing feature to report back. It's perhaps a finished plugin, in many ways.

    Thanks for spending your time developing useful stuff for the Open Source / Free community..

    :)
     
  17. Offline

    Tulips

    noooo not 687 compattable :( 687 is 1.3 version minecraft i even got it 1 min after it released and it was crap
     
  18. Offline

    Jacob Litewski

  19. Offline

    Tulips

    it says 1.3 when i loaded it (read top) and ide expect a plugin this far ahead to not work with 1.3
     
  20. Offline

    Jacob Litewski

    Are you using the legacy version (Pixl.jar), or the Matained version (NewPixl.jar)? The Legacy version works with 1.3 just because of the off chance a server still runs it. You want to use NewPixl.jar for anything newer then build #556
     
  21. Offline

    Jacob Litewski

    Just as a little update, Pixl 1.6 is going to come out sometime within the next two or so weeks. I got a couple of good suggestions and a couple ideas, plus one of the most requested features that Pixl should have, which is a Single Player Command Plugin version.

    I'm also seriously thinking about splitting support between Permissions and GroupManager on the off chance that it updates. This way, instead of bloating Pixl with functions that support GM and Permissions natively, I can have two versions that are slim and sexy instead. Sure, it would mean I need to support two versions of almost the same code, but I have nothing better to do :p

    And I'm going to try and release both SPC and 1.6 at the same time, hopefully :p
     
  22. Offline

    Taeir

    could you add support for changing sapling types in 1.6 too?
     
  23. Offline

    Jacob Litewski

    Yes I will! That's a great idea!
     
  24. Offline

    Skirmisher

    Still working well on 733. :)
     
  25. Offline

    Jacob Litewski

    Awesome!

    Bukkit added in some cool features today that I'm going to implement into 1.6, and I'm going to wait until Mojang releases a mod API to make a Single Player mod.
     
  26. Offline

    Mentioum

    Mojang aren't releasing a mod API... Notch announced it a few days ago. Just to fill you in on things.
     
  27. Offline

    Jacob Litewski

    Well, not the API, but more like "downloading the source from SVN and making a mod" deal thing. Unless he scrapped that idea too :/
     
  28. GM was merged into essentials, it is maintained, although we might drop support based on bukkit/permissions progress.
     
  29. Offline

    Plague

    cb 687 - inactive
    (and is the version range really needed?)
     
  30. Offline

    Jacob Litewski

    no, not really, I've been busy with real life things. I'll get everything updated
     

Share This Page