AIOJetpacks/README.md
2024-02-15 13:31:58 +01:00

5.3 KiB

AIOJetpacks

Source code of AIOJetpacks

Complete source code of FreestyleCrafter AIO Jetpacks plugin.

AIO Jetpacks Available for Spigot | Source Code

An advanced jetpack plugin, that is still simple to use. Did you ever wanted to have custom jetpacks in Minecraft, that are refuelable? Now you can have them. This plugin uses it's own flight control code and is not a simple fly enabler. Simply drop this plugin into your plugins folder. It will create a default config in which you can add as many different jetpacks (jetpack profiles) as you want.

Functions

    You can add as many different jetpacks as you want, see config
    Custom fuel and fuel ticks (How many ticks you can fly with one piece of fuel)
    You can even set the fuel to infinite fuel by changing a variable
    Custom item to use as a jetpack
    Custom item recipe
    Custom item enchantments
    Custom default item name
    Custom potion effects when wearing a jetpack
    Modifiable speed of the jetpack (Sprinting, normal, sneaking (Slow) while flying) 

Configuration

This plugin uses a simple configuration system. All variables that are missing, are getting auto-completed. To add a new jetpack profile you can copy and modify the example given.

# AIO Jetpacks configuration
# use-permissions: Enable or disable permissions system
# jetpacks: You can add your own jetpacks here
# <name>: The jetpacks profile name
# displayName: Name the jetpack item should have
# item: The item that should be used as jetpack
# recipe: To disable recipe, type []
#   - First recipe row, to leave a field empty, write NULL
#   - Second recipe row, to leave a field empty, write NULL
#   - Third recipe row, to leave a field empty, write NULL
# enchantments: Here you can add enchantments to the item, write {} to leave empty.
#   <ENCHANTMENT>: Level
# infiniteFuel: Set if fuel is infinite
# fuel: The fuel item to use
# ticksPerFuel: How many ticks you can fly with one piece of fuel
# normalSpeed: Normal speed of the jetpack
# fastSpeed: Speed when pressing sprint key + W
# slowSpeed: Speed when sneaking
# effectsIdleDrain: Delay of effects fuel drain in ticks. Set to -1 to disable this feature and permanently enable effects.
# effects: Here you can add potion effects, write {} to leave empty.
#   <EFFECT>: Effect strength

use-permissions: true
jetpacks:
  example:
    displayName: Example Jetpack
    item: IRON_CHESTPLATE
    recipe:
    - NULL REDSTONE NULL
    - REDSTONE IRON_CHESTPLATE REDSTONE
    - FEATHER BLAZE_ROD FEATHER
    enchantments:
      PROTECTION_ENVIRONMENTAL: 5
    infiniteFuel: false
    fuel: COAL
    ticksPerFuel: 300
    normalSpeed: 1.0
    fastSpeed: 1.5
    slowSpeed: 0.5
    effectsIdleDrain: -1
    effects:
      SPEED: 2
  # Add your custom jetpacks here

Useful resources: Advanced explanation of configuration List of valid items | List of valid potion effects | List of valid enchantments Commands

    /jetpacks - Base command, displays help
    /jetpacks reload - Reloads the plugin and its configuration
    /jetpacks cheat <jetpack> [<player>] - Cheats a jetpack (if you want for another player) with the given profile name 

Permissions

(If you haven't enabled permissions in configuration, then you can use and craft all jetpacks by default and commands are OP only)

Admin

    aio.jetpacks.command.base - Allows the user to use /jetpacks, this is required for all other commands to work
    aio.jetpacks.command.cheat - Allows the user to use /jetpacks cheat
    aio.jetpacks.command.reload - Allows the user to use /jetpacks reload
    aio.jetpacks.jetpack.cheat.* - Allows the user to cheat all jetpacks if he has permission to use the cheat command
    aio.jetpacks.jetpack.cheat.<jetpack profile name> - Allows the user to cheat a jetpack with the profile named <jetpack profile name> if he has permission to use the cheat command 

User

    aio.jetpacks.jetpack.use.* - Allows the user to equip all jetpacks
    aio.jetpacks.jetpack.use.<jetpack profile name> - Allows the user to equip a jetpack with the profile named <jetpack profile name>
    aio.jetpacks.jetpack.craft.* - Allows the user to craft all jetpacks
    aio.jetpacks.jetpack.craft.<jetpack profile name> - Allows the user to craft a jetpack with the profile named <jetpack profile name> 

Exlanation of lores

    Plugin identifier: This prevents conflicts with other plugins that are using similar lores.
    Format: "> Jetpack"
    Profile: The jetpacks profile.
    Format: "#<profile name>"
    Fuel level (Only when using fuel): Shows remaining fuel ticks and maximum fuel ticks.
    Format: "Fuel: <current>/<max>"
    Fuel type (Only when using fuel): Shows what kind of fuel you need to refuel your jetpack.
    Format: "Fuel type: <fuel>"
    C(rafted) (Only when crafted or cheated): This is an unix timestamp and shows when the item has been crafted or cheated.
    Prevents item stacking and is useful for server owners.
    Server owners: If you want to integrate a jetpack into starterkits or cheat them in with a different plugin, set this lore to "C: -1". It will be automatically set on use.
    Format: "C: <timestamp>" 

Planned features and known bugs

Features

   Particles while flying
   Improve jetpacks by using another jetpack in crafting recipe and defined items around it 

Bugs

   None, let me know