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.