Filled Custom SignShop

Discussion in 'Plugin Requests' started by Rakinare, Apr 18, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    I Al Istannen

    @Rakinare
    Jup, I needed to add a field to the Profile. This broke the saves. Should have really told you before. I will make a mental note to do so in the future :).
    If stopping the server and deleting the profiles.yml doesn't solve the error, please post the full stacktrace.

    EDIT: Have you tried what I suggested?
    "the error should only occur if your profiles.yml is outdated. It works for me if I stop the server and delete the profiles.yml. If it doesn't work, reply to this please."
     
    Last edited: Apr 27, 2016
  2. Offline

    Rakinare

    @I Al Istannen

    Yup, it worked, thanks! And sorry for the late reply.

    Did some testing and everything seems to work perfect now.
    The only things missing now are the implementation of the german item names and the display name above the floating item :)

    Thanks again so much for your work!

    Edit: Item display also works on Forge now!

    Edit2: Can I give you my updated german files so I don't have to change everything over and over and when you update something?

    Edit3: Playtime reset on server restart doesn't seem to work correct. I had 1.30m playtime left, default playtime is 20m and after server restart I had 15.30m? I don't see how this happens :p
     
    Last edited: Apr 27, 2016
  3. Offline

    I Al Istannen

    @Rakinare
    Sure, just upload it somewhere (pastebin?, you will find something) or send it in multiple messages through a conversation :)

    I will see if I tackle german item names, as that is an incredible tedious process. I will make a list of what is missing at least.
    Thanks for the display name, forgot about it ;)

    EDIT: I updated the IPSS with the item name, download it again (e.g. here). You need to delete the config or add this:
    Code:
    # If true it will show the item name above the item
    show item displayname: true
    And sadly also the Messages_en/de.properties. You can delete/rename them or add this:
    Code:
    #   ==== Item name ====
    # The name floating above the item. 0 ==> item name, 1 ==> shop owner, 2 ==> price for one
    shop\ item\ name= &3&l{0} &6- &3&l{2,number,$0.##}
    I added it right under the sign lines, but that is up to you.

    EDIT: Oh, on server restart? Well, that is too easy. It resets if you restart the server and a day has passed (it went past 0:00). I can change that though.
     
    Last edited: Apr 27, 2016
  4. Offline

    Rakinare

    @I Al Istannen

    Oh I thought the list for the german item names is done but I have just seen that there are about 100 lines missing.
    Shall I take on that and give you the updated version so you only have to call it then?

    IPSS: http://pastebin.com/NJrKhqq9
    IP: http://pastebin.com/HfPyZ5r6

    Also did a 3rd edit on my last post.

    Edit: updated messages_de.properties with your new lines
     
    Last edited: Apr 27, 2016
  5. Offline

    I Al Istannen

    @Rakinare
    Oh, a reset on server restart? Well, that is too easy. It resets if you restart the server and a day has passed (it went past 0:00). I can change that though.
    Also I don't know how 15:30 slipped through... . I will try to reproduce it.

    EDIT: Both links updated to use your language files.
     
  6. Offline

    Rakinare

    @I Al Istannen

    Oh I see, maybe I have explained it a bit odd before. Would be nice if the timers can reset to the default value on every server restart.


    Edit: Would you mind trying to hook into worldguard as soon as you have time?
    I will have a mall where they can open their shops and I'd like to protect the whole mall itself and then protect every single shop area for someone else to build in.
    Also I am thinking about adding larger plots where they can build which they have to buy though. Everyone gets 1 small plot for free (not protected as that is part of the social project) but I'd like to give them the option to upgrade.

    Edit2: Is it possible to make ä/ö/ü also usable in IP? Since it's working in IPSS.
     
    Last edited: Apr 27, 2016
  7. Offline

    I Al Istannen

    @Rakinare
    Should be done. I made it toggable in the config with this:
    Code:
    # If true the playtime will be rest upon restarting the server
    reset playtime on restart: true
    
    Either delete the config or add it to it (maybe at the end).

    The link stayed the same.

    EDIT:
    @Rakinare
    I can look into it, but not today :/ I will need some sleep ;)

    To your edit 2: I used an entire different concept for the language. In the IPSS I used the system Java (the programming language) intended and that works extremly well with a lot of things, is easy to use and also provides support for other languages just by renaming a file. So far so good. But I would need to completly rewrite the language system in IP. I will do it if I have too much time :D
     
  8. Offline

    Rakinare

    @I Al Istannen

    Isn't that the same as in 2 posts before or did you change something else with that version?

    Edit: Ah I see, playtime reset works perfectly now, thanks!
     
  9. Offline

    I Al Istannen

    @Rakinare
    Oh, sorry. It is IP not IPSS. I implemented the restart thing. The link is correct though. And the code tag fixed.

    Bye for today :p
     
  10. Offline

    Rakinare

    @I Al Istannen

    Thanks so much again for your work! :) You are doing an amazing job and I am so glad I found help \o/

    Ah I see, you don't have to change the item names then, since it seems extremely much work, unless there's an easily understandable way that I could do :D I really don't want you to spend too much time on those things, I still feel bad for robbing all your freetime haha

    Edit: good night ^-^
     
    cococow123 likes this.
  11. Offline

    I Al Istannen

    @Rakinare
    For the german item names. These are still missing. Just replace the thing after the "=" with the german name. Would be great if you could do it!
    Item names (open)

    Code:
    GOLD_PLATE= Gold Plate id: 147
    SMOOTH_BRICK= Smooth Brick id: 98
    CHORUS_FRUIT= Chorus Fruit id: 432
    STAINED_GLASS_PANE= Stained Glass Pane id: 160
    DIODE_BLOCK_OFF= Diode Block Off id: 93
    SNOW_BLOCK= Snow Block id: 80
    LONG_GRASS= Long Grass id: 31
    CAKE_BLOCK= Cake Block id: 92
    STATIONARY_LAVA= Stationary Lava id: 11
    PISTON_EXTENSION= Piston Extension id: 34
    BROWN_MUSHROOM= Brown Mushroom id: 39
    FROSTED_ICE= Frosted Ice id: 212
    DARK_OAK_STAIRS= Dark Oak Stairs id: 164
    BIRCH_WOOD_STAIRS= Birch Wood Stairs id: 135
    MELON_STEM= Melon Stem id: 105
    SPRUCE_FENCE= Spruce Fence id: 188
    LEAVES_2= Leaves 2 id: 161
    DARK_OAK_DOOR= Dark Oak Door id: 197
    SMOOTH_STAIRS= Smooth Stairs id: 109
    GLOWING_REDSTONE_ORE= Glowing Redstone Ore id: 74
    STATIONARY_WATER= Stationary Water id: 9
    SIGN_POST= Sign Post id: 63
    PURPUR_SLAB= Purpur Slab id: 205
    GRASS_PATH= Grass Path id: 208
    SPRUCE_FENCE_GATE= Spruce Fence Gate id: 183
    IRON_DOOR_BLOCK= Iron Door Block id: 71
    WEB= Web id: 30
    TIPPED_ARROW= Tipped Arrow id: 440
    BEETROOT_BLOCK= Beetroot Block id: 207
    WOOD= Wood id: 5
    PISTON_MOVING_PIECE= Piston Moving Piece id: 36
    COMMAND_CHAIN= Command Chain id: 211
    BED_BLOCK= Bed Block id: 26
    LOG_2= Log 2 id: 162
    DRAGONS_BREATH= Dragons Breath id: 437
    DAYLIGHT_DETECTOR_INVERTED= Daylight Detector Inverted id: 178
    HUGE_MUSHROOM_1= Huge Mushroom 1 id: 99
    LEATHER_CHESTPLATE= Leather Chestplate id: 299
    CLAY_BRICK= Clay Brick id: 336
    PORK= Pork id: 319
    STONE_SLAB2= Stone Slab2 id: 182
    POWERED_RAIL= Powered Rail id: 27
    ENDER_PORTAL= Ender Portal id: 119
    WORKBENCH= Workbench id: 58
    POTATO_ITEM= Potato Item id: 392
    SPRUCE_DOOR_ITEM= Spruce Door Item id: 427
    COMMAND_REPEATING= Command Repeating id: 210
    SHIELD= Shield id: 442
    TRIPWIRE= Tripwire id: 132
    LINGERING_POTION= Lingering Potion id: 441
    DOUBLE_STEP= Double Step id: 43
    END_ROD= End Rod id: 198
    REDSTONE_LAMP_OFF= Redstone Lamp Off id: 123
    CLAY_BALL= Clay Ball id: 337
    COBBLESTONE= Cobblestone id: 4
    WATER= Water id: 8
    SUGAR_CANE_BLOCK= Sugar Cane Block id: 83
    NETHER_BRICK_ITEM= Nether Brick Item id: 405
    WALL_BANNER= Wall Banner id: 177
    COBBLESTONE_STAIRS= Cobblestone Stairs id: 67
    BEETROOT= Beetroot id: 434
    ELYTRA= Elytra id: 443
    CHORUS_FRUIT_POPPED= Chorus Fruit Popped id: 433
    LEATHER_LEGGINGS= Leather Leggings id: 300
    BREWING_STAND_ITEM= Brewing Stand Item id: 379
    SKULL_ITEM= Skull Item id: 397
    PURPUR_STAIRS= Purpur Stairs id: 203
    JUNGLE_DOOR_ITEM= Jungle Door Item id: 429
    BEETROOT_SEEDS= Beetroot Seeds id: 435
    CHORUS_FLOWER= Chorus Flower id: 200
    SPECTRAL_ARROW= Spectral Arrow id: 439
    INK_SACK= Ink Sack id: 351
    WALL_SIGN= Wall Sign id: 68
    WOOD_BUTTON= Wood Button id: 143
    MELON_BLOCK= Melon Block id: 103
    WOOD_DOUBLE_STEP= Wood Double Step id: 125
    REDSTONE_TORCH_OFF= Redstone Torch Off id: 75
    TRIPWIRE_HOOK= Tripwire Hook id: 131
    MOSSY_COBBLESTONE= Mossy Cobblestone id: 48
    REDSTONE_COMPARATOR_ON= Redstone Comparator On id: 150
    SPLASH_POTION= Splash Potion id: 438
    STRUCTURE_BLOCK= Structure Block id: 255
    BEETROOT_SOUP= Beetroot Soup id: 436
    DIODE_BLOCK_ON= Diode Block On id: 94
    FLOWER_POT_ITEM= Flower Pot Item id: 390
    BIRCH_DOOR_ITEM= Birch Door Item id: 428
    SPRUCE_WOOD_STAIRS= Spruce Wood Stairs id: 134
    MONSTER_EGG= Monster Egg id: 383
    END_CRYSTAL= End Crystal id: 426
    CARROT_ITEM= Carrot Item id: 391
    NETHER_BRICK_STAIRS= Nether Brick Stairs id: 114
    TNT= Tnt id: 46
    SANDSTONE_STAIRS= Sandstone Stairs id: 128
    PURPUR_PILLAR= Purpur Pillar id: 202
    WOOD_STAIRS= Wood Stairs id: 53
    RED_SANDSTONE_STAIRS= Red Sandstone Stairs id: 180
    CARPET= Carpet id: 171
    WOOD_DOOR= Wood Door id: 324
    BURNING_FURNACE= Burning Furnace id: 62
    HUGE_MUSHROOM_2= Huge Mushroom 2 id: 100
    LEATHER_BOOTS= Leather Boots id: 301
    BOAT_ACACIA= Boat Acacia id: 447
    GRILLED_PORK= Grilled Pork id: 320
    THIN_GLASS= Thin Glass id: 102
    DOUBLE_STONE_SLAB2= Double Stone Slab2 id: 181
    ACACIA_STAIRS= Acacia Stairs id: 163
    AIR= Air id: 0
    PURPUR_DOUBLE_SLAB= Purpur Double Slab id: 204
    STONE= Stone id: 1
    DARK_OAK_DOOR_ITEM= Dark Oak Door Item id: 431
    PUMPKIN_STEM= Pumpkin Stem id: 104
    PURPUR_BLOCK= Purpur Block id: 201
    RAW_FISH= Raw Fish id: 349
    CAULDRON_ITEM= Cauldron Item id: 380
    NETHER_WARTS= Nether Warts id: 115
    BOAT_BIRCH= Boat Birch id: 445
    BOAT_JUNGLE= Boat Jungle id: 446
    WATER_LILY= Water Lily id: 111
    STANDING_BANNER= Standing Banner id: 176
    VINE= Vine id: 106
    JUNGLE_WOOD_STAIRS= Jungle Wood Stairs id: 136
    LEATHER_HELMET= Leather Helmet id: 298
    REDSTONE_COMPARATOR_OFF= Redstone Comparator Off id: 149
    BOAT_SPRUCE= Boat Spruce id: 444
    BOAT_DARK_OAK= Boat Dark Oak id: 448
    ENDER_STONE= Ender Stone id: 121
    QUARTZ_STAIRS= Quartz Stairs id: 156
    STAINED_GLASS= Stained Glass id: 95
    CHORUS_PLANT= Chorus Plant id: 199
    WOOD_STEP= Wood Step id: 126
    IRON_PLATE= Iron Plate id: 148
    ACACIA_DOOR_ITEM= Acacia Door Item id: 430
    STEP= Step id: 44
    END_GATEWAY= End Gateway id: 209
    END_BRICKS= End Bricks id: 206
    


    EDIT: I haven't found a way yet to let concurrent users be able to use World Guard as it was intended. I can't change the UUID as it is stored in some classes I do not want to modify, as that would probably cause some serious bugs. WorldGuard has also tranferred to UUIDs, so not much chance there.
    I would have to remove the user from every region they have access to upon them logging out and re-add them upon authenticating. I don't know if it will work and it could glitch out quite easilym but I might try it.
     
    Last edited: Apr 28, 2016
  12. Offline

    Rakinare

    @I Al Istannen

    Of course I will do that :) Probably gonna happen over the weekend. This list isn't completed tho, is it? There are over 400 lines in the item list in IPSS, here are only 136

    And thanks for trying to figure it out with world guard.
     
  13. Offline

    I Al Istannen

    @Rakinare
    Hey, the list should be exhaustive. If you look at the Items_de.properties some are already translated. This are the missing ones. There are 3 or 4 duplicates, as I grapped the translations from the Minecraft intern translation and mapped the different names as good as easily possible. It should be enough if you translate these 136 and have a lokk if you like the Items_de.properties ;)

    Haven looked further into Worlguard, but will do so now.
    I might have to say it isn't possible for me to do though, then you/I will need to live with it or ask if somebody else is capable of it. But let's stay optimistic :p
     
  14. Offline

    Rakinare

    @I Al Istannen

    In case it would not work, would you be able to create an own plugin for plots/safed areas that work with IP? BUt I can imagine that this would be more work than everything else together you have already done :(
     
  15. Offline

    I Al Istannen

    @Rakinare
    Yes, a region plugin would be certainly too big. But I might be able to make it somewhat compatible. You may just be able to split users into Member and Owner and not in groups. I will see what I can do.

    @Rakinare
    Hey,

    I think I might got it to work, but I couldn't do any extensive testing. Would be nice if you could try it. It should't corrupt your saves, but it might. In fact, I have forgotten if I built in a check to transition smoothly. So try it out, but you might need to delete the "profiles.yml" and "passwords.yml" if you get an error. If the error persists, you should post it ;)

    Link stayed the same, but I post it anyways :)

    Since (nearly) a day has passed, I hope this is not considered a double post.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Apr 29, 2016
    Rakinare likes this.
  16. Offline

    Rakinare

    @I Al Istannen

    Gonna try it out. Thank you :) Giving feedback later.

    Do I have to change any settings in WorldGuard? I can't seem to get it to work. Doesn't seem to recognize the profiles. Also adds UUIDs in the region configs, so idk.

    Edit: Okay, I was able to protect the whole world from building and add an area where building is allowed but I can't seem to allow it only for one person. I have added an owner but since it's using UUID it looks like there is no way around.

    Edit2: I got it working, I had to do it manually though. Gonna keep trying to figure out how to do it.

    Edit3: back to the beginning. can only get it to work with everyone able to build
     
    Last edited: Apr 29, 2016
  17. Offline

    I Al Istannen

    @Rakinare
    Yes, I had to make a compromise. It doesn't register profiles. There is literally no way I am aware of that could work. You need to log the profile you want in, and then give the Minecraft account they logged in with membership. If my minecraft Account is "I Al Istannen" and my profile "Tester" I would need to log in with "I Al Istannen", authenticate as "Tester" and then grant "I Al Istannen" membership. Upon logging out all the regions in all worlds will be scanned if the given User (e.g. "I Al Istannen") is a member. If he is, the region will be saved in the Profile "Tester". Upon login the user is removed from EVERY Region in all worlds. Then, upon authenticating he will be re-added to the regions previously saved. It is an incredibly ugly way, but I couldn't figure out another. If I explained this badly, just say so and I will try to phrase it better :)
     
  18. Offline

    Rakinare

    @I Al Istannen

    Uhm, I kinda did not get that xD Step by step please :p
     
  19. Offline

    I Al Istannen

    @Rakinare
    ;)
    WorldGuard only accepts player names and UUIDs to add members and saves the UUID. This means it won't work with Profiles, as that only changes the DisplayName. You want it to work however. This is what I did to hopefully make it work:

    You log in with a minecraft account. This is the name you have without IP. Let's say this account name is "Rakinare". Then you can create different Profiles with other names. Let's create one named "Tester" and "Tester2". Now if you log in with "Rakinare" you can authenticate as "Tester" and "Tester2".

    To work with WorldGuard you need to give your minecraft account name (e.g. "Rakinare") and NOT the Profile name (e.g. "Tester" or "Tester2"). This means you need to use "/region addmember <region name> Rakinare -w <world name>".

    If you log out of a Profile (e.g. /ip logout or leaving), IP scans through every WorldGuard region there is. If on any of these regions "Rakinare" is a member or an owner, it will save the name of the region and the world the region is in. If you have a region "Region" in world "world", where "Tester" is a member and you log out of "Tester" this happens:
    1. It scans through every region in all worlds
    2. It reaches "world" and "Region"
    3. It sees that "Rakinare" (the minecraft account) is a member
    4. It saves that "Tester" is a member of "Region" in "world"

    If you join the server, before you log in to a profile, you will be removed from EVERY region. This means "Rakinare" now has no permission for any region.

    Now if you log in to the profile "Tester" it will do this:
    1. Read all the previoulsy saved regions
    2. Add the user as a member/owner to them
    3. Be happy.
    This means you now should have regained permission for the Regions you had when you logged out.

    What you need to do is log in with the profile you want to grant access and then run the "/region" command with your minecraft account (e.g. "Rakinare") and not the profile name (e.g. "Tester"). Now the user should have access to the specified region. Upon logging out and in the process described above will happen.

    If I still did a bad job explaining that, say so and I will try to create a gif or video with an explanation on how to add a user to a region.
     
    cococow123 likes this.
  20. Offline

    Rakinare

    @I Al Istannen

    I am pretty sure I understand how your system works. Gonna try to make it work for me now. Gonna give feedback in a few.


    Edit: I think something isn't working correctly.

    What I did:
    logged in as test1 added rakinare as owner for plot1, could build on plot1
    logged out
    logged in as test2, test2 could also build on plot1 without giving any rank.

    Either I still didn't get how I gotta do it (which I am kinda sure I did) or something with the removing/adding isn't working properly.

    I've got an idea which if I understood your way correctly, is pretty similiar but I think a little easier.

    Add a command to IP:

    /ip addregion <name> <world> <region name> <role>

    e.g. /ip addregion test world plot1 owner
    (Group is always not set I guess. Not using any groups anyways)

    This will create the exact same thing in your profiles.yml as you have right now
    Code:
          regionObjects:
          - ==: me.ialistannen.inventory_profiles.hooks.WorldguardHook$PlayerRegionObject
            role: OWNER
            world: world
            regionId: plot1
            group: not set
    Uppon logging in on a profile, IP will check for this entry and tell worldguard to add rakinare as owner for plot1. Uppon logging out IP will tell worldguard to remove rakinare as owner.
    Uppon logging in the same happens on the new profile.
    Same procedure if you choose member as role.

    This will first of all prevent any glitches on worldguard's site and second of all is way easier to execute IMO, since you can do this no matter which profile is logged in.

    If you add the currently used profile to a plot, you could also add /ip plotcheck to do exactly the same as if you logged in to a profile (the checking and setting as owner).
     
    Last edited: Apr 29, 2016
  21. Offline

    I Al Istannen

    @Rakinare
    It works for me. I am not sure if you did something wrong though :D
    Do you have the entry in both profiles by any chance?
    And, for the record is there a line like
    "[InventoryProfiles] Hooked into "Worldguard hook" through Vault." ?
    (I should change Vault there, Copy and Paste comes back to me. And probably remove the "hook" there, english grammar and stuff :p)

    I did:
    1. Log in as Tester
    2. Couldn't build
    3. Log out (ip logout) / Leave
    4. Log in as Tester2
    5. Could build

    But I will add the addregion command and then you could try again.

    Yes, the addregion command makes a lot of sense :p
    Group is "not set" as a placeholder if I should figure it out in the future, so you are right ;)

    Will take some time, I will look at another small program for a friend, but I will do it until tomorrow evening. I hope thats ok :)

    Although I didn't quite understand what "ip plotcheck" should do. Could you elaborate that a bit further?
     
  22. Offline

    Rakinare

    @I Al Istannen

    Yeah, that's alright :)

    Basically, let's say I am logged into test3. I add test3 as owner to plot3 via IP. Since IP is only updating worldguard on login though, you'd have to relog in order to get the plotupdate to worldguard. For no need to relog and get it updated you just use /ip plotcheck to basically execute the same as when you login to your profile.
     
    Last edited: Apr 29, 2016
    I Al Istannen likes this.
  23. Offline

    I Al Istannen

    @Rakinare
    Took a bit longer than expected, but I will try to finish it today.

    EDIT: Ok, this works for me.
    New commands are "addRegion" and "removeRegion". The "checkRegion" is not needed, both of these commands do all the work without you having to do anything.

    Link stayed the same, but hey :D Link is on the smiley
     
    Last edited: Apr 30, 2016
    Rakinare likes this.
  24. Offline

    Rakinare

    @I Al Istannen

    Thanks! Gonna try it out today (Sunday) Have just seen your answer but I am about to go to bed.

    Edit: Tested it out. The base seems to work. There must be a problem with removing an owner uppon /ip logout though.

    Gave test1 owner for plot1, he could build there but nowhere else. So far so good.
    /ip logout --> going to test2. Could build on plot2 but also plot1, means the owner wasn't removed from plot1 uppon logging out.
    /ip logout --> going back to test1. now he could build on plot1 and plot2.

    Also I noticed that IP isn't live updating the profiles.yml. When I delete the profiles.yml and start the server, then I create a profile, this is working. It doesn't create the profiles.yml at this point though. If I now wanna add a region I first have to restart the server so the profiles.yml is getting created and then I can add the region, else I get:

    Code:
    [04:40:49] [Server thread/WARN]: Unexpected exception while parsing console command "ip addregion test world grund1 owner"
    org.bukkit.command.CommandException: Unhandled exception executing command 'ip' in plugin InventoryProfiles v0.1
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:624) ~[craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchServerCommand(CraftServer.java:610) [craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at net.minecraft.server.v1_9_R1.DedicatedServer.aL(DedicatedServer.java:398) [craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:362) [craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:635) [craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:539) [craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_73]
    Caused by: java.lang.UnsupportedOperationException
        at java.util.AbstractList.add(Unknown Source) ~[?:1.8.0_73]
        at java.util.AbstractList.add(Unknown Source) ~[?:1.8.0_73]
        at me.ialistannen.inventory_profiles.datastorage.Profile.addRegionObject(Profile.java:320) ~[?:?]
        at me.ialistannen.inventory_profiles.command.SubCommandAddRegion.execute(SubCommandAddRegion.java:87) ~[?:?]
        at me.ialistannen.inventory_profiles.command.CommandManager.onCommand(CommandManager.java:49) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.9.jar:git-Bukkit-7fc5cd8]
        ... 8 more
    Edit2: Yup, it must be the removing owner which isn't working uppon logging out because when I log out and close the server, then check the regoion files of world guard, it keeps my UUID as owner for both regions. That's why everyone is able to build in every region.
     
    Last edited by a moderator: Apr 30, 2016
  25. Offline

    I Al Istannen

    @Rakinare
    For the Error: I used an empty list which is unmodifiable. Should be fixed now. The Profiles.yml only generates upon deactivation, which shouldn't be a problem. It is this way to prevent costly writing to disk, especially if it should be unneeded.

    For the still able to build. It seems like only the members are cleared, but not the owners. I will try to fix this. Whoops, I missed to remove the user from the owners. Should be fixed now. The difference one line can make :D

    New version, old link.
     
    Rakinare likes this.
  26. Offline

    Rakinare

    @I Al Istannen

    Thanks a lot! It seems to work perfectly now! :)

    Edit: I just noticed that sometimes the floating item and the name take about a minute longer until they get removed after deleting the shop.

    Edit2: For some reason the floating items and names are despawning after a few minutes :eek:
    (seems to only happen with a few items, a chest e.g.)

    Edit3: Working on the translations right now.
     
    Last edited: May 1, 2016
    I Al Istannen likes this.
  27. Offline

    I Al Istannen

    @Rakinare
    Hmm. They are supposed to not despawn at all :D I will try to reproduce and fix it.

    Have fun with the translations :p Just post them somewhere and send me the link, if you want me to include them in the jar.

    EDIT: Just came to my mind: If you are in any conversation (e.g. Do you want to buy or sell), you can type "exit" to instantly dismiss the action.

    EDIT 2:
    I can't reproduce it. I stood next to it for 10 minutes and nothing happend. What did you do? Fly away, stay there, reload the server, ...?
     
    Last edited: May 1, 2016
  28. Offline

    Rakinare

    @I Al Istannen

    Ah that's cool, thanks for telling :p

    I have just opened the shop and stood next to it. After some time the floating item and name disappeared (only noticed for the Chest item so far tho)

    Translations:

    Code:
    GOLD_PLATE= Goldharnisch id: 147
    SMOOTH_BRICK= Steinziegel id: 98
    CHORUS_FRUIT= Chorusfrucht id: 432
    STAINED_GLASS_PANE= Weiße Glasscheibe id: 160
    DIODE_BLOCK_OFF= Redstone-Verstärker (inaktiv) id: 93
    SNOW_BLOCK= Schnee id: 80
    LONG_GRASS= Busch id: 31
    CAKE_BLOCK= Kuchen id: 92
    STATIONARY_LAVA= Stehende Lava id: 11
    PISTON_EXTENSION= Kolbenkopf id: 34
    BROWN_MUSHROOM= Brauner Pilz id: 39
    FROSTED_ICE= Brüchiges Eis id: 212
    DARK_OAK_STAIRS= Schwarzeichenholztreppe id: 164
    BIRCH_WOOD_STAIRS= Birkenholztreppe id: 135
    MELON_STEM= Melonenpflanze id: 105
    SPRUCE_FENCE= Fichtenholzzaun id: 188
    LEAVES_2= Akazienlaub id: 161
    DARK_OAK_DOOR= Schwarzeichenholztür id: 197
    SMOOTH_STAIRS= Steinziegeltreppe id: 109
    GLOWING_REDSTONE_ORE= Leuchtendes Redstoneerz id: 74
    STATIONARY_WATER= Stehendes Wasser id: 9
    SIGN_POST= Schild id: 63
    PURPUR_SLAB= Purpurstufe id: 205
    GRASS_PATH= Trampelpfad id: 208
    SPRUCE_FENCE_GATE= Fichtenholztor id: 183
    IRON_DOOR_BLOCK= Eisentür id: 71
    WEB= Spinnennetz id: 30
    TIPPED_ARROW= Getränkter Pfeil id: 440
    BEETROOT_BLOCK= Rote-Bete-Pflanze id: 207
    WOOD= Eichenholzbretter id: 5
    PISTON_MOVING_PIECE= Verschobener Block id: 36
    COMMAND_CHAIN= Ketten-Befehlsblock id: 211
    BED_BLOCK= Bett id: 26
    LOG_2= Akazienholz id: 162
    DRAGONS_BREATH= Drachenatem id: 437
    DAYLIGHT_DETECTOR_INVERTED= Nachtlichtsensor id: 178
    HUGE_MUSHROOM_1= Brauner Pilzblock id: 99
    LEATHER_CHESTPLATE= Lederjacke id: 299
    CLAY_BRICK= Ziegel id: 336
    PORK= Schweinefleisch id: 319
    STONE_SLAB2= Rote Sandsteinstufe id: 182
    POWERED_RAIL= Antriebsschiene id: 27
    ENDER_PORTAL= Enderportalblock id: 119
    WORKBENCH= Werkbank id: 58
    POTATO_ITEM= Kartoffel id: 392
    SPRUCE_DOOR_ITEM= Fichtenholztür id: 427
    COMMAND_REPEATING= Wiederhol-Befehlsblock id: 210
    SHIELD= Schild id: 442
    TRIPWIRE= Stolperdraht id: 132
    LINGERING_POTION= Verweiltrank id: 441
    DOUBLE_STEP= Doppelte Steinstufe id: 43
    END_ROD= Endstab id: 198
    REDSTONE_LAMP_OFF= Redstone-Lampe (inaktiv) id: 123
    CLAY_BALL= Ton id: 337
    COBBLESTONE= Bruchstein id: 4
    WATER= Fließendes Wasser id: 8
    SUGAR_CANE_BLOCK= Zuckerrohr id: 83
    NETHER_BRICK_ITEM= Netherziegel id: 405
    WALL_BANNER= Wandbanner id: 177
    COBBLESTONE_STAIRS= Bruchsteintreppe id: 67
    BEETROOT= Rote Bete id: 434
    ELYTRA= Elytren id: 443
    CHORUS_FRUIT_POPPED= Geplatzte Chorusfrucht id: 433
    LEATHER_LEGGINGS= Lederhose id: 300
    BREWING_STAND_ITEM= Braustand id: 379
    SKULL_ITEM= Skelletschädel id: 397
    PURPUR_STAIRS= Purpurtreppe id: 203
    JUNGLE_DOOR_ITEM= Tropenholztür id: 429
    BEETROOT_SEEDS= Rote-Bete-Samen id: 435
    CHORUS_FLOWER= Chorusblüte id: 200
    SPECTRAL_ARROW= Spektralpfeil id: 439
    INK_SACK= Tintenbeutel id: 351
    WALL_SIGN= Wandschild id: 68
    WOOD_BUTTON= Holzknopf id: 143
    MELON_BLOCK= Melone id: 103
    WOOD_DOUBLE_STEP= Wood Double Step id: 125
    REDSTONE_TORCH_OFF= Redstone-Fackel (inaktiv) id: 75
    TRIPWIRE_HOOK= Haken id: 131
    MOSSY_COBBLESTONE= Bemooster Bruchstein id: 48
    REDSTONE_COMPARATOR_ON= Redstone-Komparator (aktiv) id: 150
    SPLASH_POTION= Wurftrank id: 438
    STRUCTURE_BLOCK= Konstruktionsblock id: 255
    BEETROOT_SOUP= Borschtsch id: 436
    DIODE_BLOCK_ON= Redstone-Verstärker (aktiv) id: 94
    FLOWER_POT_ITEM= Blumentopf id: 390
    BIRCH_DOOR_ITEM= Birkenholztür id: 428
    SPRUCE_WOOD_STAIRS= Fichtenholztreppe id: 134
    MONSTER_EGG= Spawn-Ei id: 383
    END_CRYSTAL= Enderkristall id: 426
    CARROT_ITEM= Karotte id: 391
    NETHER_BRICK_STAIRS= Netherziegeltreppe id: 114
    TNT= TNT id: 46
    SANDSTONE_STAIRS= Sandsteintreppe id: 128
    PURPUR_PILLAR= Purpursäule id: 202
    WOOD_STAIRS= Eichenholztreppe id: 53
    RED_SANDSTONE_STAIRS= Rote Sandsteintreppe id: 180
    CARPET= Teppich id: 171
    WOOD_DOOR= Eichenholztür id: 324
    BURNING_FURNACE= Brennender Ofen id: 62
    HUGE_MUSHROOM_2= Roter Pilzblock id: 100
    LEATHER_BOOTS= Lederstiefel id: 301
    BOAT_ACACIA= Akazienholzboot id: 447
    GRILLED_PORK= Gebratenes Schweinefleisch id: 320
    THIN_GLASS= Glasscheibe id: 102
    DOUBLE_STONE_SLAB2= Doppelte Rote Sandsteinstufe id: 181
    ACACIA_STAIRS= Akazienholztreppe id: 163
    AIR= Luft id: 0
    PURPUR_DOUBLE_SLAB= Doppelte Purpurstufe id: 204
    STONE= Stein id: 1
    DARK_OAK_DOOR_ITEM= Schwarzeichenholztür id: 431
    PUMPKIN_STEM= Kürbispflanze id: 104
    PURPUR_BLOCK= Purpurblock id: 201
    RAW_FISH= Roher Fisch id: 349
    CAULDRON_ITEM= Kessel id: 380
    NETHER_WARTS= Netherwarze id: 115
    BOAT_BIRCH= Birkenholzboot id: 445
    BOAT_JUNGLE= Tropenholzboot id: 446
    WATER_LILY= Seerosenblatt id: 111
    STANDING_BANNER= Banner id: 176
    VINE= Ranken id: 106
    JUNGLE_WOOD_STAIRS= Tropenholztreppe id: 136
    LEATHER_HELMET= Lederkappe id: 298
    REDSTONE_COMPARATOR_OFF= Redstone-Komparator (inaktiv) id: 149
    BOAT_SPRUCE= Fichtenholzboot id: 444
    BOAT_DARK_OAK= Schwarzeichenholzboot id: 448
    ENDER_STONE= Endstein id: 121
    QUARTZ_STAIRS= Quarztreppe id: 156
    STAINED_GLASS= Gefärbtes Glas id: 95
    CHORUS_PLANT= Choruspflanze id: 199
    WOOD_STEP= Eichenholzstufe id: 126
    IRON_PLATE= Wägeplatte (hohe Gewichte) id: 148
    ACACIA_DOOR_ITEM= Akazienholztür id: 430
    STEP= Steinstufe id: 44
    END_GATEWAY= Endtransitportal id: 209
    END_BRICKS= Endsteinziegel id: 206
    
     
    I Al Istannen likes this.
  29. Offline

    I Al Istannen

    @Rakinare
    Thanks for that, I added it :) The item is still there :p I think I will just have it check every 5 minutes or so if the item still exists and if not respawn it.

    EDIT:
    Here it is. You will need to delete the "Items_de.properties" to get your nice german translations. You will also need to delete the config.yml or add this to it:
    Code:
    # The delay between shop updates. They are not needed for the function, they just restore items that went missing and update the sign.
    # I am sure you love maths, so it is in ticks. 1 second = 20 ticks. Good luck!
    delay between shop updates: 3600
    It should introduce no new errors, as it has no new functions, but hey, you'll never know.
     
    Last edited: May 1, 2016
    Rakinare likes this.
  30. Offline

    Rakinare

    @I Al Istannen

    Translations working, Items don't seem to despawn anymore, thanks! :)

    Is there a way to change the font size of the display names?
     
Thread Status:
Not open for further replies.

Share This Page