Fix: node_dig_prediction for all nodes

master
aa6 2022-02-05 14:37:04 +03:00
parent a8ca8e416a
commit 59c40b400b
6 changed files with 111 additions and 3 deletions

View File

@ -1 +1 @@
0.2.2
0.2.4

View File

@ -168,7 +168,7 @@ minetest.register_node("minetest_hardcorebrix:node_red_firebrick_dry",
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
--node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry"
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry",
})
------------------------------------------------------------------------
@ -183,6 +183,7 @@ minetest.register_node("minetest_hardcorebrix:node_red_firebrick_dry_damaged_1",
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry_damaged_1",
})
------------------------------------------------------------------------
@ -197,6 +198,7 @@ minetest.register_node("minetest_hardcorebrix:node_red_firebrick_dry_damaged_2",
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry_damaged_2",
})
------------------------------------------------------------------------
@ -266,6 +268,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry_damaged_3_nodebox"..index,
}
)
end
@ -337,6 +340,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry_damaged_4_nodebox"..index,
}
)
end
@ -408,6 +412,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_red_firebrick_dry_damaged_5_nodebox"..index,
}
)
end

View File

@ -10,7 +10,7 @@ function minetest_hardcorebrix.on_white_firebrick_node_dig(pos,node,digger)
-- Fiwhite_brick has a chance not to break.
if math.random(1,100) - minetest_hardcorebrix.CHANCE_OF_WHITE_FIREBRICK_BREAKING_BY_PICKAXE_PERCENTS < 1 then
-- Randomly chosen that node must be breaked this time.
if node.name == "minetest_hardcorebrix:node_white_firebrick_dry" then
if node.name == "minetest_hardcorebrix:node_white_firebrick_dry" then
minetest.sound_play("minetest_hardcorebrix_firebrick_broken")
minetest.swap_node(pos,{ name = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_1" })
elseif node.name == "minetest_hardcorebrix:node_white_firebrick_dry_damaged_1" then
@ -187,6 +187,7 @@ minetest.register_node("minetest_hardcorebrix:node_white_firebrick_dry",
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry",
--node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry"
})
@ -202,6 +203,7 @@ minetest.register_node("minetest_hardcorebrix:node_white_firebrick_dry_damaged_1
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_1",
})
------------------------------------------------------------------------
@ -216,6 +218,7 @@ minetest.register_node("minetest_hardcorebrix:node_white_firebrick_dry_damaged_2
sounds = default.node_sound_stone_defaults(),
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_2",
})
------------------------------------------------------------------------
@ -260,6 +263,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_3_nodebox"..index,
}
)
end
@ -306,6 +310,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_4_nodebox"..index,
}
)
end
@ -352,6 +357,7 @@ for index,nodeboxBox in pairs(nodeboxes) do
},
on_blast = minetest_hardcorebrix.on_node_blast,
after_destruct = minetest_hardcorebrix.on_node_dig,
node_dig_prediction = "minetest_hardcorebrix:node_white_firebrick_dry_damaged_5_nodebox"..index,
}
)
end

18
util/git_hook_pre_commit.bash Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
case $1 in
"install")
SCRIPT_DIRECTORY=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
echo -n "bash util/git_hook_pre_commit.bash execute" > $SCRIPT_DIRECTORY/../.git/hooks/pre-commit
chmod +x $SCRIPT_DIRECTORY/../.git/hooks/pre-commit
chmod +x $SCRIPT_DIRECTORY/git_hook_pre_commit.bash
;;
"execute")
source util/increment_version.bash
VERSION=`cat VERSION`
VERSION=`increment_version $VERSION`
echo -n $VERSION > VERSION
convert -background none -density 196 -fill black -pointsize 21 -resample 72 -unsharp 0x.5 label:"$(cat VERSION)" -trim +repage -bordercolor white -border 3 util/version.png
git add VERSION
git add util/version.png
;;
esac

79
util/increment_version.bash Executable file
View File

@ -0,0 +1,79 @@
#!/bin/bash
# Accepts a version string and prints it incremented by one.
# Usage: increment_version <version> [<position>] [<leftmost>]
increment_version() {
local usage=" USAGE: $FUNCNAME [-l] [-t] <version> [<position>] [<leftmost>]
-l : remove leading zeros
-t : drop trailing zeros
<version> : The version string.
<position> : Optional. The position (starting with one) of the number
within <version> to increment. If the position does not
exist, it will be created. Defaults to last position.
<leftmost> : The leftmost position that can be incremented. If does not
exist, position will be created. This right-padding will
occur even to right of <position>, unless passed the -t flag."
# Get flags.
local flag_remove_leading_zeros=0
local flag_drop_trailing_zeros=0
while [ "${1:0:1}" == "-" ]; do
if [ "$1" == "--" ]; then shift; break
elif [ "$1" == "-l" ]; then flag_remove_leading_zeros=1
elif [ "$1" == "-t" ]; then flag_drop_trailing_zeros=1
else echo -e "Invalid flag: ${1}\n$usage"; return 1; fi
shift; done
# Get arguments.
if [ ${#@} -lt 1 ]; then echo "$usage"; return 1; fi
local v="${1}" # version string
local targetPos=${2-last} # target position
local minPos=${3-${2-0}} # minimum position
# Split version string into array using its periods.
local IFSbak; IFSbak=IFS; IFS='.' # IFS restored at end of func to
read -ra v <<< "$v" # avoid breaking other scripts.
# Determine target position.
if [ "${targetPos}" == "last" ]; then
if [ "${minPos}" == "last" ]; then minPos=0; fi
targetPos=$((${#v[@]}>${minPos}?${#v[@]}:$minPos)); fi
if [[ ! ${targetPos} -gt 0 ]]; then
echo -e "Invalid position: '$targetPos'\n$usage"; return 1; fi
(( targetPos-- )) || true # offset to match array index
# Make sure minPosition exists.
while [ ${#v[@]} -lt ${minPos} ]; do v+=("0"); done;
# Increment target position.
v[$targetPos]=`printf %0${#v[$targetPos]}d $((${v[$targetPos]}+1))`;
# Remove leading zeros, if -l flag passed.
if [ $flag_remove_leading_zeros == 1 ]; then
for (( pos=0; $pos<${#v[@]}; pos++ )); do
v[$pos]=$((${v[$pos]}*1)); done; fi
# If targetPosition was not at end of array, reset following positions to
# zero (or remove them if -t flag was passed).
if [[ ${flag_drop_trailing_zeros} -eq "1" ]]; then
for (( p=$((${#v[@]}-1)); $p>$targetPos; p-- )); do unset v[$p]; done
else for (( p=$((${#v[@]}-1)); $p>$targetPos; p-- )); do v[$p]=0; done; fi
echo "${v[*]}"
IFS=IFSbak
return 0
}
# EXAMPLE -------------> # RESULT
# increment_version 1 # 2
# increment_version 1 2 # 1.1
# increment_version 1 3 # 1.0.1
# increment_version 1.0.0 # 1.0.1
# increment_version 1.2.3.9 # 1.2.3.10
# increment_version 00.00.001 # 00.00.002
# increment_version -l 00.001 # 0.2
# increment_version 1.1.1.1 2 # 1.2.0.0
# increment_version -t 1.1.1 2 # 1.2
# increment_version v1.1.3 # v1.1.4
# increment_version 1.2.9 2 4 # 1.3.0.0
# increment_version -t 1.2.9 2 4 # 1.3
# increment_version 1.2.9 last 4 # 1.2.9.1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB