LeadWires

This project is abandoned and its default file will likely not work with the most recent version of Minecraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

This plugin allows you to place "wires" using tools, commands or API for the developers. The wires are actually leads on invisible entities (silverfish, since they are the smallest mobs).

Regular players can also place leads on blocks that are allowed in the config. You may configure the plugin to require a permission from players to place leads or disable this feature completely. Such leads will be broken and dropped as items if blocks they reside in are destroyed.

The plugin causes almost no lag because all entities are sent using packets, meaning they don't tick, receive damage, move, cause events, etc. This also prevents leads from breaking when they have length more than 10 blocks, since the server doesn't even know they exist.

ProtocolLib is required for this plugin.

Limitations

  • Minecraft client will render the lead as partially or fully (depending on the client version) black, if there is a solid block under one of the wire points. This is not fixable, you should avoid it yourself (there is a workaround -- place a slab under the block, and a torch under the slab, that way slab will be "lit" and lead will not become dark).
  • There is no way to disable a bounding box on a silverfish, so players may be unable to hit blocks or entities directly behind the silverfish. Though the bounding boxes are relatively small. This is not an issue if wires are out of reach for the players.
  • Shaders may render leads incorrectly (half-transparent or black). To fix, you need to use other shaders or ask developers to fix their shader code.
  • Leads can't be colored or made bigger until Mojang decides to change it.

Commands

  • add-wire <world> <x> <y> <z> <x2> <y2> <z2> [uuid]: Adds a new wire.
  • remove-wire <uuid>: Removes a wire by an UUID.
  • remove-wires-in-block <world> <x> <y> <z>: Removes all wires starting in a block.
  • remove-nearest-wire: Removes a wire nearest to the sender.
  • wire-tool <place|place-thick|remove>: Gives a tool for placing or removing wires.
  • lead-wires-reload: reload the plugin config.

Tools

Wire Placer

  • Click RMB on a block to set the first point.
  • Click RMB again on another block to place a wire between the first point and the second block. The wire will start and end in the exact center of the blocks.
  • Click RMB again to continue placing the wire from the last point.
  • Click LMB to reset the first point.

Thick Wire Placer

Works in the same way as Wire Placer, except it places thicker wires (they are actually three wires that are slightly offset).

Wire Remover

Click RMB on a block to remove all wires that start or end in the block.

Permissions

  • leadwires.add-wire: Allows you to use /add-wire.
  • leadwires.remove-wire: Allows you to use /remove-wire.
  • leadwires.remove-wires-in-block: Allows you to use /remove-wires-in-block.
  • leadwires.remove-nearest-wire: Allows you to use /remove-nearest-wire.
  • leadwires.use-tools: Allows you to use command /wire-tool and tools.
  • leadwires.reload: Allows you to use /lead-wires-reload.

Config

config.yml contains configuration for different parts (modules) of the plugin. At this moment, there is only "lead placement" module.

Settings for lead placement:

# If false, lead placement will be disabled.
enabled: true
# Max length of the lead. If exceeded, player will receive a message.
maxLength: 10
# If true, player can continue placing leads after placing one,
# new lead will start from second point of the last lead.
continueFromLastPoint: true
# Permission to place leads. If empty, permission will not be checked.
# If permission is set and player has no such permission, player will receive a message.
permission: ''
# All blocks allowing a lead to be placed on them.
# This list works both for the legacy (1.12-) and flattened (1.13+) versions.
allowedBlocks:
  - 'FENCE'
  ...
# Messages sent to players.
messages:
  firstPointSet: '&aFirst point of the lead set'
  ...

There is a messages.yml file containing all messages in English.

API

The plugin allows you to create and remove wires programmatically, so you or your developers can implement some awesome ideas like electricity, power poles, etc.

To use this plugin as an API, read the GitHub page for instructions.


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    371023
  • Created
    Mar 25, 2020
  • Last Released File
    Sep 8, 2020
  • Total Downloads
    472
  • License

Categories

Members

Recent Files