public void onMinecartMeetConditionEvent(MinecartMeetsConditionEvent event) {
   if (event.isMeetCondition()) {
     return;
   }
   Sign sign = event.getSign();
   MinecartManiaMinecart minecart = event.getMinecart();
   MinecartManiaPlayer player = null;
   Object old = null;
   if (minecart.hasPlayerPassenger()) {
     player = MinecartManiaWorld.getMinecartManiaPlayer(minecart.getPlayerPassenger());
     old = player.getDataValue("Reset Station Data");
     player.setDataValue("Reset Station Data", true);
   }
   loop:
   for (int i = 0; i < sign.getNumLines(); i++) {
     String line = StringUtils.removeBrackets(sign.getLine(i).trim());
     for (StationCondition e : StationCondition.values()) {
       if (e.result(minecart, line)) {
         event.setMeetCondition(true);
         break loop;
       }
     }
   }
   if (player != null) {
     player.setDataValue("Reset Station Data", old);
   }
 }