"> Foro - Comando en Bloques de comandos - Page 1 of 1
Marzo 29, 2024, 06:33:57 am
Visitante


Autor Tema:  Comando  (Leído 4501 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Octubre 07, 2014, 05:31:10 pm

Tycer93


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

Como podria hacer que un comando detectara si un cofre está vacio???
Porfavor ayuda, es urgente

Linkback: https://minecraftmin.net/index.php?topic=5239.0


Respuesta #1 Octubre 07, 2014, 05:34:05 pm

_.-|TOMIELGLAN|-._




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    ....
  • Actividad

  • 0%
  • Logros

Más información

Lo unico que creo que funcionaría sería que sea algun comando tipo testforblock (ID del cofre) y alguna NBTag especial.... pero no se me ocurre nada y no soy bueno con esos comandos tan especiales...
zeñol polfabol





Respuesta #2 Octubre 07, 2014, 05:42:29 pm

markLDM




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Moderador del apartado servidores
  • Actividad

  • 0%
  • Logros

Más información

Aqui esta explicado, como decía tomi LINK yo no se como funciona asi que no me preguntes, tendrás que leerlo en ingles hasta que halguien haga un post en esta web explicandolo.
Te he ayudado? Comenta!


Respuesta #3 Octubre 07, 2014, 05:47:04 pm

Tycer93


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

Gracias a los dos




Respuesta #4 Octubre 07, 2014, 08:20:54 pm

thecalin


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Como ya te han dicho, lo que pides es posible mediante el comando /testforblock.

El siguiente comando lo que hará es detectar si el cofre en las coordenadas especificadas está vacío.
Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[]}Tendrás que cambiar las letras X, Y y Z por las coordenas correspondientes al cofre.


Saludos.


Respuesta #5 Octubre 07, 2014, 09:22:02 pm

markLDM




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Moderador del apartado servidores
  • Actividad

  • 0%
  • Logros

Más información

calin nos puedes explicar como funciona? Tipo si quiero, por ejemplo detectar un item en concreto o algo así.




Respuesta #6 Octubre 07, 2014, 10:30:52 pm

thecalin


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

calin nos puedes explicar como funciona? Tipo si quiero, por ejemplo detectar un item en concreto o algo así.

Claro:

Para empezar, el comando /testforblock sirve para detectar si en las coordenadas hay un bloque específico, en este caso, un cofre (minecraft:chest).
El -1 es la DataValue del cofre, al no ser específicada por @Tycer93 usé esa, que detecta el bloque sin necesidad de saber que DataValue tiene (Por la orientación y eso).

Ahora, lo que detecta los items que hay dentro del cofre es la NBT {Items:[]}. Al estar en blanco, lo que hace es detectar si el cofre está vacio.
Si quieres detectar algún Item específico, tendrás que agregar unas llaves { } dentro de los corchetes [ ].
NOTA: Por cada Item sería un par de llaves. Los items y sus llaves se separan por comas.

Para especificar un Item, dentro de las llaves deben de ir estas NBT Tags con los datos de tu Item.
  • id: La ID del item. Recomiendo poner la ID completa (minecraft:...) y entre comillas.
  • Count: La cantidad de items. Después de la cantidad se debe poner la letra "b". Opcional: Si no se especifíca detectará la cantidad que sea.
  • Slot: El slot del Item. También se debe poner "b" al final. Opcional: Si no se especifíca, detectará el item en cualquier slot.
  • Damage: La DataValue del Item. Se debe de poner la letra "s" al final. Opcional.
  • tag: Aquí se ponen las NBT Tags adicionales del item (Si quieres alguna). Opcional.

Ahora daré unos ejemplos:


  • Este comando detectará si hay algún cofre dentro del cofre. Cofreception
Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest"}]}

  • Este otro, solo detectará si tiene exactamente 4 cofres.
Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest",Count:4b}]}

  • Si quieres comprobar si el cofre tiene 23 Lanas de color azul usa el siguiente comando.
Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Count:23b,Damage:11s}]}

  • Este, más complicado, detecta si hay 34 cofres en el Slot 5, alguna lana azul y tres papeles de nombre "MinecraftMin".
Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Damage:11s},{id:"minecraft:chest",Slot:5b,Count:34b},{id:"minecraft:paper",Count:3b,tag:{display:{Name:"MinecraftMin"}}}]}


Espero haberme explicado bien. Esto parece un tema nuevo. xD
Saludos.


Respuesta #7 Octubre 11, 2014, 02:40:52 am

Pablete1234


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

calin nos puedes explicar como funciona? Tipo si quiero, por ejemplo detectar un item en concreto o algo así.

Claro:

Para empezar, el comando /testforblock sirve para detectar si en las coordenadas hay un bloque específico, en este caso, un cofre (minecraft:chest).
El -1 es la DataValue del cofre, al no ser específicada por @Tycer93 usé esa, que detecta el bloque sin necesidad de saber que DataValue tiene (Por la orientación y eso).

Ahora, lo que detecta los items que hay dentro del cofre es la NBT {Items:[]}. Al estar en blanco, lo que hace es detectar si el cofre está vacio.
Si quieres detectar algún Item específico, tendrás que agregar unas llaves { } dentro de los corchetes [ ].
NOTA: Por cada Item sería un par de llaves. Los items y sus llaves se separan por comas.

Para especificar un Item, dentro de las llaves deben de ir estas NBT Tags con los datos de tu Item.
  • id: La ID del item. Recomiendo poner la ID completa (minecraft:...) y entre comillas.
  • Count: La cantidad de items. Después de la cantidad se debe poner la letra "b". Opcional: Si no se especifíca detectará la cantidad que sea.
  • Slot: El slot del Item. También se debe poner "b" al final. Opcional: Si no se especifíca, detectará el item en cualquier slot.
  • Damage: La DataValue del Item. Se debe de poner la letra "s" al final. Opcional.
  • tag: Aquí se ponen las NBT Tags adicionales del item (Si quieres alguna). Opcional.


Ahora daré unos ejemplos:


  • Este comando detectará si hay algún cofre dentro del cofre. Cofreception

Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest"}]}


  • Este otro, solo detectará si tiene exactamente 4 cofres.

Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest",Count:4b}]}


  • Si quieres comprobar si el cofre tiene 23 Lanas de color azul usa el siguiente comando.

Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Count:23b,Damage:11s}]}


  • Este, más complicado, detecta si hay 34 cofres en el Slot 5, alguna lana azul y tres papeles de nombre "MinecraftMin".

Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Damage:11s},{id:"minecraft:chest",Slot:5b,Count:34b},{id:"minecraft:paper",Count:3b,tag:{display:{Name:"MinecraftMin"}}}]}



Espero haberme explicado bien. Esto parece un tema nuevo. xD
Saludos.

me siento en la obligacion de puntuar varias cosas:
primero: si testeas {Items:[]}, cualquier cosa dara valido, ya que algo vacio, equivale a "no lo voy a testear" , por ejemplo: si le dices {Items:[{Slot:0b,minecraft:glass}],eso testeara si hay glass en el primer slot, pero no testeara si hay glass en el primer slot, y aire en todos los demas, si hay glass tanto en el slot 0 como en el 1, este testforblock dara positivo de todos modos. es asi como funciona.

segundo: {Items:[{id:"minecraft:chest",Count:4b}]} no testea si hay 4 cofres, testea si hay un stack con 4 cofres en algun lugar del cofre, si pones un stack de 2 cofres, y otro con 2 cofres, ese test for block fallara.


Conclusión: tienes que testear por {Items:[{Slot:0b,id:"minecraft:air"},{Slot:1b,id:"minecraft:air"},{Slot:2b,id:"minecraft:air"}[...]]} si a alguien le apetece hacer el comando adelante





Respuesta #8 Octubre 11, 2014, 02:54:49 am

thecalin


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Spoiler para Pablete1234:
calin nos puedes explicar como funciona? Tipo si quiero, por ejemplo detectar un item en concreto o algo así.

Claro:

Para empezar, el comando /testforblock sirve para detectar si en las coordenadas hay un bloque específico, en este caso, un cofre (minecraft:chest).
El -1 es la DataValue del cofre, al no ser específicada por @Tycer93 usé esa, que detecta el bloque sin necesidad de saber que DataValue tiene (Por la orientación y eso).

Ahora, lo que detecta los items que hay dentro del cofre es la NBT {Items:[]}. Al estar en blanco, lo que hace es detectar si el cofre está vacio.
Si quieres detectar algún Item específico, tendrás que agregar unas llaves { } dentro de los corchetes [ ].
NOTA: Por cada Item sería un par de llaves. Los items y sus llaves se separan por comas.

Para especificar un Item, dentro de las llaves deben de ir estas NBT Tags con los datos de tu Item.
  • id: La ID del item. Recomiendo poner la ID completa (minecraft:...) y entre comillas.
  • Count: La cantidad de items. Después de la cantidad se debe poner la letra "b". Opcional: Si no se especifíca detectará la cantidad que sea.
  • Slot: El slot del Item. También se debe poner "b" al final. Opcional: Si no se especifíca, detectará el item en cualquier slot.
  • Damage: La DataValue del Item. Se debe de poner la letra "s" al final. Opcional.
  • tag: Aquí se ponen las NBT Tags adicionales del item (Si quieres alguna). Opcional.



Ahora daré unos ejemplos:


  • Este comando detectará si hay algún cofre dentro del cofre. Cofreception


Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest"}]}



  • Este otro, solo detectará si tiene exactamente 4 cofres.


Código: [Seleccionar]
/testforblock X Y Z minecraft:chest -1 {Items:[{id:"minecraft:chest",Count:4b}]}



  • Si quieres comprobar si el cofre tiene 23 Lanas de color azul usa el siguiente comando.


Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Count:23b,Damage:11s}]}



  • Este, más complicado, detecta si hay 34 cofres en el Slot 5, alguna lana azul y tres papeles de nombre "MinecraftMin".


Código: [Seleccionar]
/testforblock X Y Z chest -1 {Items:[{id:"minecraft:wool",Damage:11s},{id:"minecraft:chest",Slot:5b,Count:34b},{id:"minecraft:paper",Count:3b,tag:{display:{Name:"MinecraftMin"}}}]}




Espero haberme explicado bien. Esto parece un tema nuevo. xD
Saludos.

me siento en la obligacion de puntuar varias cosas:
primero: si testeas {Items:[]}, cualquier cosa dara valido, ya que algo vacio, equivale a "no lo voy a testear" , por ejemplo: si le dices {Items:[{Slot:0b,minecraft:glass}],eso testeara si hay glass en el primer slot, pero no testeara si hay glass en el primer slot, y aire en todos los demas, si hay glass tanto en el slot 0 como en el 1, este testforblock dara positivo de todos modos. es asi como funciona.

segundo: {Items:[{id:"minecraft:chest",Count:4b}]} no testea si hay 4 cofres, testea si hay un stack con 4 cofres en algun lugar del cofre, si pones un stack de 2 cofres, y otro con 2 cofres, ese test for block fallara.


Conclusión: tienes que testear por {Items:[{Slot:0b,id:"minecraft:air"},{Slot:1b,id:"minecraft:air"},{Slot:2b,id:"minecraft:air"}[...]]} si a alguien le apetece hacer el comando adelante

No tengo idea cómo estás ejecutando los comandos, pero a por lo menos, sirven para lo que especifiqué.
A excepción del segundo punto, eso está correcto.

Saludos.

« Última modificación: Octubre 11, 2014, 02:57:28 am por thecalin »





Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
[1 comando] Puntos de control con comando /EXECUTE

Iniciado por Bransito

2 Respuestas
2677 Vistas
Último mensaje Julio 14, 2015, 06:29:23 pm
por Bransito
xx
Pasar de Comando "Summon" a Comando "Setblock ~~~ mob_spawner"

Iniciado por rofal2500

1 Respuestas
1706 Vistas
Último mensaje Enero 05, 2017, 05:04:23 pm
por LordFin4l
xx
De comando.

Iniciado por Venom Spitter

1 Respuestas
2162 Vistas
Último mensaje Mayo 13, 2014, 05:30:22 pm
por Mixteriox
xx
Bug en comando

Iniciado por Dax17

2 Respuestas
2659 Vistas
Último mensaje Julio 02, 2015, 01:47:16 am
por Dax17