Skip to main content

Locks

Comments

9 comments

  • Neil Selby

    Hi David.

    I can confirm that this happens in the upper grades too. Back in July during lockdown I was hosting a Minecraft world from home that students at my school could join on a daily basis. At first it was a creative world that I was hosting and therefore students had an infinite supply of resources, so pinching each others stuff wasn't really a problem. When we did eventually switch to a survival world though the 'griefing' was a constant issue between certain students and in the end it got very tiresome having to 'police' what was going on in the world.

    I agree that lockable chests/doors would be a worthwhile development and so I'm up-voting your suggestion. Maybe a combination lock? It could work something like the Join Code in a multiplayer world where the student who is setting the lock has to choose four symbols that must be selected in order to open the chest/door again.

    Neil

    1
  • Fiel Esprit

    Lockable doors won't be enough to keep out determined squatters and people who decide to dismantle your house for the lulz, just saying. Griefing is such a widespread problem that it's inspired the creation of a grief-prevention mod in the Java edition.

    0
  • John Moritz

    I was thinking of putting border blocks around designated student areas and creating a teleport plate that is activated by a combination of some kind. Is this possible? If so, how?

    0
  • Dan Noble Community moderator
    Expert (Gold) Moderator

    I've used a command block sequence in the past for that situation. Here's how to do it:

    The first command block uses: 

    /testfor @p [r=3] 

    Block type is set to: Repeat, Redstone is set to: Always active. 

    Comparator pointing to the next command block which is: 

    /tp <playername> <enter coordinates here>

    Block Type is set to: Impulse, Redstone is set to: Needs Redstone

    I've also used a variation of this with the /setblock command instead of the /tp command so that it briefly places a redstone torch and activates a hidden sticky piston door. 

    Hopefully this helps!

    1
  • John Moritz

    This system works great. Is there a way to test who triggers this? I created a pressure plate using what you show above. It works except ANYONE can stand on it and teleport that player. 

    0
  • John Moritz

    I solved it with the help of your code. I didn't know I could but I just check for the the player nearby:

    /testfor Moritz_J [r=3]

    Then I teleport by name:

    /tp Moritz_J -11 4 -19

    To save any conflicts, I will create a 'safe' space for each student to store their items and build a home. Thanks again for the help.

    0
  • Dan Noble Community moderator
    Expert (Gold) Moderator

    No problem, John Moritz glad this works for you!

    0
  • Aleece Landis
    Expert (Gold)

    I've done a similar thing where students get their own plots, you can also use an NPC and a door keeper.  Anyway, I've used a command like this to stuff all of it into a single command  /execute @p[name=JohnD,x=-16,y=63,z=-16] ~~~ detect ~ ~-1 ~ glowstone 0 /tp @p[name=JohnD] ~-8 ~ ~-8

    This is to make sure they are the ones trying to activate the teleport AND the ones who are allowed to use that teleport.  Then you have to give them a way to teleport back out too.

    Above is what I use for their building plot (updating the coordinates for the particular situation)  For a "vault" I would probably create a template room and clone it for each student, making sure to protect it with deny or barrier blocks as needed and give individual teleport systems to each student.

    Another option for a small amount of private storage for each student that won't take much if any work on the part of the teacher, give them each an ender chest.

     

    0
  • Aleece Landis
    Expert (Gold)

    Now days it gets even easier to use an NPC as a door keeper since you can use the @initiator selector within the NPC commands so not I might choose to say /execute @initiator[name=JohnD] ~~~ tp @initiator[name=JohnD] ~8 ~ ~8 or something like that.  I suppose I wouldn't even need to use the /execute anymore either.  Just simply /tp @initiator[name=JohnD] ~8 ~ ~8 since the selector @initiator means it will only work on whoever was accessing the NPC and the [name=JohnD] means it will only work if JohnD is the Initiator.

     

    0

Please sign in to leave a comment.