Skip to content

This is a mod to manage player reputation on a server. Mean players (e.g. griefers and thieves) can get downvoted, while nice players can get upvoted. You can configure some actions to happen based on a player's reputation. You can configure even more actions using a datapack.

License

Notifications You must be signed in to change notification settings

modrinth-smp/fabric-rep-system

Repository files navigation

Fabric Reputation System

This is a mod to manage player reputation on a server. Mean players (e.g. griefers and thieves) can get downvoted, while nice players can get upvoted. You can configure some actions to happen based on a player's reputation. You can configure even more actions using a datapack.

Command summary

  • /rep view [player] — View the reputation of a player.
  • /rep set <rep>, /rep set <player> <rep> (operator only) — Set the reputation of a player.
  • /rep upvote <player> [reason] — Upvote a player. The reason argument can be configured to be required.
  • /rep downvote <player> [reason] — Downvote a player. The reason argument can be configured to be required.
  • /rep reload (operator only) — Reload the config file
  • /rep wanted — View the coordinates of a "wanted" player.

Getting the reputation in a datapack

You can save a player's reputation into a scoreboard objective with the following command:

execute as <entity> store result score @s <objective> run rep view @s[type=player]

Configuring the mod

Here's the mod's default config file:

{
	// Cooldown time is in seconds.
	// `/rep set` is not affected by cooldown, but `/rep upvote` and `/rep downvote` are.
	cooldown: 84600,
	// The minimum and maximum reputation.
	// All reputation changes will clamp between these values.
	minRep: null,
	maxRep: null,
	// Minimum required reputation to PvP. Anything lower than this will not be able to hit another player.
	// Can be set to null to always allow PvP.
	minPvPRep: null,
	// Minimum required reputation to modify within the range of spawn protection.
	// Can be set to null to always disallow modification.
	minSpawnBuildingRep: null,
	// Maximum required reputation to be wanted (have co-ords shown).
	// Can be set to null to not allow anyone to be wanted.
	maxWantedRep: null,
	// Require a reason to vote on a player.
	votingReasonRequired: true,
	// Show the upvote/downvote reason in notifications.
	showReason: false,
	// Notify the player when they get upvoted.
	upvoteNotifications: false,
	// Notify the player when they get downvoted.
	downvoteNotifications: false,
	// Webhook to log upvotes and downvotes.
	discordWebhookUrl: null
}

Querying reputation from a mod

First, depend on the mod in your build.gradle:

repositories {
    exclusiveContent {
        forRepository {
            maven {
                name = "Modrinth"
                url = "https://api.modrinth.com/maven"
            }
        }
        filter {
            includeGroup "maven.modrinth"
        }
    }
}

dependencies {
    modImplementation "maven.modrinth:fabric-rep-system:1.0.0"
}

Then, you can query the API for reputation data using RepUtils.getPlayerReputation(playerUuid).

About

This is a mod to manage player reputation on a server. Mean players (e.g. griefers and thieves) can get downvoted, while nice players can get upvoted. You can configure some actions to happen based on a player's reputation. You can configure even more actions using a datapack.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages