Giter Club home page Giter Club logo

openrct2-auto-mow's Introduction

openrct2-auto-mow

Automatically keep all the grass in OpenRCT2 at a specific length

How?

The user chooses what kind of grass they want, by default this is clear (no weeds, but not mowed, contrary to the name of this plugin). Then every tick, at least one tile is checked if it needs to be set to that length. If it is determined that the tile will soon grow weeds (or in the case of mowed grass, will soon become clear), then it is modified to the designated length of grass chosen in the settings.

Grass grows in stages:

Mowed -> Clear 0 -> Clear 1 -> Clear 2 -> Weeds 0 -> Weeds 1 -> Weeds 2

Grass takes a minimum of just over 2 in-game months to move stages. Thus, if we scan the whole park in less than 2 months, we can make sure that all grass stays in the desired grass stage. The plugin will automatically check as many tiles as it needs to in a tick in order to ensure a full scan of the park within 2 in-game months.

If you want mowed grass, every 2 months the grass will be set to mowed. But if you want clear grass, the grass won't be set to clear (0) until the grass is in stage clear 2 (or any of the weeds stages). This makes it so we aren't modifying the map every single tick when the grass wouldn't sprout weeds within the 2 months to our next scan.

Also, if you're wondering why we don't just scan everything and update all the tiles every day instead of scanning per tick: massive lag.

Multiplayer?

Yes! As of OpenRCT2 v0.4.0, plugins with custom registered actions (which this plugin uses) are correctly handled on the client when they reconnect or the host loads a new save file.

Alternatives?

The best way of doing this is just to have an option in OpenRCT2 that displays all grass as clear/mowed. Maybe have it ignore grass ticking? However, that might alter game state.

But, this is the second best thing I could come up with. Give it 2 in-game months, and you'll never have to think about weeds ever again.

openrct2-auto-mow's People

Contributors

phasecorex avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.