Add EMC Builder: a BuildCraft Builder that pays for materials with EMC
- TileEMCBuilder extends TileBuilder. During build() it exposes virtual material slots backed by EMC, then charges the EMC value (1:1) of what was used. Real items and tank fluids are still used first. - EMC is stored per player per world (EmcPool, WorldSavedData), so all EMC Builders a player owns in a world share one balance. - GUI based on BuildCraft's Builder GUI, with an EMC consume slot like the Transmutation Table's and the owner's balance shown. - Blueprint schematic strips the owner; the first player to open an unowned builder becomes its owner. - Lit top while building is not drawn. - Shapeless recipe: Builder + Transmutation Table. - Depend on local BuildCraft 7.1.27 and FMProjectE dev jars in libs/ (not committed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
536e567348
commit
870e5d13eb
18 files changed
+999
-2
No files matched your search
@@ -1,8 +1,22 @@
|
||||
package net.kanawo.emcbuilder;
|
||||
|
||||
import net.kanawo.emcbuilder.tile.TileEMCBuilder;
|
||||
|
||||
import buildcraft.core.render.RenderBuilder;
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
|
||||
public class ClientProxy extends CommonProxy {
|
||||
|
||||
// Override CommonProxy methods here, if you want a different behaviour on the client (e.g. registering renders).
|
||||
// Don't forget to call the super methods as well.
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
super.init(event);
|
||||
|
||||
// The Builder's own renderer (RenderBuilderTile) also draws BuildCraft's lit top while building. Its base
|
||||
// renderer draws only the area box, path lasers and flying items.
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEMCBuilder.class, new RenderBuilder());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user