Blocks ::: block_stash
Maintained by Adrian Greeve, Frédéric Massart ⭐
Add an inventory of items to your course and let your students find items by exploring the activities. #game #gamification
Latest release:
1201 sites
86 fans
Current versions available: 2

The stash block is a good way to encourage more interaction with activities and is invaluable for teachers looking to gamify their course.

This plugin introduces a block that shows students items that they have picked up through the course.

The teacher can create items and then place them in activities and resources for students to find.

Items can be set to be collected once and encourages exploration of the course material. It is also possible to set an item to have an unlimited supply from a set location. This could encourage  students to return to specific areas to collect more items. 

You can also check out this video:

Quick start

We've crafted a sample course for you to try, it is the best way to see what this plugin has to offer. Please accurately follow those steps:

1/ Get your hands on a Moodle installation
2/ Install the three following plugins (without exception)
3/ Enable conditional access, named enableavailability under "Site administration > Advanced features"
4/ Restore this backup file as a new course

5/ Enrol a student in the new course
Now, login as that student and try the course

Important note

In order to make this plugin easier to use and fully featured, please also install:

They are highly recommended.


This plugin is part of sets Stash, Gamification.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6


Adrian Greeve (Lead maintainer)
Frédéric Massart ⭐: (The real lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Tue, Mar 6, 2018, 12:07 AM
    Hi Frédéric,

    Thanks. In fact, I think that your plugin can be a good alternative also to the "normal" access control in Moodle. I would like to set up a rule like "The learner has to access 80% of all content before proceeding to the exam". With the normal access control, one can define every activity to be mandatory, but not a percentage, If they would pic up an item on each page automatically, that can be easily done.

    If you can direct me, I will try. I have a bit experience in JavaScript and have done a bit of editing of Moodle plugins, but I don't know how the event listeners work. I guess the picking up is done by the function "pickup_item($itemorid, $quantity = 1, $userid = null)", but how can I trigger the event from the Moodle page if I know (only) the drop snippet?

  • Tue, Mar 6, 2018, 9:43 PM
    Hi Pascal,

    Here you can see the old-fashioned JavaScript snippet: In short, what you need to do is instantiate the Drop object with ID and the hash of the drop, and then call the d.pickup() method. You set the rules as to when the pickup method has to be called. You can find the ID and Hash when you go to the UI to get the snippet for your item. Note that the full hash should never be included (5 chars is enough IIRC).

    Let me know how you go.


    PS: Sorry, quick message but it's the end of the day and my brain isn't functioning any more.
  • Tue, Mar 20, 2018, 4:55 AM
    I'm wondering what kind of logging this plugin does. I'm working with a professor who uses Level Up and wants to make some awards for things that happen outside of the LMS, but that can be tracked easily through student-submissions or some other mechanism. I'm curious to know if we use this plugin to stash some things at the end of submission forms or something if we could leverage the logging to add to their Level Up point values (because the Stash awards are in the logs). I know it sounds complicated, but is it do-able?
  • Tue, Mar 20, 2018, 8:59 AM
    Hello Carly,
    Yes block stash has an 'item_acquired' event. You can use this with Level Up to give XP to students that gain stash items.
  • Tue, Mar 20, 2018, 10:49 AM
    Hi Carly, to complement Adrian's answer, here is a screenshot of what the rule would look like in Level up!: [](screenshot)
  • Tue, Mar 20, 2018, 9:58 PM
    Yes, I see that now. My problem is that I need to award different points for different items acquired.
  • Thu, Mar 22, 2018, 7:34 PM
    My experience using this plugin is being fantastic. For me, it is a mandatory plugin if you want to use gamification in Moodle. After using it, I have realized that it would be very interesting to have a report containing all the operations (item achievement and trade) searchable for date and user. This woud help a lot when an user claim not to have received an object.

    Another interesting feature (related to previous one) is the possibility off adding/deleting items manually to/from the stash of a particular user.

    Thanks a lot for your work
  • Tue, Apr 3, 2018, 11:11 PM
    Hi Fred,
    Thanks a lot for your answer (some weeks ago). I am only getting back to it now. Together with the despription on, I manage to get the Generate the javascript snippet. Like this:
    image challenge
    Pick up!=item-action">

    This works fine, as long as I use the full hash - not if I shorten it.

    Where I I stuck now, is calling d.pickup(). I tried calling it from a text link or with
    $( document ).ready(function(){
    without success.

    Can you help?
    Thanks again!
  • Wed, Apr 4, 2018, 7:11 PM
    Hi Fred,
    Just to drop a note that managed to get the item picked up automatically (with or with delay). So that's solved.
    I just see now that the editor filtered out the code I added to my comment yesterday. Not really useful like that...
  • Thu, Apr 5, 2018, 10:40 AM
    Hi Pascal. Sorry, I didn't have time to follow up prior to you finding the solution. I'm glad to hear that you made it work!
  • Mon, May 7, 2018, 10:43 PM
    Good evening, I would like to try this plugin. I am sure I followed instructions as best I can. My STASH block does not appear ... where can I find it? It looks as if it is installed under blocks. (Manage Blocks - It is there and visible) No idea what is wrong.

    Any suggestions welcome pls!
  • Tue, May 8, 2018, 10:16 AM
    Hi Mignon, at the moment the block can only be added to courses, is that where you were trying to place it? Fred
  • Tue, Jul 3, 2018, 4:17 AM
    Will you release a zip file of all of the images you use in the examples?
  • Tue, Jul 3, 2018, 9:48 AM
    Hello S Moodle,
    All of the images are available in the backup linked in the description under "Quick start" (Number 4). Here is the URL again
  • Sat, Sep 1, 2018, 9:53 AM
    Just started exploring how Stash might be used in the course I'm teaching, and loving it so far!

    I was wondering if it would possible to allow items from Stash to conditionally display/hide content (similar to what can be done with the shortcodes built into the Level Up! plugin).

    This would allow for some really interesting narrative possibilities - sequencing the order in which items must be collected, hiding content until they have a particular item (e.g. find the key), giving hints to students who do not yet have a particular item, etc.

    Thanks for the great plugin guys.
Please login to post comments