Skip to main content

manabrew_engine/replacement/
mod.rs

1// Core types (extracted from replacement_effect.rs to match Java file structure)
2pub mod replacement_layer;
3pub mod replacement_result;
4pub mod replacement_type;
5
6// Replacement effect struct + parser
7pub mod replacement_effect;
8
9// Handler (dispatcher)
10pub mod replacement_handler;
11
12// ── Replace* subclass modules (1:1 with Java Replace*.java) ──────────────────
13
14// Fully implemented
15pub mod replace_add_counter;
16pub mod replace_counter;
17pub mod replace_damage;
18pub mod replace_destroy;
19pub mod replace_draw;
20pub mod replace_gain_life;
21pub mod replace_game_loss;
22pub mod replace_game_win;
23pub mod replace_moved;
24pub mod replace_produce_mana;
25pub mod replace_token;
26
27// Format/mechanic-specific replacement modules
28pub mod replace_assemble_contraption;
29pub mod replace_assign_deal_damage;
30pub mod replace_attached;
31pub mod replace_begin_phase;
32pub mod replace_begin_turn;
33pub mod replace_cascade;
34pub mod replace_copy_spell;
35pub mod replace_dealt_damage;
36pub mod replace_declare_blocker;
37pub mod replace_draw_cards;
38pub mod replace_explore;
39pub mod replace_learn;
40pub mod replace_life_reduced;
41pub mod replace_lose_mana;
42pub mod replace_mill;
43pub mod replace_pay_life;
44pub mod replace_planar_dice_result;
45pub mod replace_planeswalk;
46pub mod replace_proliferate;
47pub mod replace_remove_counter;
48pub mod replace_roll_dice;
49pub mod replace_roll_planar_dice;
50pub mod replace_scry;
51pub mod replace_set_in_motion;
52pub mod replace_tap;
53pub mod replace_transform;
54pub mod replace_turn_face_up;
55pub mod replace_untap;
56
57// Re-export all public types for convenience
58pub use replacement_effect::*;
59pub use replacement_handler::*;
60pub use replacement_layer::ReplacementLayer;
61pub use replacement_result::ReplacementResult;
62pub use replacement_type::ReplacementType;