Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multinode trouble patch (field mode) #5

Open
wants to merge 346 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
346 commits
Select commit Hold shift + click to select a range
1a856d6
cleanup tool set messages
SwissalpS Sep 30, 2021
6892aa3
whitespace
SwissalpS Sep 30, 2021
c4ac78b
changelog update
SwissalpS Sep 30, 2021
0c992d9
homogonized quote usage in replacer_blabla.lua
SwissalpS Sep 30, 2021
41e05fd
Use new Technic Plus tool API
S-S-X Nov 2, 2021
40f950f
Merge pull request #31 from S-S-X/patch-2
SwissalpS Nov 2, 2021
812f176
whitespace cleanup
SwissalpS Dec 2, 2021
f9c85ea
add chatcommand
SwissalpS Dec 2, 2021
4be57da
use muting
SwissalpS Dec 2, 2021
94fc003
version bump 3.1
SwissalpS Dec 2, 2021
174e768
improve field and crust modes
SwissalpS Jan 12, 2022
d437410
version bump
SwissalpS Jan 12, 2022
26b1f7e
Merge remote-tracking branch 'HybridDog/m_search_changes' into Hybrid…
SwissalpS Jan 13, 2022
8423f34
cleanup: double to single quotes
SwissalpS Jan 13, 2022
9fdff60
cleanup: whitespace
SwissalpS Jan 13, 2022
713a0ad
combine creative and give, refactor discharge()
SwissalpS Jan 13, 2022
ea68794
adjustments to how recalc works
SwissalpS Jan 13, 2022
efad6d8
version bump 3.3
SwissalpS Jan 13, 2022
de37046
technic cable plate support
SwissalpS Jan 14, 2022
f2d11e7
add scaffold for constraints
SwissalpS Jan 14, 2022
789a429
only send message if it is present and not empty
SwissalpS Jan 14, 2022
209a2c8
'whitespace' changes
SwissalpS Jan 14, 2022
a62d281
use inform
SwissalpS Jan 14, 2022
6eedf1e
shorten blabla
SwissalpS Jan 14, 2022
3d962b0
Merge branch 'rotationExceptions' into HybridDogSearchImprovements
SwissalpS Jan 14, 2022
5098926
version bump 3.4
SwissalpS Jan 14, 2022
8fb9db6
add override-able replace check function
SwissalpS Jan 14, 2022
9f62813
move restriction related from init to constrain
SwissalpS Jan 14, 2022
24cd04d
move inform() to utils.lua
SwissalpS Jan 14, 2022
b33bc84
moved register functions
SwissalpS Jan 14, 2022
6daf21b
moved path def
SwissalpS Jan 14, 2022
9d605b1
rename blacklist to deny_list
SwissalpS Jan 14, 2022
b236d41
bug cleanup from refactor
SwissalpS Jan 14, 2022
6bd0ab2
version bump 3.5
SwissalpS Jan 14, 2022
ae12f91
whitespace (and non functional changes)
SwissalpS Jan 18, 2022
93850f6
var renaming and local-izing methods
SwissalpS Jan 18, 2022
f26d92c
history, modes and formspecs
SwissalpS Jan 18, 2022
cf6cc76
locale
SwissalpS Jan 18, 2022
ca0ff56
changelog and comments
SwissalpS Jan 18, 2022
a6f62ad
add priv and xp protectors to deny-list
SwissalpS Jan 18, 2022
9607db7
refuse to set replacer to denied nodes
SwissalpS Jan 18, 2022
e0d0c06
will we regret this?
SwissalpS Jan 18, 2022
9f5655f
oops, oops & oopsies
SwissalpS Jan 18, 2022
9ae724e
version bump 3.6
SwissalpS Jan 18, 2022
4d3d068
formspec adjustments
SwissalpS Jan 19, 2022
de855c7
added new settings to settingtypes.txt
SwissalpS Jan 19, 2022
9a38140
typo fix
SwissalpS Jan 19, 2022
0ef4181
German translation
SwissalpS Jan 19, 2022
badabcc
typo update
SwissalpS Jan 19, 2022
a12630e
Portuguese translation
SwissalpS Jan 19, 2022
f6a76ff
Russian translation
SwissalpS Jan 19, 2022
ff5a6d8
Italian translation
SwissalpS Jan 19, 2022
79c3100
French translation
SwissalpS Jan 19, 2022
c8b6288
Finnish translation
SwissalpS Jan 19, 2022
bf199c0
Spanish translation
SwissalpS Jan 19, 2022
9993705
German tuning
SwissalpS Jan 19, 2022
ef2c3fc
version bump 3.7
SwissalpS Jan 19, 2022
ed53a03
moving files to folders
SwissalpS Jan 19, 2022
851ca48
improve saw item detection
SwissalpS Jan 19, 2022
a967d2c
keep init.lua flat
SwissalpS Jan 19, 2022
5c062ba
reorder called sub-files
SwissalpS Jan 19, 2022
786eda0
move nice_pos_string to utils.lua
SwissalpS Jan 19, 2022
af9a818
whitespace
SwissalpS Jan 19, 2022
f7b7ad8
cache known saw items
SwissalpS Jan 19, 2022
abf8127
add compat for saw items and beacon beams
SwissalpS Jan 19, 2022
565e812
oops, typo
SwissalpS Jan 19, 2022
b3e1884
version bump 3.8
SwissalpS Jan 19, 2022
8c5a73f
add group:vines placeholder
SwissalpS Jan 20, 2022
f5d23e7
order group placeholders alphabetically
SwissalpS Jan 20, 2022
d2aa5ab
avoid ]]
SwissalpS Jan 20, 2022
0dd6904
cobweb fix
SwissalpS Jan 20, 2022
9beaea0
RealTest moved to compat
SwissalpS Jan 20, 2022
61877bb
move to init for flexibility
SwissalpS Jan 20, 2022
b473cce
whitespace and comments
SwissalpS Jan 20, 2022
0360e93
vines moved to compat
SwissalpS Jan 20, 2022
ef80dd4
move default support to compat
SwissalpS Jan 20, 2022
2065b87
whitespace
SwissalpS Jan 20, 2022
bd57008
bakedclay to compat
SwissalpS Jan 20, 2022
544fac3
basic dyes to compat
SwissalpS Jan 20, 2022
b6afa67
whitespace
SwissalpS Jan 20, 2022
b439d5c
oopsie
SwissalpS Jan 20, 2022
6834788
show accurate light and differentiate rc/lc
SwissalpS Jan 20, 2022
8314024
don't show button when there is no drop
SwissalpS Jan 20, 2022
c0d0f39
moved constrain up so compat can be looped later
SwissalpS Jan 20, 2022
67a1da4
added replacer vines support
SwissalpS Jan 20, 2022
7bea45d
added alias mapping for non creative users
SwissalpS Jan 20, 2022
4e0f7e8
adding first use of alias map
SwissalpS Jan 20, 2022
c01aa1d
oopsa daisy
SwissalpS Jan 20, 2022
abb2508
adding ropes support
SwissalpS Jan 20, 2022
f5decde
whitespace
SwissalpS Jan 20, 2022
10ce7fd
support frozen dirt and dirt with grass
SwissalpS Jan 20, 2022
7dc0011
biofuel support
SwissalpS Jan 20, 2022
af4c157
prefab compat
SwissalpS Jan 20, 2022
01a742c
add optional depends
SwissalpS Jan 20, 2022
19f5609
add TODO file
SwissalpS Jan 20, 2022
0fe19e6
move blabla.lua to mod dir
SwissalpS Jan 20, 2022
cbc4c9e
better description for inspection tool
SwissalpS Jan 20, 2022
49f5db7
prepared inspection tool for translations
SwissalpS Jan 20, 2022
a633b10
small adjustment to text
SwissalpS Jan 20, 2022
777a9c8
German translation
SwissalpS Jan 20, 2022
2196d02
Finnish translation
SwissalpS Jan 20, 2022
c0c43f6
Russian translation
SwissalpS Jan 20, 2022
3a24a36
Portuguese translation
SwissalpS Jan 20, 2022
9d4636b
Italian translation
SwissalpS Jan 20, 2022
717a5e7
French translation
SwissalpS Jan 20, 2022
8db802e
put untranslated order in quotes
SwissalpS Jan 20, 2022
d618a97
Spanish translation
SwissalpS Jan 20, 2022
c8e1326
updated locale template
SwissalpS Jan 20, 2022
11ee69d
fix out of bounds error
SwissalpS Jan 20, 2022
e7788a7
shorten next/prev to fit in button
SwissalpS Jan 20, 2022
16be1e0
bugfix es
SwissalpS Jan 20, 2022
500c4e6
language overhaul
SwissalpS Jan 21, 2022
ba51e61
version bump 3.8.1
SwissalpS Jan 21, 2022
871e959
new log strings
SwissalpS Jan 24, 2022
3a74cf8
load compat files by scanning dir
SwissalpS Jan 24, 2022
4854f67
splitting constrain and enabler functions
SwissalpS Jan 24, 2022
ba07664
use nicer pos_to_string
SwissalpS Jan 24, 2022
8ecd022
move default denies to compat files
SwissalpS Jan 24, 2022
d67b09c
new tool set decision making
SwissalpS Jan 24, 2022
7426743
test helper for developement mode
SwissalpS Jan 24, 2022
e5bf1bf
bunch of compat and improved api
SwissalpS Jan 24, 2022
78e19a2
technic 'crafting' methods
SwissalpS Jan 24, 2022
7eb4430
add planetoidgen:airlight to air-like nodes
SwissalpS Jan 24, 2022
5c96541
whitespace and comments
SwissalpS Jan 24, 2022
a1df009
changed error messages
SwissalpS Jan 24, 2022
c1630bc
dev mode switching from GUI
SwissalpS Jan 24, 2022
0d5caee
TODO update
SwissalpS Jan 24, 2022
f9317b2
version bump 3.9
SwissalpS Jan 24, 2022
85bb9e9
compat for sci-fi plastic
SwissalpS Jan 24, 2022
b38faa7
advtrains compat
SwissalpS Jan 24, 2022
5d92b77
check deny group earlier
SwissalpS Jan 24, 2022
bf8975e
prefab compat no longer needed
SwissalpS Jan 24, 2022
0cfda23
bugfix actually check groups
SwissalpS Jan 24, 2022
ef398fc
compat for canned_food incl. pickling
SwissalpS Jan 24, 2022
bcd7848
wrap around prev. next
SwissalpS Jan 24, 2022
d7c821a
show next prev. buttons under 'this is' text
SwissalpS Jan 24, 2022
65ea3c2
tooltips for better translations
SwissalpS Jan 24, 2022
45a859f
update TODO
SwissalpS Jan 24, 2022
4c37d2b
fine-tuning positions
SwissalpS Jan 24, 2022
b010b3a
add group:food_potato image
SwissalpS Jan 24, 2022
9ccb275
sort
SwissalpS Jan 24, 2022
30b440a
wine compat
SwissalpS Jan 24, 2022
b40bda9
compat vines:shears
SwissalpS Jan 24, 2022
cf3de8a
sheep compat (wool)
SwissalpS Jan 24, 2022
9303ff4
TODO update
SwissalpS Jan 24, 2022
9a8040d
inspect ehlphabet compat
SwissalpS Jan 25, 2022
789cf2f
ehlphabet replacer compat
SwissalpS Jan 25, 2022
c387f5a
compat for letters
SwissalpS Jan 25, 2022
fd3f4b1
cleanup comment
SwissalpS Jan 25, 2022
0c5fa75
version bump 3.10
SwissalpS Jan 25, 2022
d90bc18
update method strings
SwissalpS Jan 25, 2022
b6c0af1
add better drop detection
SwissalpS Jan 25, 2022
7081583
improved technic recipes
SwissalpS Jan 25, 2022
93da96a
improve airbrush method
SwissalpS Jan 25, 2022
0e9f955
improve dynamic methods handling
SwissalpS Jan 25, 2022
7bde364
TODO updated
SwissalpS Jan 25, 2022
508a361
reformated chat command for more flexibility
SwissalpS Jan 26, 2022
12eaba2
added sound feedback for errors (mainly)
SwissalpS Jan 26, 2022
8c2dbcb
added tooltips
SwissalpS Jan 26, 2022
caaeeb7
failed attempt with textarea
SwissalpS Jan 26, 2022
c261ec3
experimenting with opening unified_inventory with tool
SwissalpS Jan 26, 2022
36d3d61
TODO update
SwissalpS Jan 26, 2022
a7f5f74
version bump 3.11
SwissalpS Jan 26, 2022
e1a36a9
fix vines:rope
SwissalpS Jan 26, 2022
1c0692b
'fix' ropes
SwissalpS Jan 26, 2022
493fc53
jumping compat
SwissalpS Jan 26, 2022
912dfff
scifi_nodes laptop
SwissalpS Jan 26, 2022
2e95ce7
TODO update these seem to work
SwissalpS Jan 26, 2022
b6d3bfa
TODO update
SwissalpS Jan 26, 2022
26d3c37
prepare for better translatable strings detection
SwissalpS Jan 26, 2022
e2911ef
translations update
SwissalpS Jan 26, 2022
20337bc
documentation update
SwissalpS Jan 26, 2022
9339454
LICENSE added
SwissalpS Jan 26, 2022
5a48c80
version bump 3.12
SwissalpS Jan 26, 2022
197c4ee
cleanup depends and update .luacheckrc
SwissalpS Jan 26, 2022
e7ecfd9
add luacheck github workflow
SwissalpS Jan 27, 2022
5bd6fea
luacheck 'fixes'
SwissalpS Jan 27, 2022
23e1cb5
Merge pull request #35 from SwissalpS/replacerImproveSawItemDetection
SwissalpS Jan 27, 2022
ac47166
Update .luacheckrc
SwissalpS Jan 27, 2022
db172ec
Update .luacheckrc
SwissalpS Jan 27, 2022
36b17bd
Merge pull request #36 from SwissalpS/test
SwissalpS Jan 27, 2022
ed6eb09
debug lines
SwissalpS Jan 28, 2022
2876066
adding print_dump()
SwissalpS Jan 28, 2022
5583ac8
reorder methods (no code change)
SwissalpS Jan 28, 2022
be5137f
proper var names in inspect code
SwissalpS Jan 28, 2022
7a44dbd
fix print_dump
SwissalpS Jan 28, 2022
f5797f5
mute some often used debug lines
SwissalpS Jan 28, 2022
d845356
version bump 4.0
SwissalpS Jan 28, 2022
dcd9a16
locale improvements
SwissalpS Feb 1, 2022
e459df3
fix version 5 formspec
SwissalpS Feb 2, 2022
e9b2c98
add buckets to inspection tool
SwissalpS Feb 2, 2022
e33969a
add scoop and pour methods for cans
SwissalpS Feb 2, 2022
1e507fe
beertap compat
SwissalpS Feb 2, 2022
bce8c92
some blabla changes
SwissalpS Feb 2, 2022
561e270
locale updates
SwissalpS Feb 2, 2022
0a62923
fix nodes that don't have drops but drop themselves
SwissalpS Feb 2, 2022
5afe25b
locale updates
SwissalpS Feb 2, 2022
ce74159
luacheck ignore unused debug function
SwissalpS Feb 2, 2022
fa54eea
proper luacheck syntax
SwissalpS Feb 2, 2022
a74e313
add setting to disable minor modes
SwissalpS Feb 2, 2022
e270fa3
locale update
SwissalpS Feb 2, 2022
cdda316
support for silicon aka forced aliases
SwissalpS Feb 2, 2022
fd707cb
version bump 4.1
SwissalpS Feb 3, 2022
25739a6
those uranium dust mixing recipes are deliberate
SwissalpS Feb 3, 2022
cb4d433
thoughts updated
SwissalpS Feb 3, 2022
438eabe
fix group:food_pumpkin
SwissalpS Feb 3, 2022
7389f4f
adjust protection info
SwissalpS Feb 3, 2022
634ce77
fixed alias resolving
SwissalpS Feb 3, 2022
ffabbf2
use leaner time-out calculations
SwissalpS Feb 4, 2022
401c6ae
don't use datastructure for replacing multiple nodes
SwissalpS Feb 4, 2022
85fa432
version bump 4.2
SwissalpS Feb 4, 2022
2f499bd
enable changing modes with place without pointing at a node
SwissalpS Feb 4, 2022
f29a88e
formspec tweaks for disabled minor modes
SwissalpS Feb 4, 2022
4bf1a4d
locale substitution fix
SwissalpS Feb 5, 2022
92cf0fa
more info on mobs
SwissalpS Feb 6, 2022
224cf51
locale updates
SwissalpS Feb 6, 2022
c16e883
version bump 4.3
SwissalpS Feb 6, 2022
2e9e7ff
more local references
SwissalpS Feb 10, 2022
6958e1b
more player inspection
SwissalpS Feb 10, 2022
1099618
one more translatable string
SwissalpS Feb 10, 2022
2139e2a
better variable names: j -> index2; index -> index1
SwissalpS Feb 10, 2022
614cf02
whitespace
SwissalpS Feb 10, 2022
89c8e6d
locale updates
SwissalpS Feb 10, 2022
90ca3c5
beautify code
SwissalpS Feb 10, 2022
8f7a4be
version bump 4.4
SwissalpS Feb 10, 2022
e5ae6b6
add note to TODO
SwissalpS Feb 12, 2022
25d9b3d
pass full context to recipe adders for more functionality
SwissalpS Feb 14, 2022
8fb48e1
accept recipes without output
SwissalpS Feb 14, 2022
4647273
compat for item holders
SwissalpS Feb 14, 2022
85bcd5e
locale updates
SwissalpS Feb 14, 2022
e77a4c8
version bump 4.5
SwissalpS Feb 14, 2022
3c4ae2a
add support for improved scifi_nodes holders
SwissalpS Feb 14, 2022
6c4863a
version bump 4.6
SwissalpS Feb 14, 2022
34f181a
fix #39
SwissalpS Feb 14, 2022
05d0b58
fix unsafe negation
SwissalpS May 15, 2022
65a1041
Merge branch 'master' of https://github.com/SwissalpS/replacer
SwissalpS May 15, 2022
c2fc166
Reduce Technic registration warnings
S-S-X Jun 16, 2022
9c7652c
Merge pull request #43 from S-S-X/technic-update
SwissalpS Jun 24, 2022
2599568
Update CHANGELOG
SwissalpS Jun 24, 2022
939a4a7
version bump 4.7
SwissalpS Jun 24, 2022
3ebe76a
improve setting replacer
SwissalpS Jun 26, 2022
c5ba2a7
version bump 4.9
SwissalpS Jun 26, 2022
b0e653e
bugfix de translation typo
SwissalpS Aug 30, 2022
1ac2ab2
version bump 4.91
SwissalpS Aug 30, 2022
1fd714b
fix typo
fluxionary Nov 7, 2022
6b83c88
typo in comment
SwissalpS Jun 8, 2023
8a0e3e9
another trivial comment fix
SwissalpS Jun 8, 2023
3b7db12
fix multinode trouble in field mode
SwissalpS Feb 25, 2024
a364db4
unrelated luacheck 'fixes'
SwissalpS Feb 25, 2024
d138cb3
Merge branch 'unkown' into multinodeTrouble
SwissalpS Feb 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/luacheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: luacheck
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: apt
run: sudo apt-get install -y luarocks
- name: luacheck install
run: luarocks install --local luacheck
- name: luacheck run
run: $HOME/.luarocks/bin/luacheck ./

30 changes: 30 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

globals = {
"replacer",
minetest = { fields = { "translate", "get_translator" } },
}

read_globals = {
-- Stdlib
string = { fields = { "split", "match", "find", "lower" } },
table = { fields = { "copy", "getn", "insert", "shuffle", "sort" } },

-- Minetest
"minetest",
"vector", "ItemStack",
"dump", "VoxelArea",

-- deps
"circular_saw",
"colormachine",
"creative",
"default",
"dye",
"flowers",
"moreblocks",
"stairsplus",
"technic",
"unified_inventory",
"unifieddyes",
}

115 changes: 115 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
20240225 * SwissalpS patched a crash situation with multinode-nodes. Thanks frogTheSecond and Huhhila for detecting and reporting.
20221107 * fluxionary fixed typo unkown -> unknown
20220830 * SwissalpS fixed de translation typo. Thanks Niklp09 for reporting.
20220626 * SwissalpS fixed case where other drops were prefered from actual node that user tried to set to.
20220624 * SX added technic.plus compat fix
20220215 * SwissalpS added compat for itemholder and powered_stand when override is used
to make them work nicely:
https://github.com/pandorabox-io/pandorabox_custom/blob/master/scifi_override.lua
20220214 * SwissalpS added compat for itemframe, pedestal, itemholder and powered_stand
(itemframes and scifi_nodes) showing info on what they are holding.
20220210 * SwissalpS added some more info to inspection tool when inspecting players.
20220205 * SwissalpS tweaked formspec of replacer to adjust when minor modes are disabled.
* Enabled changing modes with place without pointing at a node.
* Added more info on mobs.
20220204 * SwissalpS added tooltip to protection info as that often clipped.
* fixed the alias resolving to not change node_name.
* fixed group:food_pumpkin.
* dropped datastructure usage for final sorting as it left weird patterns
when time-outs were reached. Instead using clasic table.sort with vector.distance
comparisons. Also using faster repeat ... until loop.
* In field and crust mode only count nodes that were actually changed.
20220203 * SwissalpS fixed some issues: forced aliases, items that have no drops defined
Added compat for buckets, canisters and beertap/mugs
Fixed formspec for MT 5.5.0 (that now actually uses padding)
Added server setting to disable minor modes.
Updated documentation and locales.
20220127 * SwissalpS cleaned up var names in inspect.lua
* Added .luacheckrc and print_dump()
* Bumped version to 4.0
20220126 * SwissalpS improved some compat items and redid translations.
* Documentation updated.
* Added LICENSE file.
20220125 * SwissalpS improved sytem for showing dynamicly added crafting methods
which allowed to improve the output of technic and saw methods.
* Better drop detection method.
* Added sound playback for setting replacer errors, mainly.
* Change /replacer_mute to /replacer and changed the arguments
so sound can be muted separately.
* Added tooltips so users have more chance of reading long lines. Adding
textarea to make itemstring selectable failed and is post-poned to when
new version of formspec is being used for inspection tool as well.
* Added experimental hold zoom+click with inspection tool to open unified_inventory.
20220124 * SwissalpS added wrap around for recipes - yes, long due.
* Bugfix, now replacer actually checks groups.
* Compat for shears (wool & vines) also fermenting/pickling, advtrains and sci-fi plastic
* ehlphabet and letters compat.
20220123 * SwissalpS added dev-mode and /place_all chat command.
* Technic crafting methods for inspection tool, including cnc nodes.
* planetoidgen:airlight is treated as air.
* New way to determine if replacer can be set to node
implementing callbacks better. Such as group denial.
* A lot of compatibility added to many mods.
20220120 * SwissalpS made folder structure to create easier overview.
* Improved circular saw item detection for inspect and replacer.
* Added beacon beam and base support (no longer needed to be in inv when setting).
* Inspection tool now inspects light correctly and respects right-click.
* Added locale for inspection tool.
20220119 * SwissalpS added first draft of de,es,fi,fr,it,pt,ru locales.
20220118 * SwissalpS cleaned up more code, giving more discriptive variable names and
cleaning out ugly modes table that had both number and string indexes
* Don't allow replacer to be set to deny_list nodes
* History works for users with priv. Various settings added to
fine-tune how it behaves.
* Implemented minor-modes with more colours ;)
* Added non-formspec way to cycle minor modes: Special+Sneak+right-click
* Especially in functions with tight loops, local references to global functions was added.
20220117 * SwissalpS changed mode storage in tool meta to major.minor format
* Added version 4 formspec that enables changing minor mode
and has prepared history selector.
* Moved changelog and cleaned it up adding some dates
* Moved formspec code to separate file.
* Started implementing translations and history.
20220115 * SwissalpS refactored constraints and renamed blacklist to deny_list
20220114 * SwissalpS added support for cable plates and similar nodes
20220113 * SwissalpS worked in HybridDog's nicer pattern algorithm, modifying a little.
Also cleaned up some code and give-priv does not grant modes anymore,
creative still does.
20220112 * SwissalpS improved field mode: when replacing also check for same param2
improved crust mode: when placing also allow vacuum instead of only air
20211202 * SwissalpS added /replacer_mute command
20210930 * SwissalpS merged patch provided by S-S-X to prevent a rare but possible crash with
Unknown Items in hotbar
* Also cleaned up tool change messages to blabla.lua
20201016 * HybridDog provided first documentation and SwissalpS added some more explaining modes.
20201015 * SwissalpS cleaned up inspector code and made inspector better readable on smaller screens
20200322 * HybridDog removed fourth mode and improved node search
* SwissalpS added backward compatibility for non technic servers, restored
creative/give behaviour and fixed the 'too many nodes detected' issue
* S-S-X and some players from pandorabox.io requested and inspired ideas to
implement which SwissalpS tried to satisfy.
20200131 * SwissalpS added method to change mode via formspec
20200109 * BuckarooBanzay added server-setting max_nodes, moved crafts and replacer to
separate files, added .luacheckrc and cleaned up inspection tool, fixing
some issues on the way and updated readme to look nice
20191217 * OgelGames fixed digging to be simulated properly
20191212 * coil0 made modes available as technic tool and added limits
* SwissalpS merged Sokomine's and HybridDog's versions
* HybridDog added modes for creative mode
20190628 * coil0 fixed issue by using buildable_to
20171209 * Got rid of outdated minetest.env
* Fixed error in protection function.
* Fixed minor bugs.
* Added blacklist
20141002 * Some more improvements for inspect-tool. Added craft-guide.
20141001 * Added inspect-tool.
20130112 * If digging the node was unsuccessful, then the replacement will now fail
(instead of destroying the old node with its metadata; i.e. chests with content)
20131120 * if the server version is new enough, minetest.is_protected is used
in order to check if the replacement is allowed
20130424 * param1 and param2 are now stored
* hold sneak + right click to store new pattern
* right click: place one of the itmes
* receipe changed
* inventory image added

166 changes: 166 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.


This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or

b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the object code with a copy of the GNU GPL and this license
document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.

c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.

1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.

e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

Loading