From b3f17cda9ff0250600c3fe88e9bcf2b569ae9982 Mon Sep 17 00:00:00 2001 From: red-001 Date: Wed, 14 Jun 2017 18:57:05 +0100 Subject: [PATCH] Books: Limit the size of books Really large books just waste hard drive space and the engine is not designed to handle that much data in item metadata, this can cause strange things to happen. --- mods/default/craftitems.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/default/craftitems.lua b/mods/default/craftitems.lua index 1500a34..eda52f5 100644 --- a/mods/default/craftitems.lua +++ b/mods/default/craftitems.lua @@ -75,6 +75,7 @@ local function book_on_use(itemstack, user) return itemstack end +local max_text_size = 10000 minetest.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "default:book" then return end local inv = player:get_inventory() @@ -103,8 +104,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) data.title = fields.title data.owner = player:get_player_name() data.description = "\""..fields.title.."\" by "..data.owner - data.text = fields.text - data.text_len = #data.text + data.text = fields.text:sub(1, max_text_size) data.page = 1 data.page_max = math.ceil((#data.text:gsub("[^\n]", "") + 1) / lpp)