1
0
mirror of https://github.com/pandorabox-io/banners.git synced 2025-01-02 14:18:28 +01:00
Customisable banners are finally added into Minetest! https://forum.minetest.net/viewtopic.php?t=15305
Go to file
Luke aka SwissalpS ea0a0fe6c4
On move support aka jumpdrive compat (#9)
* whitespace and minetest. -> core.

- use same whitespace style throughout and fix some indents.
- change from minetest. to core. namespace.

* Update Readme: Minetest -> Luanti

* add luacheck

* update optional depends

* luacheck cleanups

- unused arguments
- shaddowed vars
- var redeclarations
- some whitespace involved in above lines

* clean close of file after reading

* avoid duplicate code

save some lines and some extra method calls.

* avoid error: "unknown global"

* stray whitespace fixups

* whitespace: switch all files to same indent character

tabs -> spaces

* refactor weird declaration

* whitespace: two stray spaces

...that slipped through the cracks on previous whitespace edit

* fix shaddowing global table

* reduce amount of times transformation string is calculated

* use ipairs feature

or use the faster repeat-until-loop

* cap max amount of layers

fixes #5

* fix #5 make transform history non-global

fixes #5
transformation history was shared by all users and kept growing as it
was never truely reset. Every time a user
used a banner a white background was dumped on top of the
stack making it possible to crash the server through an
overflow to core.serialize() function.

* minimize metadata size

also changed banners.max_transformations to
banners.max_undo_levels and lowered the value substantially.

* add versioning

* add recoverable per player history with saved colour

* rename update_all -> update_preview_inv

since it isn't updating everything, only
the preview and the inventory item

* dynamically update masks

to reflect the currently selected colour.

* banner always exists

even if only "" it exists and there isn't an error.
not adding "" or texture string, causes a non critical error.

* use same function declaration style throughout

* remove set_banner_texture()

only used once and is easy enough to have inline

* preserve player undo-history over joins

player could have timed-out and thus lost their history.
It isn't crucial to remove their history, so let's give
them this feature.

* refactor: reusable transformation string creation

unfortunately the git diff is a bit messy on this one.
Nothing changed with:
- banners.Banner
- banners.Banner:new
- banners.Banner:push_transform
- banners.Banner:pop_transform

content of banners.Banner:get_transform_string was moved
to banners.transform_table_to_string with very few changes

* add transform_string_to_table

allows us to add more features such as:
- clean existing banners to slim down data
- read transforms from items in inventory -> allow players
  to change existing patterns without having to start from
  scratch.

* cleanup old banners when their entities are generated

* read item meta allowing players to edit existing banners

* version bump

* oopsie fixes

* remove stray debug point

* add chatcommand banners_fix

fixes #7
provides a work-around for the engine problem with entities.

* sensitive github luacheck syntax

* version bump

* cleanup: compact node definitions

* adds [jumpdrive] compat

github.com/mt-mods/jumpdrive

closes https://github.com/mt-mods/jumpdrive/issues/90

* also make factions banners jump-able

just for completeness sake
2024-12-09 12:19:40 +01:00
.github/workflows Limit texture size (#6) 2024-11-29 10:45:55 +01:00
extra Initial commit 2016-08-06 00:18:23 +02:00
models Initial commit 2016-08-06 00:18:23 +02:00
textures Added death banners 2016-08-15 18:30:44 +02:00
.luacheckrc On move support aka jumpdrive compat (#9) 2024-12-09 12:19:40 +01:00
bower.json fixed , 2016-08-12 21:49:15 +02:00
chatcommands.lua On move support aka jumpdrive compat (#9) 2024-12-09 12:19:40 +01:00
crafts.lua Limit texture size (#6) 2024-11-29 10:45:55 +01:00
factions.lua On move support aka jumpdrive compat (#9) 2024-12-09 12:19:40 +01:00
init.lua On move support aka jumpdrive compat (#9) 2024-12-09 12:19:40 +01:00
items.lua Limit texture size (#6) 2024-11-29 10:45:55 +01:00
LICENSE.md Initial commit 2016-08-06 00:18:23 +02:00
LICENSE.txt Initial commit 2016-08-06 00:18:23 +02:00
mod.conf Limit texture size (#6) 2024-11-29 10:45:55 +01:00
nodes.lua On move support aka jumpdrive compat (#9) 2024-12-09 12:19:40 +01:00
README.md Limit texture size (#6) 2024-11-29 10:45:55 +01:00
smartfs.lua Limit texture size (#6) 2024-11-29 10:45:55 +01:00

###Banners mod for Luanti (formerly Minetest) This is a banner mod for Luanti. The source code is licensed under GPLv3, and the game assets are licensed under Creative Commons 0 (CC0, [https://wiki.creativecommons.org/wiki/CC0](see here)).