Skip to content

Packages to enhance the gameplay, add moderation utilities, or provide interfaces for other projects.

Notifications You must be signed in to change notification settings

pierrelasse/Scripting-Package-pierrelasse_plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Scripting Package - pierrelasse/plugins

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)
end

Implementation 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
end

Interface 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
end

Interface 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:

  1. Player1: /switchaccount Player2
  2. Player1 reconnects
  3. Player1 joins as Player2
  4. Player2 (secretly Player2) reconnects
  5. 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)

About

Packages to enhance the gameplay, add moderation utilities, or provide interfaces for other projects.

Resources

Stars

Watchers

Forks

Languages