Skip to content

Friends Priority Relationships Bonus Example

netprogs edited this page May 29, 2012 · 2 revisions
{
  "genderChoiceRequired": true,
  "sameGenderMarriageAllowed": true,
  "globalAnnouncePriestMarriages": true,
  "loggingDebug": false,
  "groupSettings": {
    "childSettings": {
      "maximumChildren": 30,
      "priority": "LOWEST",
      "perUseCost": 0.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "friendSettings": {
      "maximumFriends": 30,
      // In order to ensure that this gets checked first, set the priority to higher than the others.
      // If a player attempts to use the teleport perk, this setting will get checked first and will
      // look for the interaction player (the other guy) in the friends list first. 
      // If found, the executing player will be given the cheaper rate. 
      // If the interaction player is not a friend however, this does not apply and instead the system
      // will continue on looking for other matches for them in other social groups.
      "priority": "HIGHEST",
      "perUseCost": 0.0,
      "perks": [
        // We're going to use the name teleportCheapForFriends instead of the shared teleport. (See below)
        // This allows us to use a custom cost for this group setting.
        "gift", "tell", "sticky", "teleportCheapForFriends", "damage"
      ]
    },
    "relationshipSettings": {
      "maximumRelationships": 30,
      // We also want to increase the priority of this group allowing people in relationships together
      // the same cheap rate that friends do.
      "priority": "HIGH",
      "perUseCost": 0.0,
      "perks": [
        // We're going to use the name teleportCheapForFriends instead of the shared teleport. (See below)
        // This allows us to use a custom cost for this group setting.
        "gift", "tell", "sticky", "teleportCheapForFriends", "damage"
      ]
    },
    "affairSettings": {
      "maximumAffairs": 30,
      "priority": "LOWEST",
      "perUseCost": 0.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "engagementSettings": {
      "engagementPeriod": 300,
      "priority": "LOWEST",
      "perUseCost": 50.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "divorceSettings": {
      "bitternessPeriod": 300,
      "priority": "LOWEST",
      "perUseCost": 50.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "marriageSettings": {
      "honeymoonPeriod": 300,
      "priority": "LOWEST",
      "perUseCost": 0.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "lawyerSettings": {
      "bitternessPeriod": 0,
      "priority": "LOWEST",
      "perUseCost": 500.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    },
    "priestSettings": {
      "honeymoonPeriod": 0,
      "priority": "LOWEST",
      "perUseCost": 500.0,
      "perks": [
        "gift", "tell", "sticky", "teleport", "damage"
      ]
    }
  },
  "perkSettings": [
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.GiftSettings",
      "data": {
        "name": "gift",
        "coolDownPeriod": 0,
        "perUseCost": 0.0,
        "maximumNumber": 10
      }
    },
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.TellSettings",
      "data": {
        "name": "tell",
        "coolDownPeriod": 0,
        "perUseCost": 0.0
      }
    },
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.StickySettings",
      "data": {
        "name": "sticky",
        "coolDownPeriod": 0,
        "perUseCost": 0.0,
        "maximumNumber": 10
      }
    },
    // Notice the perUseCost here for the shared perk setting
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.TeleportSettings",
      "data": {
        "name": "teleport",
        "coolDownPeriod": 0,
        "perUseCost": 50.0
      }
    },
    // We now define our own perk setting for Teleport but lower the cost.
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.TeleportSettings",
      "data": {
        "name": "teleportCheapForFriends",
        "coolDownPeriod": 0,
        "perUseCost": 10.0
      }
    },
    {
      "type": "com.netprogs.minecraft.plugins.social.config.settings.perk.PlayerDamageSettings",
      "data": {
        "damageAllowedFromPlayer": false,
        "damageAllowedFromProjectile": false,
        "damageAllowedFromTameable": false,
        "name": "damage",
        "coolDownPeriod": 60,
        "perUseCost": 0.0
      }
    }
  ]
}