Inactive [MECH/ECON] Showcase v0.8.1 - Create visual shops by spawning drops on slabs [1.1-R5]

Discussion in 'Inactive/Unsupported Plugins' started by narrowtux, May 17, 2011.

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

    narrowtux

    [​IMG]
    Version 0.8.1​
    As supposed in this thread, I created a plugin that lets you put items into glass blocks (now steps, it's notchs fault) to showcase them. This is useable for shops, to show what's for sale there, or to make clear what type of farm you built.
    Features
    • Showcase all items in a half-step Block
    • Block protection (you can't break the step block and the block below it to prevent that the item falls down)
    • Multiworld
    • Items in a showcase can't be picked up
    • Only the player who created a showcase can remove it
    • Prevents despawning of items (Normally, drops disappear after 5 minutes)
    • You can setup finite and infinite shops
    • DropChest support (disables DropChest for absorbing the showcased items)
    • WorldGuard support (works out of the box)
    • Localisation
    • Can show custom item names through BukkitContrib
    • Economy support:
      • iConomy 4 & 5
      • BOSEconomy
      • Essentials Economy
    Download & Source-Code
    Download Showcase.jar
    Browse Source-Code on Github
    You will need an economy system if you want shops.
    This will install NarrowtuxLib automatically!
    Please donate, if you really like this ;)
    Videos
    Show Videos (open)





    When you have got issues, please read this:
    Issue Report (open)

    1. Please, first check if you have got the most recent version of Showcase and the most recent recommended build of Bukkit.
    2. Then, check if the bug is already listed in the "Known Bugs" section.
    3. After doing step 1+2, report the bug with at least this information:
      • Version of Showcase
      • Version of Bukkit
      • If possible, a step-by-step explanation of the bug
      • If possible, console errors
      • When you think that this has got to do with another plugin, please list all your plugins like this:
        • PluginA, PluginB, PluginC ...
    This will be incredible helpful for me to fix it faster.


    You don't actually have to retype everything I typed here, but if you'd take it as a guideline which content you should include in your issue report, it's more helpful ;)

    Please, don't come here just to say "This doesn't work.". This says nothing.


    Usage
    Adding a showcase
    1. Start sneaking!
    2. Right-click a half-step block with the item in your hand you want to showcase
    3. An assistant will ask you which type of Showcase you want to add. Type the text before the colon :))
    4. Depending on the type you chose, the assistant will ask some extra questions, follow the assistant to finish showcase creation.
    Removing a showcase

    1. Sneak
    2. Right-click on a showcase. If this was a finite showcase or an exchange showcase, you will get your items back.
    Permissions


    ActionPermission-NodeWithout Permissions
    Create a basic Showcase.showcase.basicPlayer
    Create a infinite shop Showcase.showcase.infiniteOperator
    Create a finite shop Showcase.showcase.finitePlayer
    Create an exchange Showcase.showcase.exchangePlayer
    Buy from a finite shop showcase.showcase.buy.finitePlayer
    Buy from an infinite shop showcase.showcase.buy.infinitePlayer
    Removing a showcase of other players.showcase.adminOperator

    The column "Without Permissions" explains which user-type can use this permission when no Permissions system is installed.
    What are shop showcases?
    A shop showcase can be used to sell items to your players. There are 2 types of shops now:
    1. Infinite shop. This one has an infinite amount of items. The money that the players give to buy an item will go to nirvana
    2. Finite shop. This one has that number of items which the owner has set up. The owner will get the money from which the items were bought.
    How can a Player buy items from a shop showcase?

    1. Click on the Showcase. The price per item and the available amount will be displayed.
    2. Type in the number of items you want and hit enter. A message will show you the success of the checkout.
      • Type 0 to abort checkout
    How can you refill a finite shop showcase?

    1. Click on it
    2. Type in the amount of items to refill. Negative values will remove that amount from the showcase.
    3. Walk away or type 0.
    Commands

    The showcase command handles manual saving and loading
    /showcase save
    Saves the items to showcases.csv
    /showcase load
    Loads the configuration, translation and items without saving (Use with caution)
    /showcase reload
    Saves and loads everything after that. Useful when some items aren't in place and you want to quick-fix that.

    Configuration
    The configuration file is auto-generated and is called showcase.cfg
    Here are the configuration possibilities:
    • basicmode : this decides if the plugin should operate like in version 0.2 or before (Just the basics)
    • priceforbasic : this adds a price to the basic showcases
    • priceforfinite : this adds a price to the finite showcases
    • priceforexchange: this adds a price to the exchange showcases
    • removewhenempty: when set to true, a finite showcase will be removed when it's amount hits 0
    • showcaseprotection : turn this to false to be able to remove showcases from other players (griefers) (you should now use WorldGuard instead of this one ;) )
    • locale: standard is en-US. The german translation which is included in the jar-file is de-DE. If you type that in, it will copy the german file from the jar to your plugins folder
      • You can change the translation very easily by editing the existing locale.
      • Colors are supported, just add something like [GREEN] or [DARK_RED] to the text.
      • You can add newlines with \n
    • autosaveinterval: the time between two auto-saves in seconds. Standard is 60 secs. Use -1 to disable autosave.
    Translations

    Currently available translations:
    Changelog

    Version 0.8.1
    See the whole changelog

    Todo
    • Spawn multiple items in the same glass block (up to 4, would be aligned nicely)
    • Verify that there is no free space below the glass block before adding a showcase
    • Maybe let the showcase glow when you placed torches, glowstone or lava in it
    • Custom messages (aka localisation)
    • Sell-Showcases
    • DropChest support (so the items inside the glass won't be absorbed by a Dropchest)
    • Limit the amount of Showcases per player
    • Add a price that the creator of a showcase has to pay (there would be an independent price for each basic, infinite and finite showcases)
    • Linking infinite shops to banks (money spent for items goes there)
    • Rent a showcase for money/day
    • Autosave with configureable interval
    • Commands for save, load and reload
    Crossed items are already done!

    Known bugs
    • This plugin conflicts with some chat-altering plugins (i.e. bColoredChat) this is because the authors don't know how to correctly set up the priority of events.
    • Normal players (the ones that aren't operators) can't use showcases that are in the spawn-protection area. Either disable the spawn protection or place the showcases to an other location (Disable spawnprotection by setting "spawn-protection-size=0" in the server.properties file)
    • With the latest dev preview (not the recommended build), you're able to make slabs to double steps. I've got to investigate until they propose it as RB.
    • ATM, Showcases won't save enchantments. So please just don't try to sell yours because that wouldn't work either.
     
  2. Offline

    narrowtux

    You need OddItem.
    Also, why supporting a screwed Permissions system with 10+ different implementations if there is a great API inside Bukkit already?
     
  3. Offline

    ledhead900

    Same reason why you would support bukkits, It also has a screwed system and about 4 or more implementations. I'm not going to argue why that is coz there are better people who could explain why the old system was fine.

    So back to the topic what the hell is OddItem ?

    Edit:
    What the hell, Another plugin! that makes dependant on 4 now this is just getting more bulky as it updates I don't know why you don't just build Narrowtux into the main jar, you have spout and now this odditem thing.

    Spouts fine I can agree with why that is there as I use Spoutcraft myself , but those other two I don't see a need to be in seperate jars. Iv already seen a guy take this exact plugin and re write it to not need any dependencies.

    This is a usefull plugin tho I'm starting to get concerned about how many more requirements may need in future.

    Bah I guess it does not matter if notch impliments everything he says for once into 1.8 then Citizens will become much lighter and I will just use those as main shops for everything.
     
  4. Offline

    narrowtux

    There you go.
     
  5. Offline

    Zaros

    Cant find key creation.item.title for translation!
    Can't find key creation.item.text for translation!

    Pretty crippling bug...
     
  6. Offline

    ryguy222

    ^Yeah I get that too all the time...until I put an item in my hand...xD Just be sure you don't have an empty hand and you'll be good.

    A bug I'm noticing on 1060 (got oddItems installed too) and PermissionsBukkit.
    If I want to restock my store I cannot just click it once, even if I got the proper item in hand. The only way it works is to right click (not while crouching!) Right click places that block above the showcase but it brings up the proper menu.
    It's annoying, but it still lets me refill. Not seeing any errors either

    As for the whole permissionsbukkit/permissions debate, my vote is on permissionsbukkit. Yes, I have to do quite a lot more work, but it's a heck of a lot more stable and it's native to bukkit :D
     
  7. Offline

    Schinken_Manuel

    May I suggest some sort of price reduction for specific permissions groups?

    Let's say I have some Donators in the group VIP on my Server, and I wan't them to buy things for 15% off the regular price, would that be possible?

    Also: How about a Sign showing the Price for the specific User?
     
  8. Offline

    forceserver

    don't this plugin support to buy infinite ??
     
  9. Offline

    slater96

    Yeah it does support infinite, go read the description.
     
  10. Offline

    forceserver

    nono
    It's not that I said that it
    This plug-in is to sell only supplies
    This store does not buy anything from the user
     
  11. Offline

    Shasjas

    someone needs to make a creative version of this, that just spawns items on blocks, without all the economy and spout stuff. my friends an i love the idea of spawning stuff on slabs for simple visual purposes, but its a real faff with all the economy stuff that we dont want.

    double post

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

    chuiby

    Fishing rod and a few other items i don't remember shows "null" instead of its real name.
    Screenshot: http://screensnapr.com/v/moFFHj.png

    I wonder if its because the real "codename" of the fishing rod is not FISHING_ROD (defined in stacks.csv)
     
  13. Offline

    SPUKI11

    Hi, nice Shop-Plugin, but can I offer, purchase items?
     
  14. Offline

    PhantomServer

    I'm having weird trouble. I had this plugin in build 1000 then when the 1060 update came out I updated my server. I used Showcase build 1000 and it works fine. In my CB 1000 server I made a massive mall in-game. Now when I have CB 1060 it totally goes weird. Other players cannot activate the showcases, and yes I have checked and they have to correct nodes. Only I can activate the showcases (I'm Admin). If I make another showcase that's brand new it works fine for them. Does this mean I have to totally re-do my mall again? Or is this just that Showcase is not CB build 1060? If so please update to 1060, I don't want to have to spend another 3 hours doing the mall =(
     
  15. Offline

    quickclay

  16. Offline

    Odjit

    So, grabbed Odditem as you said to, but still get the same error

    Again, happens whenever a player crouches and rightclicks a halfstep with nothing in their hand. The ingame message it sends them is

    "Showcase creation assistant

    Can't find key creation.item.title for translation!
    Can't find key creation.item.text for translation!"

    After that, it spams the quoted error anytime they try to talk, and of course, then they can't talk.
     
  17. Offline

    PhantomServer


    Ya I've had this prob b4 when a player spammed the showcase and it crashed. They way I fixed it is that i went into my plugins folder and deleted the folder named "Narrowtuxlib"
    Once you've done that reload your server and it will create the file again. Narrowtuxlib isn't used for anything but helping to run showcase. That should work. Don't blame me if ur server fks up
     
  18. Offline

    Odjit

    @PhantomServer I'll give it a try. And I use a test server before I run anything on the main server, so no raging will occur even if it magically burns down everything. ;P

    Edit: Aaaand deleted the narrowtuxlib folder, and still no luck. Loaded up, crouched, right clicked and now silenced =( Same ol' error.

    Edit 2: I also did the same for showcase just in case, same thing.

    Edit 3: and Odditem is loaded in fine btw, cause the /odditem command works juust fine.
     
  19. Offline

    ChrisPhoenix

    @narrowtux

    Hi,

    I offer two suggestions:
    - When a showcase has no item for sale, it is removed.
    - Here is a French translation for Showcase:

    Code:
    version=5
    enableMessage=[%s] version %s a été activé.
    diableMessage=[%s] version %s a été désactivé.
    registerShowcase=[Showcase] Type [%s] enregistré (%d objets chargés)
    registerFail=[Showcase] Essaye d'enregistrer le type [%s] désactivé
    permissionsUnavailable=Permissions non trouvées ! Toutes les opérations sont autorisées !
    showcaseOwner=[RED]C'est la vitrine de %s.
    assistant.creation.title=Vitrine assistant de création
    assistant.creation.cancel=Vitrine création annulée.
    assistant.creation.finish=Vitrine créée avec succès.
    noItemError=[RED]Vous devez tenir quelque chose dans votre main !
    itemExistError=[RED]Cet objet n'existe pas.
    basicCreationSuccess=[GREEN]Vous avez créé une vitrine !
    showcaseRemoveSuccess=[RED]Vitrine retirée.
    permissionsFail=[RED]Vous n'avez pas les permissions suffisantes.
    typeNotFound=[RED]Ce type n'existe pas ou n'est pas chargé.
    helpCommand=aide
    helpDescription=Type [YELLOW]%s [typename][WHITE] pour obtenir une description.
    assistant.creation.select.title=Sélectionnez le type de vitrine
    noShowcasePermission=[RED]Vous ne pouvez pas placer aucunes des vitrines.
    types.basic.description=Affiche juste l'objet.
    types.finite.description=Vous pouvez vendre vos propres objets.
    types.exchange.description=Vous pouvez échanger des objets pour d'autres objets.
    types.infinite.description=Vous pouvez vendre des objets en infinie.
    types.tutorial.description=Affiche un texte prédéfini sur un clic.
    assistant.buy.title=Asistant Achat
    assistant.buy.text=Entrez la quantité d'objets que vous souhaitez acheter.
    assistant.buy.price=[YELLOW]%s[WHITE] pour [YELLOW]%s[WHITE] chacun.
    buyNotification=%s achète %d %s pour un total de %s.
    buyMessage=Vous avez acheté %d %s pour un total de %s.
    shopSoldOut=Votre boutique avec %s a été vendu et retiré.
    notEnoughMoney=Vous n'avez pas assez pour tant d'objets.
    notEnoughMoneyForShowcase=Vous n'avez pas assez pour cette vitrine.
    checkoutCancel=Commande annulée.
    reloadSuccessful=[GREEN]Objets sauvegardés, Objets chargés, config et traduction
    loadSuccessful=[GREEN]Objets chargés, config et traduction
    saveSuccessful=[GREEN]Objets sauvegardés
    assistant.exchange.create.rate.title=Taux d'échange
    assistant.exchange.create.rate.text=Entrez le taux d'échange (gauche:droite)\nExemple: 2 gold pour 1 diamond = 1:2
    exchange.addexchange=Ajoute %d %s à votre inventaire.
    exchange.remaining.dropped=Abandonne le reste (%d) pour %n.
    assistant.exchange.create.type.text=Mettre l'objet que vous voulez obtenir pour l'échange et tapez ok\nOu tapez le nom/id de l'objet
    assistant.exchange.create.type.title=Echange d'objet
    assistant.exchange.create.type.selected=Vous sélectionnez %s.
    assistant.refill.title=Assistant Remplissage
    assistant.refill.finish=Remplissage fait.
    assistant.refill.body=[YELLOW]%d[WHITE] de [YELLOW]%s[WHITE] de la vitrine.\nUn objet coût [YELLOW]%s[WHITE].\nVous avez obtenu [YELLOW]%d[WHITE] objets.\nTapez un [YELLOW]nombre positif (ex. 10)[WHITE] pour ajouter des objets.\nTapez un [YELLOW]nombre négatif (ex. -6)[WHITE] pour retirer des objets.\nTapez [YELLOW]0 ou éloignez-vous[WHITE] pour quitter l'assistant.
    assistant.amount.title=Entrez la quantité d'objets. Vous avez obtenu %d pour %s.
    assistant.amount.add=Vous mettez pour %d objets.
    assistant.price.title=Entrez le prix par objet.
    assistant.price.done=Vous avez sélectionné un prix pour [YELLOW]%f.
    tutorial.title=Entrez le texte
    tutorial.text=Lignes multiples supportées, [COLOR] pour les couleurs, [YELLOW]done[WHITE] pour terminer.
    However, even by converting the file in UTF8, special characters are not considered.
     
  20. Offline

    Joeyy

    I got the same problem but I do not use odditem.
    To be exact, I get this too:

    "Showcase creation assistant

    Can't find key creation.item.title for translation!
    Can't find key creation.item.text for translation!"

    Along with this:
    Code:
    2011-09-10 19:06:54 [SEVERE] Could not pass event PLAYER_CHAT to NarrowtuxLib
    java.lang.NoClassDefFoundError: info/somethingodd/bukkit/OddItem/OddItem
    	at de.moritzschmale.Showcase.ShowcaseCreationAssistant$1.onPageInput(ShowcaseCreationAssistant.java:44)
    	at com.narrowtux.Assistant.Assistant.onPlayerChat(Assistant.java:60)
    	at com.narrowtux.event.NTLPlayerListener.onPlayerChat(NTLPlayerListener.java:15)
    	at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:279)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    	at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:706)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:694)
    	at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    	at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    	at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:478)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: info.somethingodd.bukkit.OddItem.OddItem
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
    	... 16 more
     
  21. Offline

    Sporadisk

    Hi there, just thought I might mention that after upgrading to 1.7.3, Showcase decided to reduce 'showcases.csv' to 0 bytes.
    Translated to the rest of you, all shops and showcases were deleted.

    We have since ceased using this plugin and switched to ChestShop 3.11, and I suggest everyone else does the same while you still have the opportunity to migrate with the inventory more or less intact.
    It's either that or backup showcase.csv regularly - and even that is no good solution as Showcase is wont to delete the file's contents at any moment.
     
  22. Offline

    alexh

    im hoping youll be adding selling to a slab
     
  23. Offline

    an0x

    any hope of the sell showcase? i wait months no and i dont want let the hope go ^^
     
  24. Offline

    Odjit

    Actually I'd rather he just save his updating energy for post 1.8. <3
     
  25. Offline

    Tim Visee

    About this bug:
    With the latest dev preview (not the recommended build), you're able to make slabs to double steps. I've got to investigate until they propose it as RB.

    You can create a block listener and add an event so that when a block is placed it runs the event, check if the placed block is 43 or 44 and if it is check if it is placed on the slab of a shop. If you havent this list with shop blocks you need to make one and if you add a shop you need to add the block location to that list. And ofcourse don't forget to save this... I think this isn't to hard to make!
     
  26. Offline

    Madness

    Would it be possible to use this without any economy plugin to create a barter system?
     
  27. Having a Showcase next to a magnet chest (LWC Plugin) will cause item being showcased to be repeatedly duped and placed into chest.
     
  28. Offline

    narrowtux

    Use my DropChest plugin, it does the same thing and Showcase supports it!
    You can use the exchange showcases!
     
  29. Offline

    darth2499

    can you add an option to disable spout?
    like so it wont download it automatically?
     
  30. Offline

    skawke

    Yeah..When the RB of craftbukkit comes out, no one will be able to use this plugin for a while purely because Spout won't be updated in time.
     
Thread Status:
Not open for further replies.

Share This Page