mirror of
https://github.com/minetest/minetest_game.git
synced 2025-06-28 12:46:02 +02:00
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.
This commit is contained in:
@ -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)
|
||||
|
||||
|
Reference in New Issue
Block a user