/** Return the defined game rules as NBT. */
  public NBTTagCompound writeGameRulesToNBT() {
    NBTTagCompound var1 = new NBTTagCompound();
    Iterator var2 = this.theGameRules.keySet().iterator();

    while (var2.hasNext()) {
      String var3 = (String) var2.next();
      GameRules.Value var4 = (GameRules.Value) this.theGameRules.get(var3);
      var1.setString(var3, var4.getGameRuleStringValue());
    }

    return var1;
  }
 /** Gets the string Game Rule value. */
 public String getGameRuleStringValue(String name) {
   GameRules.Value var2 = (GameRules.Value) this.theGameRules.get(name);
   return var2 != null ? var2.getGameRuleStringValue() : "";
 }