[MISC] Textile v1.4.3 - Per-world texture packs with the magic of [Spout] [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Eris, Aug 15, 2011.

  1. Offline


    Textile - Per-world texture packs with the magic of Spout
    Version: 1.4.3

    Sorry guys, this is currently unmaintained. If you want to know if it works with the latest builds, try it out. I burned out on Java and Bukkit a while back and I haven't felt like working on it. Instead, I've been playing the Minecraft pre-releases and enjoying myself.

    If anybody wants to take over the project, contact me via GitHub or Twitter. I won't be replying to this thread for the foreseeable future.

    This is the simplest possible plugin for Bukkit and Spout that supports per-world custom texture packs. Open source and no bullshit. I'm open to feature suggestions (good) and pull requests (the best).

    GitHub: erisdiscord/spout-textile
    Download: Textile.jar
    Find older versions at the GitHub downloads page.

    • Opt-in or opt-out
    • Per-world texture packs
    • Per-environment defaults—all nether, overworld or skylands worlds
    • Commands for setting texture packs in-game
    • Default fallback for worlds that don't specify
    • Open source, open development
    • Seriously!
    Suggest new features on the GitHub issue tracker. I do try, but your suggestions may not be noticed on the forum!

    Tested with
    • CraftBukkit #1060
    • Spout #134
    How to use it

    See README.md on GitHub for how to configure and use Textile. This link should always take you to the latest release version.

    Be sure to use the commands to edit your settings while the game is running. config.yml is saved when the plugin is unloaded and every time there's a change in-game, so you may lose your changes if you try to edit it directly.

    In the unlikely event that you experience problems, bugs or general catastrophe, file a report on the GitHub issue tracker. Try as I do, I may miss your request if you post it on the forum!

    Version 1.4.3 (22 August 2011)
    • players' texture packs are reset the right way now—no more error messages
    Version 1.4.2 (21 August 2011)
    • only send settings to players when they cross worlds
    Version 1.4.1 (19 August 2011)
    • fixed global settings getting hosed during migration
    • first bugfix release! call it a milestone
    Version 1.4.0: (19 August 2011)
    • custom sun and moon textures can be set
    • resetting a player's texture pack is supported by a dirty hack
    • refactored handling of settings under the hood
      • structure of `config.yml` changed slightly
      • configuration is automatically migrated
    Older Versions (open)

    Version 1.3.0: (17 August 2011)
    • per-player preferences
      • managed with /txprefs command
      • preferences are stored in plugins/Textile/player/{player}.yml
      • permission node to allow or disallow players managing their preferences
      • currently, the only preference is to enable Textile (on by default)
    • can be set as opt-in
    • a few under the hood changes to how commands are handled
    Version 1.2.0: (15 August 2011)
    • added command support with permissions
    Version 1.1.0: (15 August 2011)
    • added support for per-environment packs
    • tested with CraftBukkit RB 1060
    Version 1.0.0: (15 August 2011, wee hours of the morning)
    • Version the First
    GoldenIron and Jadedwolf like this.
  2. Offline


    im getting bored of this 10 of "Per world Texturepacks"-Spout-Plugins. Whats is the different between your to theirs?
  3. Offline


    Oh goddamnit. I searched the plugins list and didn't find anything. I see literally two plugins from the same developer that let the server set the texture pack. He has refused repeatedly to add multi-world support and he got pissy when someone else added it. So here I am.

    So, if you want differences: I'm a competent developer and I'm accepting community suggestions and contributions. Is that different enough?
  4. Offline


    im sorry, its not my intention to rubbish your plugin, most of all because they are very new too. I send you a PM.
  5. Offline


    Hey, don't sweat it. I'm sorry for coming off defensively!
  6. Offline


    OMG Thanks. SpoutEssentials is also supposed to have per world texturepacks but I'm encountering a few bugs with it. Can't wait to give this a try.
  7. Offline


    @Jackethan Glad it's useful to somebody! It's my belief that a plugin should do one thing and do it well, so that's my goal here.
  8. Offline


    Great plugin! works better than the other plugin I was using for texturepacks, the old one loaded up in about 5 seconds, but with this one, it's almost instant! (Don't know if it's Spout, or your Plugin, but hey, it runs faster anyways now!)
  9. Offline


    @Sgt.Mumaki Weeeell, I haven't done anything special on my end—it just sets the texture pack as soon as the player's SpoutCraft launcher is authenticated. I still see a little delay sometimes when I connect to my server.

    Glad it's working well for you, though!
  10. Offline


    Does this have an exempt list of some sorts? I have a couple users that cannot handle a better texture pack than what the Default one is. It would be handy to be able to do something like /txp exempt usernamme and store it in the config file. :)
  11. Offline


    @Ninja Grinch no exempt list yet, but I was considering support for a permission node to disable it for certain players.
  12. Offline


    That would work too. :) As long as it has PermissionsBukkit support I would use it but right now I cannot until it has some way to disable it for some. :(
  13. Offline


    @Ninja Grinch working on it right now :)

    [17:58] It is done. Well, it should be, anyway. Your players will have to log out to reset their texture pack after disabling it, but you can also set it to opt-in. I should probably document the commands at this point.
    Ninja Grinch likes this.
  14. Offline


    For the record, your Sample Config.yml in the first post has tabs in it. :)
  15. Offline


    @Ninja Grinch derp. It's like that in the README too. TextMate must have converted spaces to tabs when I indented the code block.

    The structure is gonna change a bit with the 1.4.0 release (don't worry—it automatically migrates the configuration for you) so I'm going to take that opportunity to remove documentation from this post and just point to the README for instruction. Maintaining that stuff in two places is error-prone.
  16. Offline


    Sounds good, figured I would let you know before you start getting people saying it doesn't work.

    As for the migration, it doesn't bother me to manually convert things as I like to go through anyways just to make sure as even an auto-migration system that converts an old config to a new one can fail. Nothing is perfect. :)
  17. Offline


    @Ninja Grinch the migration code was dead easy to write. All it does is change this:

      nowhere: http://example.com/stuff.zip
    to this:

        texturepack: http://example.com/stuff.zip
    so that I have room to add other settings later. Yeah, I'm planning to add other settings. :Ɔ
  18. Offline


    Sounds good. Looking forward to what you might add. :D
  19. Offline


    works great keep up the good work
  20. Offline


  21. Offline


    The config file keeps reverting back, when I add a world.
    EDIT: No matter what I change even changing the default opt-in to true, it always reverts back the config...
    Guess I can't use this plugin.
  22. Offline


    Sorry, the configuration file isn't really meant to be edited while the server's running. You can use the /texturepack command (see the README for details) to change texture packs while the server's up. I should probably mention that somewhere.

    [11:06] I've added that information to the post. It'll be in the README soon if I remember.
  23. Offline


    Really do you think I'm some incompetent user, who edits files while the server is running? Of course I edited the files manually when the server was offline, and I used proper yaml parsing based on your code.
  24. Offline


    Whoa, hold on, chill. I'm not here to insult your intelligence, but it doesn't help anybody if I just take what you say at face value and go hunting for a bug that might not be there. It's easy to say I've done everything just like you said, but there's always a chance that you've made a small error and maybe my eyes will catch what yours didn't, and likewise, it's equally possible that I've made an obscure mistake and you're encountering some edge case that I didn't think to test. Let's work together on this and not fight? C:

    I'm afraid I can't reproduce the problem, so I need a little more information. In the mean time, try downloading it again. There's a chance I accidentally put up a testing build, so I refreshed it just now to make sure. Could you try downloading it again (direct link, not from GitHub) and tell me what happens? The current version should be 1.4.0.

    If you still have problems after re-downloading, please file a bug report so I can keep track of it. Include your config.yml and whatever else might be relevant—console logs, list of installed plugins, whatever.

    [18:49] Under closer inspection, there is a bug in the settings migration code that hoses the global settings, but it doesn't affect worlds, environments nor the opt-in feature. Releasing 1.4.1 momentarily.
  25. Offline


    New version up again. Settings are only pushed to players when they move from one world to another. Let me know if it behaves incorrectly!
  26. Offline


    Whenever a user logs in they get this when it attempts to download a global texture pack.

    Downloading File: http://localhost/invalid.zip
    Download Failed!
    java.net.ConnectException: Connection refused: connect
            at java.net.DualStackPlainSocketImpl.connect0(Native Method)
            at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
            at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
            at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
            at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
            at java.net.PlainSocketImpl.connect(Unknown Source)
            at java.net.SocksSocketImpl.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at sun.net.NetworkClient.doConnect(Unknown Source)
            at sun.net.www.http.HttpClient.openServer(Unknown Source)
            at sun.net.www.http.HttpClient.openServer(Unknown Source)
            at sun.net.www.http.HttpClient.<init>(Unknown Source)
            at sun.net.www.http.HttpClient.New(Unknown Source)
            at sun.net.www.http.HttpClient.New(Unknown Source)
            at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
            at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
            at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown So
            at org.getspout.spout.io.FileDownloadThread.run(FileDownloadThread.java:
  27. Offline


    That's a dirty hack on my part because (according to the javadoc) there's no method yet to tell a player's SpoutCraft client to use their preferred pack, but setting a texturepack that doesn't exist has the same effect. I should probably change the fake file name to a short explanation of what's going on.

    They aren't crashing or anything, right? I've tested it on my local server and it works (although it's ugly, I know).

    @Ninja Grinch If you update to 1.4.3, those errors should be gone. I don't really know how they handle their release cycle, but it looks like Spout does include that method in build 134.

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


    Sorry, was sleeping. No they did not crash and thank you I will try this out.
  29. Offline


    @Ninja Grinch is everything working now for you so far?
  30. Offline

    Costan Balgobin

    Im really new to this so sorry for the dumb question :p. but where do i get the links for the texture packs? (Once again im new)

Share This Page