mspeedie
Control light state with no fuel usage

Supported Games

This plugin provides a way to automate light control and toggle lights from the server console and via chat command using no fuel. There is a config to allow you to pick and choose what is toggle. There is also options to automate turning lights on and on at night.

A big thank you to Wulf and k1lly0u for their awesome lights plugins. If you need fine grained control of lights they are both superior options. If you want fuel use for lighting AutoFuel is a awesome choice. My understanding of lights came directly from reading these plugins and it inspired me to make this low load and slightly more inclusive of entities plugin. If it generates lights or effects I tried to include it. I include a lot of non-light devices (Fog Machine, Snow Machine, Spooky Speakers, Strobe Lights) to allow operators to have fun with players.

Permissions

lightson.allowed

Granting that to a group or player allows them to toggle the lights. For example:

oxide.grant group admin lightson.allowed

lightson.freelights

Grant this to a player allows them to toggle their lights (and only lights) on/off with no fuel needed. Also allows player access to no fuel for hats if they are set to not use fuel. For example:

oxide.grant group default lightson.freelights

Console Commands

  • lights on -- Turn on any lights that are off and set to true in the config
  • lights off -- Turn off any lights that are off and set to true in the config

There is a second parameter where you can specify a portion of the light source short name to force all of them to the on or off state ignoring the config.

Example:

  • lights on fireplace -- Turn on all fireplaces regardless of the config settings

Chat Commands

  • /lights on -- Turn on any lights that are off and set to true in the config
  • /lights off -- Turn off any lights that are off and set to true in the config

There is a second parameter where you can specify a portion of the light source short name to force all of them to the on or off state ignoring the config.

Example:

  • /lights on candle -- Turn on all candles regardless of the config settings

Configuration

Console Output set to false will stop message (other than errors and night toggles) from logging in the console.

These can be set to true or false in the json which lets you determine what is turned off and on automatically:

  • BBQ
  • Campfire
  • Candle
  • Cauldron
  • Ceiling Light
  • Fire Pit
  • Fireplace
  • Fog Machine
  • Furnace
  • Hobo Barrels
  • Lanterns (which include Chinese Lanterns, Tuna Can Lamps, Lanterns, and Jack'O Lanterns)
  • Refineries
  • Searchlights
  • Snow Machine
  • Spooky Speakers
  • Strobe Lights

To avoid automatically turning off active processing there are protection you can set to true for the following:

  • BBQ
  • Campfire
  • Cauldron
  • Fire Pit
  • Fireplace
  • Furnace
  • Hobo Barrels
  • Refineries

They can be turned on automatically but not off is protection is true.You can still force them off by name. For example:

  • /lights off furnace

Additional control parameters:

  • Always on
  • Night Toggle (please use either Always on or Night Toggle)
  • Check Frequency (10-600)
  • Dusk Time (0-24)
  • Dawn Time (0-24)
  • Hats do not use fuel

Always on means turn the lights on and leave them on. Night Toggle uses the Dusk Time and Dawm Time to toggle the lights on at night and off in the morning.

Hats do not use fuel is as the name suggests.

Notes

If the server lights are on (either via always on of the night toggle is on) and you place a light source you have selected to be on, it is turned on when placed. This avoids having to periodically turn the lights on to catch newly placed lights.

This alters fuel requirements to zero through the methods it is using to toggle the lights, since you removing player agency around fuel usage. Note: Furnaces etc. turned on will not process their contents, just look active and produce light. You are giving free light but not free processing. Simply turn them off and back on for normal processing. It is important to let players know this as they may initially be confused or frustrated.

Since this plugin is toggling animation flag states (where ever possible), it allows things like hobobarrels to light up with no fuel in them. It does some "hacky" flag settings to avoid needing fuel in other light sources. It is not elegant, but efficient.

If you want free fuel NoFuelRequirements or AutoFuel are good solutions, this plugin tries to avoid altering the fuel level in entities other than hats and jack o lanterns. I only add fuel where the toggle of animation state trick is not working in that use case.

Hats and Jack O Lanterns usually require at least one fuel in them to allow players to toggle them. Toggleing Laterns (which includes Jack O Lanterns) with the commands does not need fuel.

If you are using the commands to turning a light source on and it is already on, it is not altered. If you are turning a light source off with the commands and it is already off, it is not altered. Toggling lights on should not mess up processing content, as their state is not changed. It will mess up processing if you toggle off and then back on for an entity that processes things (grills, furnaces, refineries, camp fires, firepits and fireplaces). Since I added the Night Toggle feature, I also added Protection for light sources that also process contents. I would recommend you leave these to true. Doing so will not turn these off when dawn happens. That is to avoid annoying players by interrupting their processing. The side effect is they will always appear on if they set to automatically turn on in the configuration.

Choose carefully what you will configure to be controlled if you plan to use the off command or Night Toggle. If you are going to use the off command I recommend you do not include Furnaces, Grills or Refineries as it will stop processing if they are in legitimate use. If folks tend to cook in campfires, firepits and fireplaces you may want to skip them as well if you plan to use the off command. Honest I normally just turn items not normally used to do processing on and leave them on as it has the smallest server load and will not annoy players. It is important to consider consequences of turning things off or toggling them on and off.

Check Frequency controls how often the plugin checks for night or to toggle the lights in seconds. It has a relatively small load unless there are lights to process. If you want the lights on at a very precise time then a lower number (more frequent check) will help increase the accuracy.

I like to light up all the hobo barrels on the map to give a nice effect, that is why I originally wrote this. It should cover all light sources, please let me know if any are missing. It will be interesting when electricity comes in, I will do my best to ensure this keeps functioning.

The light source name tries to match so "a" would match all light sources with "a" in their name. Use "all" to force all lights server wide regardless of configuration setting.

    MIT License

    Copyright (c) 2019 mspeedie

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    Download

    1.2K downloads
    28 watchers

    lightscontrolhats