CommandBlock Comment faire dropper que certains items à la mort d'un joueur ?

Mødesties

Aventurier
13 Octobre 2019
5
0
2
21
Bonjour,
Je viens de finir un remake de la map Mineral Contest sur laquelle Squeezie joue et j'ai rencontré un problème par rapport au fait que quand quelqu'un meurt, il drop tout ce qu'il a sur lui, et je souhaitais s'il était possible de permettre au joueur mort de ne dropper que certains items, en particulier :
- les lingots de fer
- les lingots d'or
- les diamants
- les émeraudes
PS : je suis en 1.14.4
Merci d'avance pour votre réponse
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Bonjour !
Je crains qu'il n'y ait pas de solution simple.

En 30 secondes de réflexion, je dirai :
- un scoreboard pour détecter la mort du joueur (custom.deathCount)
- summon une Armor stand sur le joueur mort
- l'armor stand tag les items proche que tu veux conserver
- l'armor stand kill les entités proches de type item qui ne sont pas tagées
- l'armor stand se kill elle même
- tous les joueurs qui ont 1 ou plus dans le score DeathCount sont remis a 0
 

Mødesties

Aventurier
13 Octobre 2019
5
0
2
21
Bonjour !
Je crains qu'il n'y ait pas de solution simple.

En 30 secondes de réflexion, je dirai :
- un scoreboard pour détecter la mort du joueur (custom.deathCount)
- summon une Armor stand sur le joueur mort
- l'armor stand tag les items proche que tu veux conserver
- l'armor stand kill les entités proches de type item qui ne sont pas tagées
- l'armor stand se kill elle même
- tous les joueurs qui ont 1 ou plus dans le score DeathCount sont remis a 0

Ok... et est ce que tu saurais quelles commandes je devrais utiliser ?
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
1. Créer un objectif de type DeathCount
Code:
#A taper une seule fois dans ton chat
/scoreboard objectives add isDead deathCount
2. Le système de tri d'objet en command blocks (pas besoin d'armor stand finalement). L'ordre est TRES important. A mettre dans des command block en chaine. cf photo, de gauche a droite. Respectes bien les états des command blocks.
Code:
/execute as @a[scores={isDead=1..}] at @s run tag @e[type=item,distance=..4] add omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:iron_ingot"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:gold_ingot"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:diamond"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:emerald"}}] remove omaewamushindeiru
/execute as @a[scores={isDead=1..}] at @s run kill @e[tag=omaewamushindeiru,type=item,distance=..5]
/scoreboard players set @a[scores={isDead=1..}] isDead 0
2019-10-27_12.44.36.png


Et cela fonctionne ! Voir le retour de commandes dans le chat.
Comme tu peux le voir, cela ne tue QUE les objets autour du mort dans un rayon de 4-5 blocks. Les livres, eux, ont survécus.
2019-10-24_22.47.34.png 2019-10-24_22.47.43.png 2019-10-24_22.47.48.png
 
Dernière édition:
16 Février 2014
1 944
391
217
le sud (de Melun)
Excellent ça je savais pas qu'on pouvait executer sur des joueurs morts.
Les command blocks doivent être mis à jour après les scoreboards et le spawn des items, et avant la suppression des entités mortes.
J'imagine qu'on peut réduire la distance, les items doivent pas avoir le temps de bouger de 4 blocs.
 
Dernière édition:
  • J'aime
Reactions: FunkyToc

Mødesties

Aventurier
13 Octobre 2019
5
0
2
21
j'ai un petit problème, tout les objets sont supprimés
 

Fichiers joints

  • 2019-10-26_12.30.33.png
    2019-10-26_12.30.33.png
    291.3 KB · Affichages: 330
  • 2019-10-26_12.30.36.png
    2019-10-26_12.30.36.png
    285.2 KB · Affichages: 352
  • 2019-10-26_12.30.43.png
    2019-10-26_12.30.43.png
    253.5 KB · Affichages: 351
  • 2019-10-26_12.30.48.png
    2019-10-26_12.30.48.png
    189.9 KB · Affichages: 330

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Visiblement, le tag n'est pas enlevé aux items que tu souhaites conserver.
Le problème viens des blocs de commandes qui sont en conditionnels.

Edit : J'ai trouvé ! Le problème vient bien des blocs conditionnels. Passes les tous en non conditionnels !
Edit 2 : j'ai mis a jour le screen du post principal.
 
Dernière édition:

Tegear

Aventurier
19 Août 2021
1
0
1
24
1. Créer un objectif de type DeathCount
Code:
#A taper une seule fois dans ton chat
/scoreboard objectives add isDead deathCount
2. Le système de tri d'objet en command blocks (pas besoin d'armor stand finalement). L'ordre est TRES important. A mettre dans des command block en chaine. cf photo, de gauche a droite. Respectes bien les états des command blocks.
Code:
/execute as @a[scores={isDead=1..}] at @s run tag @e[type=item,distance=..4] add omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:iron_ingot"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:gold_ingot"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:diamond"}}] remove omaewamushindeiru
/tag @e[tag=omaewamushindeiru,nbt={Item:{id:"minecraft:emerald"}}] remove omaewamushindeiru
/execute as @a[scores={isDead=1..}] at @s run kill @e[tag=omaewamushindeiru,type=item,distance=..5]
/scoreboard players set @a[scores={isDead=1..}] isDead 0
Voir la pièce jointe 84800

Et cela fonctionne ! Voir le retour de commandes dans le chat.
Comme tu peux le voir, cela ne tue QUE les objets autour du mort dans un rayon de 4-5 blocks. Les livres, eux, ont survécus.
Voir la pièce jointe 84774 Voir la pièce jointe 84775 Voir la pièce jointe 84776
Salut, j'ai une autre question, comment faire pour ne drop que les minerais mais si le joueur avait une armure sur lui qu'il l'a garde ? Merci d'avance de ta réponse.