83 Commits

Author SHA1 Message Date
Jude Melton-Houghton
d62125f4ea Wait for mapgen when constructing containers
This prevents them from messing with param1. mapgen_rivers still doesn't
work. I think this has something to do with its call to set_lighting.
2021-08-09 13:54:05 -04:00
Jude Melton-Houghton
dcb31976c7 Fix some whitespace inconsistencies 2021-08-09 11:46:04 -04:00
Jude Melton-Houghton
2642a8d8d4 Fix luacheck warnings
I ran this command:

    luacheck container.lua crafts.lua init.lua nodes.lua protection.lua relation.lua --globals minetest mesecon vector VoxelArea digiline pipeworks ItemStack table.copy default --ignore 21/_.*
2021-08-09 07:53:46 -04:00
Jude Melton-Houghton
19323c7e63 Note digiline node restriction in comment 2021-07-29 07:27:33 -04:00
Jude Melton-Houghton
a83de97a12 Increase crafting cost
People can't be crafting too many of these, since there's a hard
limit on the number placed at any one time.
2021-07-28 10:18:43 -04:00
Jude Melton-Houghton
14f5e92946 Improve assertion error messages 2021-07-28 10:16:55 -04:00
Jude Melton-Houghton
5716b1ebb6 Document caveats 2021-07-28 09:41:20 -04:00
Jude Melton-Houghton
b570931cf8 Use CONTENT_AIR 2021-07-27 13:15:19 -04:00
Jude Melton-Houghton
027f91a340 Add MineClone 2 crafting recipe
The ingredient detection was also simplified.
2021-07-27 13:12:50 -04:00
Jude Melton-Houghton
ba8518fd52 Capitalize labels 2021-07-27 09:48:59 -04:00
Jude Melton-Houghton
74c143e4b4 Allow non-players to use containers
The restriction seemed unnecessary.
2021-07-26 17:18:30 -04:00
Jude Melton-Houghton
3b3dc666ae Add some security
Outside the chambers is now protected, and you have to be inside
to use the exit.
2021-07-26 16:50:04 -04:00
Jude Melton-Houghton
d490cff862 Fix description terminology
I guess I was thinking of "blocks" in the Minecraft sense.
2021-07-24 09:04:46 -04:00
Jude Melton-Houghton
9387095f53 Reduce digiline node connections
It won't make a difference in functionality. It should prevent
digilines from having to check the block below the inside whenever
a message is sent in, thus requiring one less block be loaded.
2021-07-23 09:27:02 -04:00
Jude Melton-Houghton
48c2945d33 Make the light inside configurable
This wasn't completely trivial since the light needs to be updated.
2021-07-22 10:09:10 -04:00
Jude Melton-Houghton
ec20ad5018 Remove spacing configurability
I don't think it added much.
2021-07-21 20:13:48 -04:00
Jude Melton-Houghton
51e802ff5c Make text translatable 2021-07-21 18:28:59 -04:00
Jude Melton-Houghton
413f15eb57
Add ContentDB badge to README 2021-07-21 16:24:17 -04:00
Jude Melton-Houghton
03307f46d4 Give allocated spaces more even padding
The padding will be even with the maximum spacing. Since X and Y
bases are not configurable, they should withstand a little changing of
the mapgen_limit (they still can't withstand much.)
2021-07-21 13:36:01 -04:00
Jude Melton-Houghton
ffbc9c95ab Prevent items passing through disconnected ports
This makes the behavior like that of the filter injector of
Pipeworks. This also fixes an issue with an object not being
counted: Before, if you sent an item into an empty container
through a tube then broke the container, you would succeed, since
the item object wouldn't be counted. Now, that situation is just
impossible
2021-07-20 21:56:36 -04:00
Jude Melton-Houghton
9997049963 Teleport players closer to the ground 2021-07-20 21:52:17 -04:00
Jude Melton-Houghton
731890d1cc Let the mod run without get_block_status
The call should be redundant anyway. I didn't realize
get_block_status was added after Minetest 5.4.
2021-07-20 12:33:19 -04:00
Jude Melton-Houghton
885c8694c2 Clarify relation explanation 2021-07-20 09:25:42 -04:00
Jude Melton-Houghton
263211c0a7 Limit cache size
This caching may be overcomplicating things, and I haven't actually done
any benchmarks. However, it seems like some caching should be done to
keep things quick, especially with mesecons conduction.
2021-07-19 22:11:58 -04:00
Jude Melton-Houghton
580e36edc7 Remove a space from the license notice indentation
This makes the indentation consistent with that of other comments.
2021-07-19 19:50:33 -04:00
Jude Melton-Houghton
7bc9ef913c Update the object count after the player leaves
I don't know how attachments work, but if they're counted separately,
a player's attachments could increase the non-player count and prevent
the container from being destroyed.
2021-07-19 19:45:39 -04:00
Jude Melton-Houghton
746a6c7b60 Make all the shared functions private for now
I could expose some as a public API later. Maybe this will speed things
up, or something.
2021-07-19 17:53:26 -04:00
Jude Melton-Houghton
b165120c79 Add more comments
The code still may be a bit messy.
2021-07-19 17:35:32 -04:00
Jude Melton-Houghton
a9109badba Make craft registration safer 2021-07-19 08:53:16 -04:00
Jude Melton-Houghton
045111d9b7 Space out containers more by default
This way, entering one container will probably only make active that
container's inside.
2021-07-18 21:41:51 -04:00
Jude Melton-Houghton
a34f74db81 Block digging of containers holding any objects
If a space is freed without objects being removed, they might show up
later in a new container.

This way isn't ideal since it relies on continuously checking active
insides. It won't always catch all the entities. However, it should work
almost all the time, and the results of failure are not terrible. I
can't find a way to just detect static objects.
2021-07-18 21:37:12 -04:00
Jude Melton-Houghton
1836d1ea19 Use a safer screenshot
It might not have been legal to include those textures from other mods
in the screenshot, especially since the digiline texture is licensed
under the WTFPL.
2021-07-18 09:59:30 -04:00
Jude Melton-Houghton
abd24f25c8 Add another space in the image copyright notice
This just makes it more consistent with the code notices.
2021-07-18 08:49:38 -04:00
Jude Melton-Houghton
a17e13f05c Put the screenshot in the README
Hopefully it doesn't render too large.
2021-07-18 08:45:23 -04:00
Jude Melton-Houghton
37bd05e52f Scale down the screenshot
I don't think it needed to be so large.
2021-07-18 08:44:25 -04:00
Jude Melton-Houghton
dd9648a12e Add a README and licenses
That was a surprising amount of work.
2021-07-17 22:29:20 -04:00
Jude Melton-Houghton
cc0e52a2e4 Add a screenshot 2021-07-17 20:00:48 -04:00
Jude Melton-Houghton
5859c3fef2 Add settings 2021-07-17 18:40:55 -04:00
Jude Melton-Houghton
0a2e486180 Handle allocation failure better 2021-07-17 16:36:11 -04:00
Jude Melton-Houghton
66c4f5189f Make node getting safer 2021-07-17 15:56:05 -04:00
Jude Melton-Houghton
f0c470ccc5 Add missing pipeworks callbacks 2021-07-17 13:06:13 -04:00
Jude Melton-Houghton
706cfb6e8f Copy tables when merging, for safety
Things can break if multiple registered nodes share tables in their
definitions.
2021-07-17 13:05:27 -04:00
Jude Melton-Houghton
ef8b99b1fe Remove unused variable 2021-07-17 12:40:22 -04:00
Jude Melton-Houghton
6259ad403d Label ports in their textures
The outside wire labels are consistent with the luacontroller.
2021-07-17 11:59:34 -04:00
Jude Melton-Houghton
905f4398a4 Fix node drops 2021-07-16 21:36:14 -04:00
Jude Melton-Houghton
a55bdd130e Replace tab 2021-07-16 20:51:40 -04:00
Jude Melton-Houghton
dd3fc5a345 Put insides high in the air
It doesn't conflict with MineClone2 now. This also solves the problem of
ores appearing inside when one sets off TNT. In addition, the
unnecessary mapgen around the insides might be quicker.
2021-07-16 15:58:23 -04:00
Jude Melton-Houghton
2e5c128308 Fix mod.conf 2021-07-16 08:17:57 -04:00
Jude Melton-Houghton
ff3891cb1f Add a recipe for the container 2021-07-15 22:20:27 -04:00
Jude Melton-Houghton
14873a1f9a Add container node sounds 2021-07-15 22:03:36 -04:00