• ALERT

    We are currently undergoing a minor database conversion which may have caused the email management system and registration and other minor issues, our team is working on getting our new database system up and running as soon as possible, thank you for your understanding!

    If you have any other questions, feel free to open a ticket on our discord server https://dc.gleaks.pro/

Lux+ ✨ ~ Making Spotlights in Minecraft!

VIP Plugins Lux+ ✨ ~ Making Spotlights in Minecraft! 2.0.1

Register to download this resource

Original resource URL: https://www.spigotmc.org/resources/lux-%E2%9C%A8-making-spotlights-in-minecraft.83172/



Native Minecraft Version:1.17Tested Minecraft Versions:
  • 1.17
  • 1.18
  • 1.19
  • 1.20
Lux+
Spotlights made simple


What is Lux+
Lux+ is a plugin which manages spotlights and controls them in many ways.

NEW v2, rather than single spotlights, Lux+ now uses a show-based system.
Managing spotlights is now done by show files, these can be changed manually or with commands.


Shows
Show files are special XML files that easily tells what happens with which spotlight.
Events are assigned to specific timeframes.
* Create - Creates a new spotlight.
* Set - Changes properties of a spotlight.
* Remove - Removes a spotlight.
* Visibility - Change the show play speed or let the show rewind.
Read more about the XML structure below.
Spotlight Types CHANGE
* Beams - Are managed by special entities in Minecraft: Guardian Beam / Ender Crystal. They have their own special look.
* Polygon - Polygon spotlights are made up of particles and can have many special shapes. They can reflect any 3D object in space: particle points/lines.

Commands & Permissions
Permissions: luxplus.admin
Command Aliases: /lux /luxplus
Subcommands:
* /lux play <name> - Plays a show from the show files with the given name.
* /lux stop <playId> - Stops a play, a show can be played multiple times.
* /lux help [subcommand] - Shows the help menu for all or one subcommand.
* /lux create <name> - Creates a new show file with the given name (use / for folders, e.g.: folderName/testShow)
* /lux manage <name> <add:delete> <arguments> - Manages the show.
> ... add <id> <time> <create:set:remove> [<arguments>] - Adds a new event to the show, the event changes the given ID and is to be run at the given timeframe.
> ... delete <id> <create:set:remove> [<time>] - Deletes the given event for the given ID.
When pressing enter while partly typing the manage command, more help is displayed.

Show XML File
Shows are now fully written in show files, there are no single spotlights anymore.
A XML tag (<tag>) is always closed at the same level (</tag>),
they can have attributes (<tag attribute="value">) or have other data in them (<tag><second>data</second></tag>).
Using these principals a show can be explained:
The root tag is <show>, therefore every show file looks like: <show>...</show>.

<show>
This is the root tag, following tags are declared inside:
<settings> - Single, required
<routines> - Single, required

<settings>
This tag holds information about the settings for the show, following tags are declared inside:
<coordinateSystem> - Single, required

<coordinateSystem>
This tag holds information on how to interpret the coordinates in the show.
Currently the only value available is: ABSOLUTE_CARTESIAN.

<routines>
This tag holds information about the different routines within the show, following tags are declared inside:
<routine> - Multiple, optional

<routine>
This tag holds information about what events to run at what timeframe, following tags are declared inside:
<time> - Single, required
<event> - Single, required

<time>
This tag holds information about the time to run, following tags are declared inside:
<delay> - Single, required

<delay>
This tags holds information about the exact delay in seconds from the start. Any positive double is valid as value.

<event>
This tag holds information about what events to run, following tags are declared inside:
<create> - Multiple, optional
<set> - Multiple, optional
<remove> - Multiple, optional
<visibility> - Multiple, optional

<create>
This tag holds information about the create event to run, it represents creating new spotlights at the timeframe,
the tags declared inside declare what spotlights to create, following tags are declared inside:
<polygon> - Multiple, optional
<beam> - Multiple, optional

<set>
This tag holds information about the set event to run, it represents modifying spotlights at the timeframe,
the tags declared inside declare what spotlights to change, following tags are declared inside:
<polygon> - Multiple, optional
<beam> - Multiple, optional

<remove>
This tag holds information about the remove event to run, it represents removing spotlights at the timeframe,
the tags declared inside declare what spotlights to remove, following tags are declared inside:
<polygon> - Multiple, optional
<beam> - Multiple, optional

<visibility>
This tag holds information about the visibility event to run, it represents changing the play flow at the timeframe, following tags are declared inside:
<speed> - Single, optional
<stop> - Single, optional
<visible> - Single, optional

<speed>
This tag controls the speed of the play for a show. Any double number is valid. Negative numbers will rewind the show.

<stop>
This tag stops the whole show and fully clears all spotlights. Possible values: false, true.

<visible>
This tag disables the drawing of spotlights, temporarily disables them. Possible values: false, true.

<polygon>
This tag represents a polygon spotlight. It has the following attributes:
id - Has to be used in a <create> tag. Represents the ID for later use in other events.
reference - Has to be used in a <set> and <remove> tag. Represents the initial spotlight to change/remove.
Following tags are declared inside:
<point> - Multiple, optional
<line> - Multiple, optional
Be aware, in a <remove> tag, no tags should be set: <polygon reference="lightId"/>

<beam>
This tag represents a beam spotlight. It has the following attributes:
id - Has to be used in a <create> tag. Represents the ID for later use in other events.
reference - Has to be used in a <set> and <remove> tag. Represents the initial spotlight to change/remove.
Following tags are declared inside:
<beamType> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<point> - Two points are required in the <create> tag, in the <set> tag they are optional.
Be aware, in a <remove> tag, no tags should be set: <beam reference="lightId"/>

<beamType>
This tag represents the type of beam spotlight. Possible values: GUARDIAN, END_CRYSTAL.

<point>
This tag represents a point in the third dimension. It has the following attributes:
index - Determines which point number is being created/set/removed. Any positive integer is valid.
Following tags are declared inside:
<x> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<y> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<z> - A single tag is required in the <create> tag, in the <set> tag it is optional.
For polygons, a point without tags inside will remove it: <point index="0"/>

<x>, <y>, <z>
These tags represent a coordinate along their axis. They have the following attributes:
animation - An animation between the last and new value, possible values: linear, slowFast, fastSlow, middleFast, middleSlow and custom: X1,Y1,X2,Y2 (the coordinates in a cubic bezier easing, between 0 and 1).
animation-duration - The animation duration between the values.
The tags all have a double value to represent the new coordinate.

<line>
This tag represents a line between two points in a polygon. It has the following attributes:
index - Determines which line number is being created/set/removed. Any positive integer is valid.
Following tags are declared inside:
<from> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<to> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<particle> - A single tag is required in the <create> tag, in the <set> tag it is optional.

<from>, <to>
These tags represent the points between in a line, any positive integer is valid. They are the indices of the points.

<particle>
This tag represents what particle to draw in the line, following tags are declared inside:
<delta> - Single optional, will default to (<delta>0.25</delta>) when not set.
<type> - A single tag is required in the <create> tag, in the <set> tag it is optional.
<count> - Single optional, will default to (<count>1</count>) when not set.
<offsetX> - Single optional, will default to (<offsetX>0</offsetX>) when not set.
<offsetY> - Single optional, will default to (<offsetY>0</offsetY>) when not set.
<offsetZ> - Single optional, will default to (<offsetZ>0</offsetZ>) when not set.
<extra> - Single optional, will default to (<extra>0</extra>) when not set.
<force> - Single optional, will default to (<force>false</force>) when not set.

<delta>
This tag represents the spacing in blocks (meters) between displaying the particles on the line. Any positive double is valid.

<type>
This tag represents the particle to display on the line. Valid values are version dependent: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html.

<count>, <offsetX>, <offsetY>, <offsetZ>, <extra>
These tags are particle settings of Minecraft, depending on the particle type can can have other effects: directional, coloring, etc..
All tags are double values, only the <count> tag requires a positive integer.
Read more about these tags online.

<force>
This tag sets whether to send the particle to players within an extended range and encourage their client to render it regardless of settings.
Valid values: true, false.

For some more explanation look at the following example with comments:
Spoiler: Example
The following creates an auto-terminating show (see 7) with two spotlights:
- One spotlight is created at timeframe 0s (see 1), it is a beam.
- The second spotlight is created at timeframe 2s (see 2), it is a polynom with two points and one line.
- At the same time as the second spotlight is created, the X coordinate of the first point of the first spotlight has started with animation to a different value (see 3).
- The second point of the second spotlight is being removed at timeframe 8s (see 4).
- The second spotlight is being removed at timeframe 10s (see 5).
- The play speed is reduced at timeframe 11s (see 6).
- The show is being terminated at timeframe 15s (see 7).
HTML:

<show>
<settings>
<coordinateSystem>CARTESIAN_ABSOLUTE</coordinateSystem> <!-- Only possible value currently, represent all coordinates by their XYZ values absolutely in the world. -->
</settings>
<routines>
<routine>
<time>
<delay>0.0</delay> <!-- 1. At timeframe 0 -->
</time>
<event>
<create>
<beam id="myBeam"> <!-- 1. Creation of a new beam called myBeam -->
<beamType>GUARDIAN</beamType>
<point index="0">
<x>0.0</x>
<y>180.0</y>
<z>0.0</z>
</point>
<point index="1">
<x>10.0</x>
<y>190.0</y>
<z>10.0</z>
</point>
</beam>
</create>
</event>
</routine>
<routine>
<time>
<delay>2.0</delay> <!-- 2./3. At timeframe 2 -->
</time>
<event>
<create>
<polygon id="myPoly"> <!-- 2. Creation of new polygon called myPoly with two points and one line -->
<point index="0">
<x>20.0</x>
<y>50.0</y>
<z>33.0</z>
</point>
<point index="1">
<x>20.0</x>
<y>150.0</y>
<z>33.0</z>
</point>
<line index="0">
<from>0</from>
<to>1</to>
<particle> <!-- 2. Only <type> is really required in a <create> event, this is to demonstrate how it would work -->
<delta>0.25</delta>
<type>HEART</type>
<count>1</count>
<offsetX>0</offsetX>
<offsetY>0</offsetY>
<offsetZ>0</offsetZ>
<extra>0</extra>
<force>false</force>
</particle>
</line>
</polygon>
</create>
<set>
<beam reference="myBeam"> <!-- In the same routine also do a set event -->
<point index="0">
<x animation="linear" animation-duration="20.0">50.0</x> <!-- 3. In a <set> event, only the values that need a change, should be set. Here a linear animation of 20 seconds is being started -->
</point>
</beam>
</set>
</event>
</routine>
<routine>
<time>
<delay>8.0</delay>
</time>
<event>
<set>
<polygon reference="myPoly"> <!-- 4. Do not forget to reference to what object we should set. -->
<point index="1"/> <!-- 4. An object <point> object in a <polygon> will remove the point from the polygon. The <line> will not display anymore, as long as the point is gone. -->
</polygon>
</set>
</event>
</routine>
<routine>
<time>
<delay>10.0</delay>
</time>
<event>
<remove>
<polygon reference="myPoly"/> <!-- 5. A reference without any tags inside, will remove the polygon spotlight at this time. -->
</remove>
</event>
</routine>
<routine>
<time>
<delay>11.0</delay>
</time>
<event>
<visiblity>
<speed>0.5</speed> <!-- 6. The speed is only 50% (halved), any animations running will run slower and time passes slower. -->
</visiblity>
</event>
</routine>
<routine>
<time>
<delay>15.0</delay>
</time>
<event>
<visiblity>
<stop>true</stop> <!-- 7. Fully stops the play, otherwise spotlights keep existing. -->
</visiblity>
</event>
</routine>
</routines>
</show>


Terms & Conditions
When buying Lux Plus.
You are not permitted to distribute the plugin in any form, including as a part of any software package.
You are not allowed to re-sell the plugin or post it elsewhere.
You are not permitted to reverse-engineer or modify the plugin in any form.
You are not permitted to decompile the plugin.
You cannot share the plugin, 1 plugin must be used for 1 Spigot instance.
You are buying access to any published versions of the plugin at the time of purchase, any updates are not guaranteed nor the guarantee that the plugin remains downloadable after a month of purchase.
Refunds and chargebacks will only be allowed in case that the plugin owner wants to give it, they are not granted by default.

The following images are not updated, they are expected to update some time this week (week 41).
[IMG]

[IMG]
[IMG]
[IMG]
[IMG]

[IMG]

[IMG]

[IMG]
[IMG]

[IMG]

Uploader


Downloads
1
Views
69
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from ArteffKods

Back
Top Bottom