0

Minecraft v. 1.12.2

I currently have a scoreboard:

/scoreboard objectives add Riding dummy that adds the Riding dummy.

My second command sets Riding to 1 if a player is in a boat:

/scoreboard players set @a[type=Player] Riding 1 RootVehicle:{Entity:{id:Boat}} (Command is set to repeat)

If the above command is not active, then this one fires instead:

/scoreboard players set @a[type=Player] Riding 0 (Also on repeat)

Here's what it looks like:

enter image description here

The command on the far right, that detects is the player is in a boat, never fires off. Is there an update that I missed in 1.12.2 that changes the tags? The command block output remains blank, ad the other purple command block outputs that it found my player and set the Riding value to 0. Why is it not detecting me in a boat?

(Yes, I am using the right kind of boat, the default oak boat)

EDIT: I'm testing to see if the player is in a boat with:

/execute @a[score_Riding=0] ~ ~ ~ detect ~ ~ ~ water 0 /effect @p 7 1 2

This is a multiplayer server.

6
  • 2
    99% of your problems are a direct result of your use of redstone here. Never, ever use redstone with your command blocks except to enable blocks with "needs redstone". It is pure evil, especially with post 1.9 command blocks.
    – MBraedley
    Jul 9, 2018 at 17:59
  • I tried it without redstone and the issue still occurs. I think it's partly the way the commands are used.
    – RATIU5
    Jul 9, 2018 at 18:16
  • 1
    You really want a chain of commands to start with, and you want to clear everyone's score before you set it for those in boats. Also, you should probably be using tags and not scores, but that's besides the point.
    – MBraedley
    Jul 9, 2018 at 18:23
  • Haven't used tags or scores much, just did what I found on google.
    – RATIU5
    Jul 9, 2018 at 18:24
  • 1
    Try "boat" instead of "Boat". Does that fix it? Jul 10, 2018 at 5:35

1 Answer 1

3

Two fixes. Your initial command has a few formatting issues, it should be:
scoreboard players set @a Riding 1 {RootVehicle:{Entity:{id:"minecraft:boat"}}}

Then, you're executing when Riding=0 instead of Riding_min=1. Use this instead: execute @a[score_Riding_min=1] ~ ~ ~ detect ~ ~ ~ water 0 /effect @p 7 1 2?

Ensure that you set the Riding score of all players to 0 BEFORE you run the check to see if a player is in a boat, otherwise the score of all players will always be 0.

Also, @a[type=Player] is redundant, because @a already selects all player entities.

Finally, I would recommend using chain command blocks in sequence as opposed to redstone, because the update order can be confusing. Use this to help: enter image description here

2
  • He does not want to test for water, but for sitting in a boat. Jul 10, 2018 at 5:34
  • I'm aware, but as it turns out my suggestion wasn't what was wrong. I shoved it into a command block and figured out what was wrong. My answer has since been edited.
    – getfugu
    Jul 10, 2018 at 6:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .