@Override protected void readComponents(ComponentsAccess components) { super.readComponents(components); this.number = components.getOrDefault(ExampleMod.NUMBER, 0); } @Override protected void addComponents(ComponentMap.Builder componentMapBuilder) { super.addComponents(componentMapBuilder); componentMapBuilder.add(ExampleMod.NUMBER, number); } // 仅限 1.21.5 及之前的版本: @Override public void removeFromCopiedStackNbt(NbtCompound nbt) { nbt.remove("number"); } // 对于 1.21.6 及之后的版本: @Override public void removeFromCopiedStackData(WriteView view) { view.remove("number"); }