How to give a shield with a banner and a name?

I'm trying to give a shield that has a name and a pattern, but I can't combine the two nbt tags correctly. Either one works or neither works. Here's an example of a command I've been trying (I'm in 1.14.4 and want this to work on multiplayer, by the way): `

/give @p minecraft:shield{display:{Name:"[{\"text\":\"Shield of the Lake\",\"italic\":false,\"color\":\"blue\"}]",BlockEntityTag:[{Base:9,Patterns:[{Color:11,Pattern:"gru"},{Color:11,Pattern:"bts"},{Color:3,Pattern:"mr"}]}]}} 1

`


Solution 1:

Try putting the BlockEntityTag under the root object instead of under display.

Command:

/give @p minecraft:shield{display:{Name:'[{"text":"Shield of the Lake","italic":false,"color":"blue"}]'},BlockEntityTag:{Base:9,Patterns:[{Color:11,Pattern:"gru"},{Color:11,Pattern:"bts"},{Color:3,Pattern:"mr"}]}} 1

The NBT formatted:

{
  display: {
    Name: '[{"text":"Shield of the Lake","italic":false,"color":"blue"}]'
  },
  BlockEntityTag: {
    Base: 9,
    Patterns: [
      {Color: 11, Pattern: "gru"},
      {Color: 11, Pattern: "bts"},
      {Color: 3, Pattern: "mr"}
    ]
  }
}

Solution 2:

/give @p shield{Enchantments:[{id:unbreaking,lvl:3},{id:mending,lvl:1}],BlockEntityTag:{Base:9,Patterns:[{Pattern:"moj",Color:3}]}} 1