Various features, interfaces, and more made by me that can change the gameplay.
A collection of all commands from pierrelasse/plugins/commands.
A simple /anvil command.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/anvil", function(p)
p.COMMAND = "anvil"
p.PERMISSION = "commands.anvil"
end)Teleport a player to you using /bring <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/bring", function(p)
p.COMMAND = "bring"
p.PERMISSION = "commands.bring"
end)Copy a player's inventory to another player using /copyinventory <destination: player> [<source: player>].
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/copyinventory", function(p)
p.COMMAND = "copyinventory"
p.PERMISSION = "commands.copyinventory"
end)A simple /craft command.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/craft", function(p)
p.COMMAND = "craft"
p.PERMISSION = "commands.craft"
end)Chat or run a command as a different player using /sudo <target: player> <message: string...>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/doas", function(p)
p.COMMAND = "sudo"
p.PERMISSION = "commands.doas"
end)Open a player's ender chest using /ecsee <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/ecsee", function(p)
p.COMMAND = "ecsee"
p.PERMISSION = "commands.ecsee"
end)Restore a player's food bar using /feed <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/feed", function(p)
p.COMMAND = "feed"
p.PERMISSION = "commands.feed"
end)Enable or disable fly for a player using /fly <target: player> [<state: boolean>].
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/fly", function(p)
p.COMMAND = "fly"
p.PERMISSION = "commands.fly"
end)Adds /gm <gameMode> [<target: player>] and /gm<gameMode> [<target: player>].
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/gamemode", function(p)
p.PERMISSION = "commands.gm"
-- Remove `/gms` & `/gm survival`.
p.MAP[bukkit.gameMode("SURVIVAL")] = nil
end)Teleport you to a player using /goto <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/goto", function(p)
p.COMMAND = "goto"
p.PERMISSION = "commands.goto"
end)Restore a player's health & food bar using /heal <target: player>.
Uses pierrelasse/plugins/commands/feed to restore the food bar.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/heal", function(p)
p.COMMAND = "heal"
p.PERMISSION = "commands.heal"
p.FEED = true
end)Set a player's health using /hp <target: player> <amount: number>.
Example: /hp player1 10 - Sets the health of player1 to 5 hearts.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/hp", function(p)
p.COMMAND = "hp"
p.PERMISSION = "commands.hp"
end)Open a player's inventory using /invsee <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/invsee", function(p)
p.COMMAND = "invsee"
p.PERMISSION = "commands.invsee"
end)Set a player's invulnerable state using /invulnerable <target: player> [<state: boolean>].
This is basically a /god command.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/invulnerable", function(p)
p.COMMAND = { "invulnerable", "god" }
p.PERMISSION = "commands.invulnerable"
end)Loop a command or a chat message using /loop <delay: integer> <amount: integer> <message: string...>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/loop", function(p)
p.COMMAND = "loop"
p.PERMISSION = "commands.loop"
end)Respawn a dead player using /respawn <target: player>.
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/respawn", function(p)
p.COMMAND = "respawn"
p.PERMISSION = "commands.respawn"
end)Set the walking or flying speed of a player using /speed <speed: number{0-10}|reset> [<target: player>] [<fly|walk>].
Configurable using:
paman.needAndApply("pierrelasse/plugins/commands/speed", function(p)
p.COMMAND = "speed"
p.PERMISSION = "commands.speed"
p.PERMISSION_OTHER = "commands.speed.other"
end)Adds /trash which opens a GUI where you can put in items to destroy them.
There is a history option which lets you restore deleted items.
paman.needAndApply("pierrelasse/plugins/commands/trash", function(p)
p.HISTORY_SIZE = 0 -- disable history
p.HISTORY_SIZE = 5 -- set the history to 5 items saved per player
p.COMMAND = "trash"
p.PERMISSION = "commands.trash"
end)WIP.
Library for creating items with "abilities".
WIP.
A very lightweight version of github/TheSilentPro/HeadDB.
Still work in progress but usable.
A very lightweight version of github/emanondev/ItemEdit.
Commands:
- /ie damage
- /ie amount
- /ie lore
- /ie rename
- /ie enchant
- /ie unbreakable
- /ie attribute
- /ie type
Chat for staff.
/staffchat <message> to send a message to all players that have the !.staff.chat perrmision.
Configurable using:
local staff_chat = require("@pierrelasse/plugins/staff/chat")
-- Set the command to /hello instead of /staffchat, /sc.
staff_chat.COMMAND = "hello"
-- Set the send & recive permission.
staff_chat.PERMISSION = "myserver.staff.chat"// TODO
// TODO
Interface for messaging staff.
// TODO
// TODO
// TODO
// TODO
// TODO
Adds a cooldown for sending chat messages.
Configurable using:
paman.needAndApply("pierrelasse/plugins/chatCooldown", function(p)
Lang.get("en"):put({
pierrelasse = {
plugins = {
chatCooldown = {
cooldown = comp.mm("<red>Please wait before sending another message! <#b4453b>({0}s)"),
highCooldownLog = "{0}'s cooldown is {1}s: {2}",
tooQuicklyLog = "{0} sent another message within {1}s: {2}"
}
}
}
})
-- How much cooldown should be added when a message is sent.
p.COOLDOWN_INCREASE = function(player)
return 1.5
end
-- How big the cooldown can be before it prevents sending a message.
p.COOLDOWN_THRESHOLD = function(player)
return 1.8
end
-- When to report a player spamming to staff.
p.REPORT_HIGH_COOLDOWN_AT = 5
end)Interface for storing & managing combat timers.
Configurable using:
local combat = require("@pierrelasse/plugins/combat")
-- Set the default combat timer duration.
combat.TIMER = 15 -- seconds
-- Set callback to update the display.
-- It is called atleast every second for players in combat.
combat.DISPLAY_FUNC = function(player, timer)
bukkit.sendActionBar(player, "§7Combat: §c"..timer)
endImplementation that manages what happens if a player is attacked, dies, or logs out.
Configurable using:
local combatListener = require("@pierrelasse/plugins/combatListener")
-- Set what happens if a player logs out while in combat.
combatListener.ON_LOGOUT = function(player)
player.setHealth(0) -- kills the player
end
-- If a player should get set into combat when attacked/attacking or not.
combatListener.CAN_ENTER_COMBAT = function(victim, attacker)
-- victims always get put into combat
local canVictimEnter = true
-- attackers get put into combat if not in creative or spectator mode
local canAttackerEnter = not bukkit.isInCreativeOrSpec(attacker)
return canVictimEnter, canAttackerEnter
end
-- Set what happens on a player's death.
combatListener.ON_DEATH = function(player)
return true -- if the player should exit combat or not
endInterface for storing & managing balances.
A Vault integration might be added later.
Run code ingame using /eval <code...>.
Example: /eval print("hello!")
Permission: scripting.eval
Drop heads for mobs on death.
ie. if you kill a creeper, it drops their head.
Configurable using:
local headDrops = require("@pierrelasse/plugins/headDrops")
-- Disable drops for allays.
headDrops.MAP.ALLAY = nil
-- Make cows drop a stone.
headDrops.MAP.COW = { material = "STONE" }
-- Make spiders drop a custom item.
headDrops.MAP.SPIDER = function(entity)
return bukkit.buildItem("STICK")
:name("Spider Stick")
end
-- Map all drops.
headDrops.ITEM = function(entity, drop)
-- 30% chance that there is no drop.
if random:chance(30) then
return nil
end
return drop
endInterface for storing & managing home locations.
Configurable using:
local homes = require("@pierrelasse/plugins/homes")
-- Set the max homes for all players to 5.
-- `playerId` is the uuid of the requested player as string.
homes.GET_MAX_HOMES = function(playerId)
return 5
end
-- Add 'myworld' as an allowed world.
homes.ALLOWED_WORLDS.add("myworld")
-- Disallow setting homes in the nether.
homes.ALLOWED_WORLDS.remove("world_nether")Spawns an effect only (no damage or fire) lightning on player deaths.
Allows you to log in as other players.
Example:
- Player1: /switchaccount Player2
- Player1 reconnects
- Player1 joins as Player2
- Player2 (secretly Player2) reconnects
- Player1 joins
Useful for recording, testing, and much more!
WIP
Manages sending, tracking, and accepting teleport requests between players.
Provides and handles the commands, UI, and localization for sending, receiving, and accepting TPA (teleport) requests between players.
Configurable using:
paman.needAndApply("pierrelasse/plugins/tpRequestsCommands", function(p)
-- Translations are also configurable.
p.COMMAND_SEND = "tpa"
p.COMMAND_SEND_PERMISSION = "commands.tpa"
p.COMMAND_SENDHERE = "tpahere"
p.COMMAND_SENDHERE_PERMISSION = "commands.tpahere"
p.COMMAND_ACCEPT = "tpaccept"
p.COMMAND_ACCEPT_PERMISSION = "commands.tpaccept"
end)