Bedrock Energistics Core

Easy to use and powerful APIs for creating compatible Minecraft Bedrock tech add-ons.

Features

Machine UI

Provides powerful machine UI APIs, while abstracting away the hard parts.
export const voidMinerMachine = {
  description: {
    // ...
    ui: {
      elements: {
        energyBar: {
          type: "storageBar",
          startIndex: 0,
          defaults: {
            type: "energy"
          }
        },
        progressIndicator: {
          type: "progressIndicator",
          indicator: "arrow",
          index: 4,
        },
        outputSlot: {
          type: "itemSlot",
          slotId: 0,
          index: 5,
          allowedItems: OUTPUT_ITEM_TYPES,
        },
      },
    },
  },
  handlers: {
    updateUi({ blockLocation }) {
      const uid = blockLocationToUid(blockLocation);

      return {
        progressIndicators: {
          progressIndicator: Math.floor(
            (progressMap.get(uid) ?? 0) / 1.5
          ),
        },
      };
    },
  },
  // ...
};

Simple

Simple APIs for simple machines, while having more powerful APIs for complex machines.
export const itemSpawnerComponent = {
  onTick({ block }) {
    const storedEnergy = getMachineStorage(block, "energy");
    if (storedEnergy < ENERGY_CONSUMPTION) return;

    const spawnLoc = Vector3Utils.add(block.location, VECTOR3_UP);
    block.dimension.spawnItem(new ItemStack("example:item"), spawnLoc);

    setMachineStorage(block, "energy", storedEnergy - ENERGY_CONSUMPTION);
  },
};
export const passiveGeneratorComponent = {
  onTick({ block }) {
    generate(block, "energy", 2);
  },
};

Storage Types

Create storage types that can be shared between add-ons.
world.afterEvents.worldInitialize.subscribe(() => {
  // Use a predefined storage type:
  useStandardStorageType(StandardStorageType.Oil);

  // Or, create your own:
  registerStorageType({
    id: "example:custom_fluid",
    category: StandardStorageCategory.Fluid,
    color: "blue",
    name: "custom fluid"
  });
});

Marketplace Creators

Marketplace creators using Bedrock Energistics Core.

Featured Content

Featured add-ons, worlds, and other content using Bedrock Energistics Core.