From 6d4c019da98ee347364ce47207215e3edd36c9ce Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Tue, 24 Aug 2021 12:06:45 +0100 Subject: [PATCH] add skins limit value to settings, sanitize skin description --- init.lua | 9 +++++---- readme.md | 1 + settingtypes.txt | 3 +++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/init.lua b/init.lua index 652f84a..2e49a57 100644 --- a/init.lua +++ b/init.lua @@ -19,7 +19,8 @@ skins = { id = 1, file = minetest.get_worldpath() .. "/simple_skins.mt", preview = minetest.settings:get_bool("simple_skins_preview"), - translate = S + translate = S, + skin_limit = tonumber(minetest.settings:get("simple_skins_limit")) or 300 } @@ -41,7 +42,7 @@ end -- load skin list and metadata local f, data, skin = 1 -while true do +while skins.id <= skins.skin_limit do skin = "character_" .. skins.id @@ -69,8 +70,8 @@ while true do -- add metadata to list skins.meta[skin] = { - name = data and data.name or "", - author = data and data.author or "" + name = data and data.name and data.name:gsub("[%p%c]", "") or "", + author = data and data.author and data.author:gsub("[%p%c]", "") or "" } skins.id = skins.id + 1 diff --git a/readme.md b/readme.md index 78c6137..4ed8733 100644 --- a/readme.md +++ b/readme.md @@ -7,6 +7,7 @@ https://forum.minetest.net/viewtopic.php?id=9100 Change log: +- 1.0 - Added skin_limit setting to limit skins loaded, sanitized skin description - 0.9 - Added Unified Inventory support (thanks Opvolger) - 0.8 - Added player model preview when viewing formspec (Minetest 5.4 dev only) - 0.7 - Add some error checks, improve /setskin and tweak & tidy code diff --git a/settingtypes.txt b/settingtypes.txt index a0b3f93..f6d4d1a 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -1,2 +1,5 @@ # When true character model will appear in formspec with current skin as texture simple_skins_preview (Simple Skins Preview) bool false + +# Skin limit number to limit the number of skins read onto list +simple_skins_limit (Skin Limit) int 300