Player Reviewer

Features

This plugin allows users to apply for ranks, which are then rated by users with permissions to do so. The ratings are scored of 0-100 in criteria set within the config. An example of possible custom criteria is:

  • Quality
  • Size
  • Creativity

The default config options for criteria are:

  • Atmosphere
  • Originality
  • Terrain
  • Structure
  • Layout

The application logs the user's location and any user with permissions can teleport to the location to view a build relating to the application (for example). Another option is to log the location of the plot the user is currently in (Requires PlotSquared dependency).

When a staff member (with permissions to approve) has reviewed the application and the ratings given they can approve or deny, ultimately resulting in either the rank being granted or not.

The applications and ratings are logged either locally within the applications.yml file in the plugin folder or to a database, which can be configured within the applications.yml file too.

As it stands, currently the only permissions plugin supported are PermissionsEx and LuckPerms. Similarly, the only plot plugin supported at the moment is PlotSquared.

A GitLab project can be linked to use the issue system as a way of displaying applications and their related content such as position, render links, name, etc. You can also specify a Discord channel to send notifications to about new projects with a link to GitLab issue (if its used) and also application finalisation (approve or deny).

 

If you have a suggestion for a feature to be added, drop a comment below and ill have a look into it

 

Commands

/pr apply - Apply For The Specified Rank

/pr validranks [ALIASES: vr, ranks]- Displays All Rank Names On The Server 

/pr rate … - Rate An Open Application With A Rating of 0-100 In Each Criteria

/pr gotoplot [ALIASES: plot] - Teleport To Location Or Plot Of Open Application

/pr ratings - View Ratings Of Open Application (Requires Perm pr.ratings To View Other Users Applications)

/pr approval <name> <approve/deny> - Approve Or Deny Open Applications

/pr removeapplication <name> [ALIASES: ra, remap] - Remove An Open Application By Specifying Relevant Player Name

/pr version - Displays Plugin Version Information

/pr help - Displays Plugin Help Information

/pr apphelp - Displays application submission help

/pr status - Displays player application status

/pr pos1 - Register chunky position 1

/pr pos1 - Register chunky position 2

/pr cam - Register a chunky camera

/pr chunkysettings [ALIASES: cs] - Returns position, chunk and parameter details

/pr setparam [ALIASES: sp] - Sets a chunky JSON parameter

/pr removeparam[ALIASES: rp] - Removes a chunky JSON parameter

/pr viewparams <raw/list> [ALIASES: vp] - View currently set chunky JSON parameters

/pr clearparams [<confirm/deny>] [ALIASES: rp] - Clear all currently set chunky JSON parameters (requires confirmation)

 

Permissions

pr.use - Allows the use of the pr command

pr.apply - Allows the use of the /pr apply command

pr.validranks - Allows the use of the /pr validranks command

pr.rate - Allows the use of the /pr rate command

pr.gotoplot - Allows the use of the /pr gotoplot command

pr.ratings - Allows the use of the /pr ratings command for other users applications

pr.approval - Allows the use of the /pr approval command

pr.removeapplication - Allows the use of the /pr removeapplication command

pr.version - Allows the use of /pr version

pr.help - allows the use of /pr help

pr.apphelp - allows the use of /pr apphelp

pr.status - allows the use of /pr status

pr.pos1 - allows the use of /pr pos1

pr.pos2 - allows the use of /pr pos2

pr.cam - allows the use of /pr cam

pr.chunkysettings - allows the use of /pr chunkysettings

pr.setparam - allows the use of /pr setparam

pr.removeparam - allows the use of /pr removeparam

pr.viewparams - allows the use of /pr viewparams

pr.clearparams - allows the use of /pr clearparams

 

Configuration and Installation

Drag and drop the most recent version of the plugin into your plugins folder. Restart or start the server, the config file will generate.

 

The config file contains:

Discord:
  Notifications: true
  Use-Main-Text-Channel: false
  Channel: channel_name
Player-Applications:
External-Renders:
  Use-External: true
  Render-Command-Prefix: rs
User-Details:
  UseSQL: false
  HOSTNAME: hostname
  DATABASE: database name
  PORT: port number
  USER: username
  PASS: password
Application-Settings:
  Max-Application-Count: 10
  In-Game-Rating: false
  Use-Ranks-In-Application: false
  SQL-Table: playerapplications
  Use-Plot-Locations: true
  Criteria:
    - atmosphere
    - originality
    - terrain
    - structure
    - layout
  Use-Config-Ranks: true
  Application-Ranks: guest[GUEST:guest],squire,knight,baron,builder,head_builder,senior_builder
Chunky-Config:
  Use-Chunky: true
  Max-Camera-Count: 4
GitLab-Config:
  In-Progress-Apps:
  Use-GitLab: false
  Logins:
    Render-Link: https://you.api.service/service/get/&lt;UUID&gt;/json
    Render-Link-Queries: ?noFontReplace=1&limit=1
    Address: https://your.git.server.com
    Project-ID: 1
    Access-Token: accesstoken

Here you can specify:

  • Whether to use SQL databases or local files for application storage
  • Specify SQL database connection parameters
  • Whether to use plot locations (PlotSquared dependency) or player locations
  • Specify custom criteria for applications (Requires SQL database use)
  • Specify whether to use/allow ranks in applications
  • Specify the name of the SQL table applications are stored in
  • Whether to use server ranks or specify specific ranks for application availability
  • Specify ranks that can be applied for via an application (must be a valid rank on the server)
  • Specify the maximum application count per user
  • Whether to export chunky render parameters and cameras set by users
  • Maximum camera count for chunky renders
  • Specify whether to use Discord notifications and which channel to send to
  • Configure GitLab logins, links and project related content

SQL Database Configuration

If you are using an SQL database to store the applications, there are a few naming conventions that need to be followed (this will be user defined in the future):

 

The table name that you use must be set within the config file to match.

The columns must be as follows (replace 'criteria 1, criteria 2, etc' with the names of your criteria):

settings | status | name | rank | criteria 1 | criteria 2| … | criteria n | plotloc | totalRatings | ratinglist

 

Chunky

Chunky parameters and cameras are exported in JSON format to the SQL table column "settings", from here you can process them and generate a render of the chunky specified within the JSON.

Cameras are labelled in the following fahsion: "camera_n" where 'n' denotes the camera number.

All of the chunky parameters can be set from in game with the /pr setparams command. As a standard with just two positions captured and a camera set, the JSON will be as follows (any additional parameters are added in prior to export):

{
    "camera_1": {
        "position": {
            "x": 39.26309100906894,
            "y": 65.49390748022948,
            "z": -236.876800963328
        },
        "orientation": {
            "roll": 0.0,
            "pitch": -0.8635957187819827,
            "yaw": 0.7880137870620696
        },
        "projectionMode": "PINHOLE",
        "fov": 90.0,
        "dof": "Infinity",
        "focalOffset": 2.0
        },
    "chunkList": [[0,-15],[0,-14],[1,-15],[1,-14],[2,-15],[2,-14]]
}

 

Planned Additions

  • Expanding compatibility to other permissions plugins
  • Added chunky support
  • Custom criteria for locally stored applications and SQL stored applications

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    317054
  • Created
    Mar 10, 2019
  • Last Released File
    Jan 26, 2020
  • Total Downloads
    4,418
  • License

Categories

Members

Recent Files