Spigot Plugin for creating light shows/concerts in Minecraft

Overview

Light-Show

Spigot Plugin for creating light shows/concerts in Minecraft. It works by simulating ingame effects like guardian and beacon beams.

Demo

Here you can see a snippet of a light-show I made: Light-Show-Demo
Click on the Demo to view the full video on Reddit.

How it works

A surface level description would be: It uses the internet to receive signals form a lighting control software which can be translated into Minecraft. Going more into detail it receives DMX512 signals via the protocol Art-Net to filter out values for ingame fixtures.

How one can use it

It might seem complex at first, but it really isn't once you get the hang of it:

  1. Install plugin on your server.
  2. Setup config.json and depending on what you want fixture configs.
  3. Register fixtures by adding them as DmxEntries.
  4. Install a lighting control software (MagicQ, Dot2, GrandMA2, GrandMA3, etc.).
  5. Learn installed lighting control software (ChamSys has tutorials for MagicQ).
  6. Setup fixtures in your software. See Fixtures for coding info.
  7. Connect lighting control software to Minecraft via Art-Net.
  8. Start Art-Net connectivity by using command /show start
  9. Light away!

Troubleshooting

For questions and ideas please join the Discord Server.

Credits

The reason for not having any dependencies is that I made everything myself. This, however, was supported by checking out how others implemented what I was trying to do.

Plugin:
Java Art-Net - cansik's Art-Net library
Lots of inspiration - Rushmead's Theatrical Mod (Additionally ORGG Studios for explanation videos)
Packet usage - SkytAsul
Video:
Arena Map - TheHolder, PreFXDesigns, CraftCrusader
Stage - MinerBuilder
Concert - Alan Walker: Untold Festival, Neversea Festival, Parookaville Festival

You might also like...

A Spigot plugin to edit block properties and more.

BoneTool BoneTool is a tool created to edit block properties with many features for builders. This is a creative tool developed as a package of featur

Jan 6, 2022

Spigot plugin with a bunch of quite useful commands in it!

Spigot plugin with a bunch of quite useful commands in it!

QuiteUsefulCommands Spigot plugin with a bunch of quite useful commands in it. Install Download the latest release and drag it into your server's plug

Aug 20, 2022

A simple Bingo Plugin for Spigot 1.18.1

A simple Bingo Plugin for Spigot 1.18.1

Bingo The first one to find 4 items in a line wins A simple Bingo Plugin for Spigot 1.18.1 Preview Commands /board - Prints out the Bingo Board to the

Jun 19, 2022

A Spigot plugin that tracks statistics with InfluxDB for timescale analytics.

A Spigot plugin that tracks statistics with InfluxDB for timescale analytics.

RiceStats I made this plugin for my SMP server. It's able to track statistics and send it to InfluxDB where it can be processed by an analytics progra

Dec 24, 2022

A spigot plugin for spawning a chest when the player dies

A spigot plugin for spawning a chest when the player dies. It supports Holographic Displays, Decent Holograms, ProtocolLib, WorldGuard, and PlotSquared for additional features

Dec 30, 2022

An advanced coin plugin for spigot.

rCoins Description rCoins is an advanced coin system which has a great api. For developers If you need to use API of rCoins, you can use maven or grad

Sep 22, 2022

[Minecraft] Configs from Spigot core

SpigotConfigLibrary [Minecraft] Configs from Spigot core English This is a cut-out piece of config code from the Spigot core. You can use it for conve

Sep 9, 2022

DonationExecutor - плагин для Minecraft (Spigot/Paper)

DonationExecutor - плагин для Minecraft (Spigot/Paper) Плагин, который, получая информацию о новых донатах с Donation Alerts, автоматически генерирует

Dec 27, 2022

Minecraft Forge Hybrid server implementing the Spigot/Bukkit API (Cauldron for 1.18)

Minecraft Forge Hybrid server implementing the Spigot/Bukkit API (Cauldron for 1.18)

❓ About Magma is the next generation of hybrid minecraft server softwares. Magma is based on Forge and Paper, meaning it can run both Craftbukkit/Spig

Apr 18, 2022
Comments
  • Plugin stops working when using guardian beams on 1.19.2

    Plugin stops working when using guardian beams on 1.19.2

    Was running a demo show on 1.19.2 and got this stacktrace

    After you encounter the stacktrace. You can't stop or start the show again since it seems like the scheduler just died.

    2022-09-14 08:51:05,548 Craft Scheduler Thread - 12 - Light-Show ERROR Recursive call to appender Async
    [08:51:05 WARN]: [Light-Show] Plugin Light-Show v1.2.0 generated an exception while executing task 36
    java.lang.NoSuchMethodError: 'java.util.UUID net.minecraft.world.entity.monster.EntityGuardian.cp()'
            at net.exenco.lightshow.util.api.GuardianBeamApi.spawn(GuardianBeamApi.java:64) ~[Light-Show-1.2.0.jar:?]
            at net.exenco.lightshow.show.stage.fixtures.MovingHeadFixture.applyState(MovingHeadFixture.java:174) ~[Light-Show-1.2.0.jar:?]
            at net.exenco.lightshow.show.stage.StageManager.lambda$updateFixtures$0(StageManager.java:148) ~[Light-Show-1.2.0.jar:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
            at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
            at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
            at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[?:?]
            at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[?:?]
            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
            at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[?:?]
            at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:?]
            at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
            at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[?:?]
            at net.exenco.lightshow.show.stage.StageManager.lambda$updateFixtures$1(StageManager.java:143) ~[Light-Show-1.2.0.jar:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
            at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1850) ~[?:?]
            at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
            at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[?:?]
            at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[?:?]
            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
            at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[?:?]
            at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:?]
            at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
            at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[?:?]
            at net.exenco.lightshow.show.stage.StageManager.lambda$updateFixtures$2(StageManager.java:141) ~[Light-Show-1.2.0.jar:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
            at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:3287) ~[?:?]
            at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
            at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[?:?]
            at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[?:?]
            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
            at java.util.concurrent.ForkJoinPool$WorkQueue.helpComplete(ForkJoinPool.java:1223) ~[?:?]
            at java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1915) ~[?:?]
            at java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:433) ~[?:?]
            at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:687) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[?:?]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[?:?]
            at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:?]
            at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
            at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[?:?]
            at net.exenco.lightshow.show.stage.StageManager.updateFixtures(StageManager.java:139) ~[Light-Show-1.2.0.jar:?]
            at net.exenco.lightshow.show.receiver.ServerReceiver$1.run(ServerReceiver.java:84) ~[Light-Show-1.2.0.jar:?]
            at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.19.2.jar:git-Purpur-1762]
            at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[purpur-1.19.2.jar:git-Purpur-1762]
            at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[purpur-1.19.2.jar:?]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
            at java.lang.Thread.run(Thread.java:833) ~[?:?]
    
    opened by haloflooder 4
  • Include IntelliJ (and/or Gradle) project files

    Include IntelliJ (and/or Gradle) project files

    Would you be able to include either a Gradle project or the IntelliJ project files? This would make it easier for others to set up and build the project locally to contribute changes. A gradle project would be preferred, too, to allow doing CI builds and using IDEs other than Gradle - there's documentation here to create a IntelliJ project to a Gradle project.

    opened by transalexys 4
  • Invalid IP

    Invalid IP

    Hello. I checked my IP in ipconfig and in MagicQ's network settings, entered it in config.json but I still always get Invalid ip when typing in /show start. :/

    opened by B4RZ 1
Owner
null
🏃 A lightweight, multiarena, complex Parkour Spigot/Bukkit plugin for Minecraft Server

?? A lightweight, multiarena, multilanguage, completely configurable and complex Parkour Spigot/Bukkit plugin for Minecraft Server

Victor Rodrigues 6 Oct 17, 2022
Minecraft spigot plugin for.... spits (just for fun) [1.16+]

Easy-to-use fun plugin that just adds ability to... spit :3 How to spit? Just use /funnyspits spit command! You can also use /spit, which is more fast

Adi Salimgereev 3 Jul 6, 2022
MissileWars is a famous, fun and fast minigame spigot-plugin for Minecraft

MissileWars MissileWars is a famous, fun and fast minigame spigot-plugin for Minecraft Downloads Get binary jars directly here: https://www.spigotmc.o

Daniel 6 Dec 23, 2022
ForgetMeChunk - a simple client side mod that removes a type of light update when unloading chunks

ForgetMeChunk is a simple client side mod that removes a type of light update when unloading chunks. This fixes the large lag spikes you sometimes get when crossing a chunk border.

null 48 Nov 24, 2022
☁️ Simple Extension for SuperiorSkyblock2 plugin. After creating the island, a custom mob will spawn.

☁️ Simple Extension for SuperiorSkyblock2 plugin. After creating the island, a custom mob will spawn.

Norbert Dejlich 1 Mar 10, 2022
A helper for creating inventories in minecraft with greater ease and flexibility in order to promote integration with objects

A helper for creating inventories in minecraft with greater ease and flexibility in order to promote integration with objects

SrBlecaute 14 Dec 27, 2022
A Minecraft Mod i have been creating during and for my Facharbeit about Game-Modifications

TitanoMod-1.18.1 A Minecraft Mod i have been creating during and for my Facharbeit about Game-Modifications About The Project Built With FabricMC Mixi

null 1 Mar 30, 2022
simple spigot plugin malware remover, made in 10 minutes lol

spigot-malware-remover Simple spigot plugin malware remover made in 10 minutes, using ASM bytecode manipulation library. Compile it using maven, if yo

Michał Kaczmarek 24 Oct 29, 2022
Unnerved by 1.18 fog? This Spigot plugin will remove it!

ClearFog Are you also unnerved by the new 1.18 fog system? And you tried to increase the server view distance? You don't have to! This Spigot plugin "

Rapha149 4 Dec 19, 2022
Plugin with helpful tools for factions, made to be used beside atlas spigot.

AtlasUtils Plugin with helpful tools for factions, made to be used beside atlas spigot. Features: Config: Found in your plugins folder at AtlasUtils/c

null 2 Dec 24, 2021