Después de buscar en diferentes repositorios y sitios al final nos hemos encontrado la resolución que te enseñaremos más adelante.
Solución:
En 1.13 y superioresto se puede hacer con el siguiente comando:
/kill @e[type=item,nbt=!Item:id:"minecraft:blue_banner"]
La siguiente solución es para la versión 1.8:
Primero, cree un objetivo de marcador ficticio:
/scoreboard objectives add ItemToRemove dummy
Siempre que desee limpiar los elementos caídos, ejecute estos comandos en este orden:
/scoreboard players set @e[type=Item] ItemToRemove 1
/scoreboard players set @e[type=Item,x=40,y=1,z=40,dx=40,dy=27,dz=80] ItemToRemove 0 Item:id:"minecraft:banner",Damage:4s
/kill @e[score_ItemToRemove_min=1]
Lo que esto hace es configurar todos los elementos ItemToRemove
puntuación a 1, establece el banner ItemToRemove
puntuación de nuevo a 0, luego mata todo con un mínimo de 1 ItemToRemove
puntaje.
A partir de Minecraft 1.9, puede usar una etiqueta de marcador para marcar la bandera en lugar de un objetivo ficticio como se describe en la respuesta de colorfusion.
/scoreboard players tag @e[type=Item,tag=!isFlag] add isFlag Item:id:"minecraft:banner",Damage:4s
/kill @e[type=Item,tag=!isFlag]
Esto tiene tres beneficios:
- No es necesario establecer un objetivo.
- Tenga en cuenta que no hay ningún comando para etiquetar cada artículo. Esto se debe a que las etiquetas se inicializan como una lista vacía de forma predeterminada, lo que significa
tag=!isFlag
funciona en entidades por defecto. Esto es diferente a los objetivos del marcador, que se inicializan en Nulo/Ninguno, lo que falla en todas las comparaciones con números (a los efectos de los argumentos del selector de objetivos), p.(Null>=0)==False
,(Null<0)==False
. - Como resultado de 2, podemos hacer que cada bandera solo se etiquete una vez, en lugar de una vez por marca.
Nos puedes añadir valor a nuestra información participando con tu veteranía en las notas.