mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'src/block/liquid.rs')
-rw-r--r--src/block/liquid.rs47
1 files changed, 22 insertions, 25 deletions
diff --git a/src/block/liquid.rs b/src/block/liquid.rs
index ee7b591..f007747 100644
--- a/src/block/liquid.rs
+++ b/src/block/liquid.rs
@@ -2,42 +2,39 @@
use std::error::Error;
use std::fmt;
-use super::State;
use crate::block::distribution::BridgeBlock;
-use crate::block::simple::{cost, state_impl, BuildCost, SimpleBlock};
-use crate::block::{
- impl_block, make_register, BlockLogic, DataConvertError, DeserializeError, SerializeError,
-};
+use crate::block::make_register;
+use crate::block::simple::{cost, make_simple, state_impl};
use crate::content;
-use crate::data::dynamic::{DynData, DynType};
+use crate::data::dynamic::DynType;
use crate::data::renderer::load;
-use crate::data::GridPos;
use crate::fluid;
-use crate::item::storage::Storage;
+
+make_simple!(LiquidBlock);
make_register! {
- "reinforced-pump" => SimpleBlock::new(2, true, cost!(Beryllium: 40, Tungsten: 30, Silicon: 20));
- "mechanical-pump" => SimpleBlock::new(1, true, cost!(Copper: 15, Metaglass: 10));
- "rotary-pump" => SimpleBlock::new(2, true, cost!(Copper: 70, Metaglass: 50, Titanium: 35, Silicon: 20));
- "impulse-pump" => SimpleBlock::new(3, true, cost!(Copper: 80, Metaglass: 90, Titanium: 40, Thorium: 35, Silicon: 30));
- "conduit" => SimpleBlock::new(1, false, cost!(Metaglass: 1));
- "pulse-conduit" => SimpleBlock::new(1, false, cost!(Metaglass: 1, Titanium: 2));
- "plated-conduit" => SimpleBlock::new(1, false, cost!(Metaglass: 1, Thorium: 2, Plastanium: 1));
- "liquid-router" => SimpleBlock::new(1, true, cost!(Metaglass: 2, Graphite: 4));
- "liquid-container" => SimpleBlock::new(2, true, cost!(Metaglass: 15, Titanium: 10));
- "liquid-tank" => SimpleBlock::new(3, true, cost!(Metaglass: 40, Titanium: 30));
- "liquid-junction" => SimpleBlock::new(1, true, cost!(Metaglass: 8, Graphite: 4));
+ "reinforced-pump" => LiquidBlock::new(2, true, cost!(Beryllium: 40, Tungsten: 30, Silicon: 20));
+ "mechanical-pump" => LiquidBlock::new(1, true, cost!(Copper: 15, Metaglass: 10));
+ "rotary-pump" => LiquidBlock::new(2, true, cost!(Copper: 70, Metaglass: 50, Titanium: 35, Silicon: 20));
+ "impulse-pump" => LiquidBlock::new(3, true, cost!(Copper: 80, Metaglass: 90, Titanium: 40, Thorium: 35, Silicon: 30));
+ "conduit" => LiquidBlock::new(1, false, cost!(Metaglass: 1));
+ "pulse-conduit" => LiquidBlock::new(1, false, cost!(Metaglass: 1, Titanium: 2));
+ "plated-conduit" => LiquidBlock::new(1, false, cost!(Metaglass: 1, Thorium: 2, Plastanium: 1));
+ "liquid-router" => LiquidBlock::new(1, true, cost!(Metaglass: 2, Graphite: 4));
+ "liquid-container" => LiquidBlock::new(2, true, cost!(Metaglass: 15, Titanium: 10));
+ "liquid-tank" => LiquidBlock::new(3, true, cost!(Metaglass: 40, Titanium: 30));
+ "liquid-junction" => LiquidBlock::new(1, true, cost!(Metaglass: 8, Graphite: 4));
"bridge-conduit" => BridgeBlock::new(1, true, cost!(Metaglass: 8, Graphite: 4), 4, true);
"phase-conduit" => BridgeBlock::new(1, true, cost!(Metaglass: 20, Titanium: 10, Silicon: 7, PhaseFabric: 5), 12, true);
- "reinforced-conduit" => SimpleBlock::new(1, false, cost!(Beryllium: 2));
- "reinforced-liquid-junction" => SimpleBlock::new(1, true, cost!(Graphite: 4, Beryllium: 8));
+ "reinforced-conduit" => LiquidBlock::new(1, false, cost!(Beryllium: 2));
+ "reinforced-liquid-junction" => LiquidBlock::new(1, true, cost!(Graphite: 4, Beryllium: 8));
"reinforced-bridge-conduit" => BridgeBlock::new(1, true, cost!(Graphite: 8, Beryllium: 20), 4, true);
- "reinforced-liquid-router" => SimpleBlock::new(1, true, cost!(Graphite: 8, Beryllium: 4));
- "reinforced-liquid-container" => SimpleBlock::new(2, true, cost!(Tungsten: 10, Beryllium: 16));
- "reinforced-liquid-tank" => SimpleBlock::new(3, true, cost!(Tungsten: 40, Beryllium: 50));
+ "reinforced-liquid-router" => LiquidBlock::new(1, true, cost!(Graphite: 8, Beryllium: 4));
+ "reinforced-liquid-container" => LiquidBlock::new(2, true, cost!(Tungsten: 10, Beryllium: 16));
+ "reinforced-liquid-tank" => LiquidBlock::new(3, true, cost!(Tungsten: 40, Beryllium: 50));
// sandbox only
"liquid-source" => FluidBlock::new(1, true, &[]);
- "liquid-void" => SimpleBlock::new(1, true, &[]);
+ "liquid-void" => LiquidBlock::new(1, true, &[]);
}
pub struct FluidBlock {