package Ġcom . github . ch ristop h pick l . der ba uer . action Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġcom . github . ch ristop h pick l . der ba uer . misc . Abstract Feature Ċ import Ġcom . github . ch ristop h pick l . der ba uer . misc . Feature Ċ import Ġcom . github . ch ristop h pick l . der ba uer . model . Model Ċ import Ġcom . github . ch ristop h pick l . k pot p our ri . common . reflection . properties OfType Ċ import Ġcom . github . ch ristop h pick l . k pot p our ri . common . string . String ifier Ċ Ċ class ĠAction Features Ġ{ ĊĊĠĠĠ Ġval Ġthr one Room Enabled Ġ= ĠAction Feature (" Th r one Ġroom ") Ġ{ ĊĠĠĠĠĠĠĠ ĠModel . player . build ings . cast les . amount Ġ> Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ JsonIgnore Ġval Ġall Ġ= Ġproperties OfType < Action Features , ĠFeature >( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= ĠString ifier . stringify ( this ) Ċ } Ċ Ċ class ĠAction Feature ( ĊĠĠĠ Ġlabel : ĠString , ĊĠĠĠ Ġpredicate : Ġ() Ġ-> ĠBoolean Ċ ) Ġ: ĠAbstract Feature ( ĊĠĠĠ Ġ" New Ġaction Ġavailable : Ġ$ label ", Ġpredicate Ċ ) Ċ