Nettakrim / Spyglass-Astronomy

Watch the planets and draw constellations
GNU Lesser General Public License v3.0
16 stars 1 forks source link

Spyglass Astronomy

Explore a procedurally generated solar system through the lens of a spyglass!

The mod is entirely client-side and designed for helping with world-building and immersion, it is encouraged you think of lore about all the constellations you draw and planets you name!

Planets and stars will be the same for all players on a particular world, and are generated randomly (and largely scientifically accurately) per world, and you can easily share constellations between players using a client-side command

Screenshot of some planets and constellations from atop a mountain

How to use

To interact with the cosmos there are three spyglass modes: vanilla, constellation (amethyst), and star (emerald), these are cycled with the pick block button (middle click) while zoomed in.

Constellation mode allows you to draw constellations by holding the attack button (left click) and drawing between stars, as well as being able to select constellations

Star mode allows you to select stars and planets, note that comets are referred to as planets when using commands

Once an object is selected you can name it with /sga:name <name>, or get useful information with /sga:info, you can also get the information of a specific object without selecting it by following the suggestions after typing /sga:info <x>

If you're playing on a multiplayer server, you can use /sga:share or /sga:share <x> to share the currently selected or specified object respectively, this gives you a code you can send in chat or /message to someone directly, which allows them to easily add a constellation or name of a planet or star on their side, provided they have the mod too, of course.

All the client side commands can be seen by looking at the suggestions after typing /sga:, or by referring to the list below

Commands

/sga:info

most information is not given until you fulfil a certain criteria, this can be bypassed with /sga:admin bypassknowledge

/sga:info

redirects to the appropriate command for the currently selected constellation, star or planet

/sga:info constellation <name>

gets information about the constellation with name <name>

/sga:info star <name>

gets information about the star with name <name>

/sga:info planet <name>

gets information about the planet with name <name>

/sga:info thisworld

gets information about the minecraft world's orbit

/sga:info solarsystem

gets information about the solar system

/sga:select

/sga:select constellation|star|planet <name>

selects the specified object with name <name>

/sga:name

/sga:name <name>

names the currently selected object <name>, quotations are not needed (its like the /say command)

/sga:share

/sga:share

redirects to the appropriate command for the currently selected constellation, star or planet

/sga:share constellation|star|planet <name>

displays a [Click Here] button, clicking the button will open chat with some suggested text representing the object, if anyone receives this text as part of a message (e.g, though just sending it in chat directly, or with a /msg), they get a [Click Here] button which when clicked gives them the shared object

/sga:admin

there is generally little reason to use sga:admin commands other than while setting up a world, but some may still be useful for messing around

/sga:admin bypassknowledge

bypass knowledge checks for /sga:info until a re-log or until it is run again

/sga:admin changes discard|save|query

discard reverts to the last saved data

save saves data, although it is saved automatically whenever you leave the world or change dimension

query says how many changes since last save/discard, what counts as a change can be quite sensitive, so it may be higher than you expect

/sga:admin constellations add

used by the share command to add constellations, there is little reason to use this yourself

/sga:admin constellations generate

generates constellations randomly based on the star seed

/sga:admin constellations remove <name>

removes the constellation with name <name>, if no name is given it will remove the currently selected constellation

/sga:admin constellations removeall

removes all constellations

/sga:admin rename constellation|star|planet <index> <name>

used by the share command to rename the <index>th object of the specified type to <name>, then select it there is little reason to use this yourself

/sga:admin seed planet|star query|reset|(set <seed>)

gets, resets, or sets the seed that planets or stars use to generate, by default this is the biome seed of the world

/sga:admin starcount query|reset|(set <amount>)

gets, resets, or sets the amount of stars in the sky to <amount>, default 1024, max 4095

/sga:admin yearlength query|reset|(set <days>)

gets, resets, or sets the length of the year in days, decimals are allowed, but it has to be 0.125 or more, by default it is 8

/sga:hide

/sga:hide

toggles visibilities of stars, constellations, and planets

/sga:hide stars|constellations|planets

toggles visibility of the respective type of object

/sga:hide vanillastars

toggles visibility of the boring, vanilla stars, I don't know why you would want to do this :P

Helpful code I used here and there

Nicer Skies

Bobby, Bobby, and Bobby Yet Again

Absolutely Not A Zoom Mod

Time Display