🛠️Installation
Database
CREATE TABLE IF NOT EXISTS `court_applications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`exam_type` varchar(50) NOT NULL,
`status` enum('pending','approved','denied') DEFAULT 'pending',
`exam_score` int(11) DEFAULT NULL,
`votes` int(11) DEFAULT 0,
`license_number` varchar(50) DEFAULT NULL,
`date_issued` datetime DEFAULT NULL,
`date_expired` datetime DEFAULT NULL,
`created_at` timestamp NULL DEFAULT current_timestamp(),
`notes` text DEFAULT NULL,
`approved_by` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_appointments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`staff_identifier` varchar(50) DEFAULT NULL,
`staff_name` varchar(50) DEFAULT NULL,
`appointment_type` enum('license','name_change','court_case','consultation','filing','hearing') NOT NULL,
`scheduled_at` datetime NOT NULL,
`status` enum('pending','approved','rejected','completed') DEFAULT 'pending',
`case_ref` varchar(255) DEFAULT NULL,
`reason` text DEFAULT NULL,
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_attorneys` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`name` varchar(100) NOT NULL,
`hourly_rate` decimal(10,2) DEFAULT 100.00,
`specialization` varchar(100) DEFAULT NULL,
`status` enum('available','busy') DEFAULT 'busy',
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `player_identifier` (`player_identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_attorney_appointments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`attorney_identifier` varchar(50) NOT NULL,
`scheduled_at` datetime NOT NULL,
`status` enum('pending','confirmed','denied','completed') DEFAULT 'pending',
`reason` text DEFAULT NULL,
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `attorney_identifier` (`attorney_identifier`),
CONSTRAINT `court_attorney_appointments_ibfk_1` FOREIGN KEY (`attorney_identifier`) REFERENCES `court_attorneys` (`player_identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_businesses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`owner_identifier` varchar(60) NOT NULL,
`owner_name` varchar(100) DEFAULT NULL,
`approved` tinyint(1) DEFAULT 0,
`tax_rate` decimal(5,2) DEFAULT 0.00,
`total_tax_collected` decimal(10,2) DEFAULT 0.00,
`last_tax_pay` datetime DEFAULT NULL,
`date_created` timestamp NULL DEFAULT current_timestamp(),
`date_updated` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_cases` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`case_name` varchar(255) NOT NULL,
`judge_identifier` varchar(50) DEFAULT NULL,
`defendant_identifier` varchar(50) DEFAULT NULL,
`defence_identifier` varchar(50) DEFAULT NULL,
`jury_members` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`jury_members`)),
`lawyers` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`lawyers`)),
`evidence` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`evidence`)),
`date_time` datetime NOT NULL,
`settlement_fee` decimal(10,2) DEFAULT NULL,
`status` enum('private','public','closed') DEFAULT 'private',
`verdict` varchar(255) DEFAULT NULL,
`appeal_requested` tinyint(1) DEFAULT 0,
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_case_evidence` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`court_case_id` int(11) NOT NULL,
`uploader_identifier` varchar(50) DEFAULT NULL,
`evidence_type` enum('image','video','document','audio') NOT NULL,
`url` text NOT NULL,
`description` text DEFAULT NULL,
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `court_case_id` (`court_case_id`),
CONSTRAINT `court_case_evidence_ibfk_1` FOREIGN KEY (`court_case_id`) REFERENCES `court_cases` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_criminal_records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`case_id` int(11) DEFAULT NULL,
`reason` text NOT NULL,
`points` int(11) DEFAULT 0,
`date_created` datetime DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `case_id` (`case_id`),
CONSTRAINT `court_criminal_records_ibfk_1` FOREIGN KEY (`case_id`) REFERENCES `court_cases` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_fines` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(50) NOT NULL,
`issued_by` varchar(50) DEFAULT NULL,
`amount` decimal(10,2) NOT NULL,
`reason` text NOT NULL,
`paid` tinyint(1) DEFAULT 0,
`date_issued` datetime DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_jail` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`player_identifier` varchar(60) NOT NULL,
`player_name` varchar(100) DEFAULT NULL,
`jail_time` int(11) NOT NULL,
`jail_reason` varchar(255) DEFAULT NULL,
`jailed_by` varchar(60) DEFAULT NULL,
`jailed_at` datetime DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_taxes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(50) NOT NULL,
`rate` decimal(5,2) NOT NULL,
`description` text DEFAULT NULL,
`date_updated` datetime NOT NULL DEFAULT current_timestamp(),
`updated_by` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_votes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`voter_identifier` varchar(50) NOT NULL,
`candidate_identifier` varchar(50) NOT NULL,
`vote_date` datetime DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_witnesses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`court_case_id` int(11) NOT NULL,
`player_identifier` varchar(50) NOT NULL,
`witness_type` enum('observer','witness') DEFAULT 'observer',
`notes` text DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `court_case_id` (`court_case_id`),
CONSTRAINT `court_witnesses_ibfk_1` FOREIGN KEY (`court_case_id`) REFERENCES `court_cases` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE IF NOT EXISTS `court_organization` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`owner_identifier` varchar(64) DEFAULT NULL,
`balance` decimal(15,2) NOT NULL DEFAULT 0.00,
`employees` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`employees`)),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;Items Installation
bar_license = { name = 'bar_license', label = 'Bar License', weight = 100, type = 'item', image = 'bar_license.png', unique = true, useable = false, shouldClose = true, description = 'Allows you to legally operate a bar' },
mechanic_license = { name = 'mechanic_license', label = 'Mechanic License', weight = 100, type = 'item', image = 'mechanic_license.png', unique = true, useable = false, shouldClose = true, description = 'Allows you to legally operate a mechanic shop' },
attorney_license = { name = 'attorney_license', label = 'Attorney License', weight = 100, type = 'item', image = 'attorney_license.png', unique = true, useable = false, shouldClose = true, description = 'Allows you to legally operate as an attorney' },
judge_license = { name = 'judge_license', label = 'Judge License', weight = 100, type = 'item', image = 'judge_license.png', unique = true, useable = false, shouldClose = true, description = 'Allows you to legally operate as a judge' },["bar_license"] = {label = "Bar License", weight = 0, stack = false, close = true, description = "A license for your bar.", client = {image = "bar_license.png"}},
["mechanic_license"] = {label = "Mechanic License", weight = 0, stack = false, close = true, description = "A license for your mechanic shop.", client = {image = "mechanic_license.png"}},
["attorney_license"] = {label = "Attorney License", weight = 0, stack = false, close = true, description = "A license for your attorney services.", client = {image = "attorney_license.png"}},
["judge_license"] = {label = "Judge License", weight = 0, stack = false, close = true, description = "A license for your judge services.", client = {image = "judge_license.png"}},Job Installation
['court'] = {
label = 'Court House',
defaultDuty = true,
offDutyPay = false,
grades = {
[0] = {
name = 'Employee',
payment = 100
},
[1] = {
name = 'Attorney',
payment = 150
},
[2] = {
name = 'Judge',
isboss = true,
bankAuth = true,
payment = 200
},
},
},INSERT INTO `jobs` (`name`, `label`, `whitelisted`)
VALUES ('court', 'Court House', 0)
ON DUPLICATE KEY UPDATE `label` = VALUES(`label`), `whitelisted` = VALUES(`whitelisted`);
INSERT INTO `job_grades` (`job_name`, `grade`, `name`, `label`, `salary`, `skin_male`, `skin_female`)
VALUES
('court', 0, 'Employee', 'Employee', 100, '{}', '{}'),
('court', 1, 'Attorney', 'Attorney', 150, '{}', '{}'),
('court', 2, 'Judge', 'Judge', 200, '{}', '{}')
ON DUPLICATE KEY UPDATE
`name` = VALUES(`name`),
`label` = VALUES(`label`),
`salary` = VALUES(`salary`),
`skin_male` = VALUES(`skin_male`),
`skin_female` = VALUES(`skin_female`);
Last updated