#dynamic properties

1 messages · Page 1 of 1 (latest)

plucky bloom
#

hi im new with script api

vague fiber
#

You can just straight use the dynamic property, you do not need to register them

plucky bloom
#

?

#

world.beforeEvents.worldInitialize.subscribe(e => {
  e.propertyRegistry.registerEntityTypeDynamicProperties({ blocksBroken: "number" }, "minecraft:player");
});

world.afterEvents.playerBreakBlock.subscribe(({ player, itemStack }) => {
  if (!itemStack || !itemStack.typeId.includes("pickaxe")) return;
  const inv = player.getComponent("inventory").container;
  const item = inv.getItem(player.selectedSlot);
  if (!item) return;
  let n = item.getDynamicProperty("blocksBroken") || 0;
  item.setDynamicProperty("blocksBroken", ++n);
  item.setLore([`§l§9Block broken : ${n}`]);
  inv.setItem(player.selectedSlot, item);
});```
vague fiber
#

Delete the world initalize event entirely

#

Not needed

plucky bloom
#

ok

vague fiber
#

What's that line?

plucky bloom
#

world.beforeEvents.subscribe(e => {
  e.propertyRegistry.registerEntityTypeDynamicProperties({ blocksBroken: "number" }, "minecraft:player");
});

world.afterEvents.playerBreakBlock.subscribe(({ player, itemStack }) => {
  if (!itemStack || !itemStack.typeId.includes("pickaxe")) return;
  const inv = player.getComponent("inventory").container;
  const item = inv.getItem(player.selectedSlot);
  if (!item) return;
  let n = item.getDynamicProperty("blocksBroken") || 0;
  item.setDynamicProperty("blocksBroken", ++n);
  item.setLore([`§l§9Block broken : ${n}`]);
  inv.setItem(player.selectedSlot, item);
});```
clear shard
#

Tabus

plucky bloom
#

mdr

clear shard
#

Sup l'events au complet

#

De 3 à 5

vague fiber
#

bruh

plucky bloom
#

il servait a quoi ducoup alors ?

vague fiber
#
import { world } from "@minecraft/server";

world.afterEvents.playerBreakBlock.subscribe(({ player, itemStack }) => {
  if (!itemStack || !itemStack.typeId.includes("pickaxe")) return;
  const inv = player.getComponent("inventory").container;
  const item = inv.getItem(player.selectedSlot);
  if (!item) return;
  let n = item.getDynamicProperty("blocksBroken") || 0;
  item.setDynamicProperty("blocksBroken", ++n);
  item.setLore([`§l§9Block broken : ${n}`]);
  inv.setItem(player.selectedSlot, item);
});
#

delete the event..

plucky bloom
#

ok

clear shard
#

La ta compris il la suprimer pour toi carrément
Sa ce voit il est déprimé après ce qu'il a vue🤣

plucky bloom
#

mdr

plucky bloom
vague fiber
#

selectedSlot does not exist any more- it’s called selectedSlotIndex now

plucky bloom
#

ok thx