Compare commits
20 Commits
protected-
...
mtinfo
Author | SHA1 | Date | |
---|---|---|---|
896b150f82 | |||
1d42e59ada | |||
aecd323b93 | |||
317fdd6df6 | |||
2e035f37e9 | |||
178fd9c48b | |||
d2dd770635 | |||
eed0d601be | |||
16ff4dcdb8 | |||
b54333d56b | |||
6492d311c8 | |||
03d097abf8 | |||
9ad9ba33c8 | |||
40bcb29c6d | |||
37aef1ce17 | |||
8a8e566d27 | |||
a3b8ec1522 | |||
ce0501bef3 | |||
6d6432940f | |||
242dbde0e6 |
15
.github/workflows/integration-test.yml
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
name: integration-test
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: integration-test
|
||||
run: ./test/integration-test.sh
|
21
.github/workflows/mtinfo.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
name: mtinfo
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: generate
|
||||
run: ./generate-mtinfo.sh
|
||||
|
||||
- name: deploy
|
||||
if: github.ref == 'refs/heads/master'
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./output
|
3
.gitignore
vendored
@ -45,3 +45,6 @@ $RECYCLE.BIN/
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
# generated sources
|
||||
output
|
||||
|
@ -19,6 +19,7 @@ read_globals = {
|
||||
"xpanes",
|
||||
"screwdriver",
|
||||
"minetest",
|
||||
"mesecon"
|
||||
"mesecon",
|
||||
"unifieddyes"
|
||||
|
||||
}
|
||||
|
11
README.md
@ -3,11 +3,14 @@
|
||||
# scifi_nodes
|
||||
|
||||

|
||||

|
||||
[](https://content.minetest.net/packages/D00Med/scifi_nodes/)
|
||||
|
||||
Minetest mod that adds scifi themed blocks, doors, materials, plants and other assets.
|
||||
|
||||
# Changes log
|
||||
# Changelog
|
||||
|
||||
* Added support for unifieddyes
|
||||
* 14/08/2019 : retrocompatibility fixed (aliases in doors.lua)
|
||||
* 13/08/2019 :
|
||||
* added mod option doors_open_with_mesecon_only (default = false)
|
||||
@ -42,9 +45,13 @@ CC0
|
||||
|
||||
# Contributors:
|
||||
|
||||
* D00Med https://github.com/D00Med (creator)
|
||||
* tanmayameher https://github.com/tanmayameher
|
||||
* naturefreshmilk https://github.com/naturefreshmilk
|
||||
* BuckarooBanzay https://github.com/BuckarooBanzay
|
||||
* acmgit https://github.com/acmgit
|
||||
* catz85 https://github.com/catz85
|
||||
* coil0 https://github.com/coil0
|
||||
* Grossam https://github.com/Grossam
|
||||
* OgelGames https://github.com/OgelGames
|
||||
* leftshift https://github.com/leftshift
|
||||
* fluxionary https://github.com/fluxionary
|
||||
|
20
crafts.lua
@ -767,6 +767,16 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
-- 4 green light bar from 4 green metal, 2 green dye, 1 lightbar
|
||||
minetest.register_craft({
|
||||
output = "scifi_nodes:greenbar_animated 4",
|
||||
recipe = {
|
||||
{"scifi_nodes:greenbar", "", "scifi_nodes:greenbar"},
|
||||
{"", "mesecons:wire_00000000_off", ""},
|
||||
{"scifi_nodes:greenbar", "", "scifi_nodes:greenbar"}
|
||||
}
|
||||
})
|
||||
|
||||
-- 4 green metal block from 4 green metal
|
||||
minetest.register_craft({
|
||||
output = "scifi_nodes:green_square 4",
|
||||
@ -1282,10 +1292,13 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
-- https://forum.minetest.net/viewtopic.php?f=10&t=13125&p=261481#p261481
|
||||
-- with modified recipe
|
||||
minetest.register_craft({
|
||||
output = 'scifi_nodes:windowpanel 4',
|
||||
output = 'scifi_nodes:windowpanel',
|
||||
recipe = {
|
||||
{"scifi_nodes:glass","",""}
|
||||
{"scifi_nodes:glass_pane","scifi_nodes:glass_pane",""},
|
||||
{"scifi_nodes:glass_pane","scifi_nodes:glass_pane",""},
|
||||
{"","",""}
|
||||
}
|
||||
})
|
||||
|
||||
@ -1680,7 +1693,7 @@ minetest.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'scifi_nodes:stripes2top 3',
|
||||
recipe = {
|
||||
{"scifi_nodes:black","scifi_noedes:black","scifi_nodes:black"},
|
||||
{"scifi_nodes:black","scifi_nodes:black","scifi_nodes:black"},
|
||||
{"default:silver_sand","default:silver_sand","default:silver_sand"}
|
||||
}
|
||||
})
|
||||
@ -1692,4 +1705,3 @@ minetest.register_craft({
|
||||
{"scifi_nodes:stripes"}
|
||||
}
|
||||
})
|
||||
|
||||
|
27
generate-mtinfo.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
# prepare config
|
||||
CONFIG=/tmp/scifi_nodes_minetest.conf
|
||||
echo "mtinfo.autoshutdown = true" > ${CONFIG}
|
||||
echo "moreblocks.stairsplus_in_creative_inventory = false" >> ${CONFIG}
|
||||
|
||||
# prepare dependent mods
|
||||
WORLDMODS_DIR=/tmp/scifi_nodes_worldmods
|
||||
git clone --depth=1 https://gitlab.com/VanessaE/unifieddyes.git ${WORLDMODS_DIR}/unifieddyes
|
||||
git clone --depth=1 https://gitlab.com/VanessaE/basic_materials.git ${WORLDMODS_DIR}/basic_materials
|
||||
git clone --depth=1 https://github.com/minetest-mods/mesecons.git ${WORLDMODS_DIR}/mesecons
|
||||
git clone --depth=1 https://github.com/minetest-mods/moreblocks.git ${WORLDMODS_DIR}/moreblocks
|
||||
git clone --depth=1 https://github.com/BuckarooBanzay/mtinfo.git ${WORLDMODS_DIR}/mtinfo
|
||||
cp . ${WORLDMODS_DIR}/scifi_nodes -R
|
||||
|
||||
# start container with mtinfo
|
||||
docker run --rm -i \
|
||||
--user root \
|
||||
-v ${CONFIG}:/etc/minetest/minetest.conf:ro \
|
||||
-v ${WORLDMODS_DIR}/:/root/.minetest/worlds/world/worldmods \
|
||||
-v $(pwd)/output:/root/.minetest/worlds/world/mtinfo \
|
||||
registry.gitlab.com/minetest/minetest/server:5.4.0
|
||||
|
||||
test -f $(pwd)/output/index.html || exit 1
|
||||
test -f $(pwd)/output/data/items.js || exit 1
|
||||
test -d $(pwd)/output/textures || exit 1
|
1
init.lua
@ -20,4 +20,5 @@ dofile(MP.."/nodeboxes.lua")
|
||||
dofile(MP.."/palm_scanner.lua")
|
||||
dofile(MP.."/digicode.lua")
|
||||
dofile(MP.."/models.lua")
|
||||
dofile(MP.."/octagon_panes.lua")
|
||||
dofile(MP.."/crafts.lua")
|
||||
|
2
mod.conf
@ -1,4 +1,4 @@
|
||||
name = scifi_nodes
|
||||
description = Minetest mod that adds scifi themed blocks, doors, materials, plants and other assets.
|
||||
depends = default,dye
|
||||
optional_depends = xpanes,mesecons,moreblocks,mesecons_microcontroller,mesecons_button,mesecons_torch,mesecons_receiver,basic_materials
|
||||
optional_depends = xpanes,mesecons,moreblocks,mesecons_microcontroller,mesecons_button,mesecons_torch,mesecons_receiver,basic_materials,unifieddyes
|
||||
|
175
models.lua
@ -29,6 +29,7 @@ minetest.register_node("scifi_nodes:slope_"..name, {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = "clip",
|
||||
light_source = light,
|
||||
groups = {cracky=1},
|
||||
on_place = minetest.rotate_node
|
||||
@ -69,106 +70,104 @@ scifi_nodes.register_slope("blklt2", "Black stripe light", {"scifi_nodes_black_l
|
||||
local node = {}
|
||||
|
||||
node.types = {
|
||||
{"blue", "blue lines", "blue"},
|
||||
{"holes", "metal with holes","holes"},
|
||||
{"white2", "plastic", "white2"},
|
||||
{"super_white", "Super Plastic", "super_white", 11},
|
||||
{"ultra_white", "Ultra Plastic", "ultra_white", default.LIGHT_MAX},
|
||||
{"blue", "blue lines"},
|
||||
{"holes", "metal with holes"},
|
||||
{"white2", "plastic",},
|
||||
{"super_white", "Super Plastic", 11},
|
||||
{"ultra_white", "Ultra Plastic", default.LIGHT_MAX},
|
||||
-- {"engine", "engine", "engine"},
|
||||
{"wall", "metal wall", "wall"},
|
||||
{"white", "plastic wall", "white"},
|
||||
{"stripes2top", "dirty metal block","metal2"},
|
||||
{"rough", "rough metal", "rough"},
|
||||
{"lighttop", "metal block", "metal"},
|
||||
{"red", "red lines", "red"},
|
||||
{"green", "green lines", "green"},
|
||||
{"vent2", "vent", "vent"},
|
||||
{"stripes", "hazard stripes", "stripes"},
|
||||
{"rust", "rusty metal", "rust"},
|
||||
{"mesh", "metal mesh", "mesh"},
|
||||
{"black", "black wall", "black"},
|
||||
{"blackoct", "black octagon", "blackoct"},
|
||||
{"blackpipe", "black pipe", "blackpipe"},
|
||||
{"blacktile", "black tile", "blktl"},
|
||||
{"blacktile2", "black tile 2", "blktl2"},
|
||||
{"blackvent", "black vent", "blkvnt"},
|
||||
{"bluebars", "blue bars", "bluebars"},
|
||||
{"bluemetal", "blue metal", "blumtl"},
|
||||
{"bluetile", "blue tile", "blutl"},
|
||||
{"greytile", "grey tile", "grytl"},
|
||||
{"mesh2", "metal floormesh", "mesh2"},
|
||||
{"white", "plastic wall", "white"},
|
||||
{"pipe", "wall pipe", "pipe2"},
|
||||
{"pipeside", "side pipe", "pipe3"},
|
||||
{"tile", "white tile", "tile"},
|
||||
{"whiteoct", "white octagon", "whiteoct"},
|
||||
{"whitetile", "white tile2", "whttl"},
|
||||
{"black_detail", "black detail", "blckdtl"},
|
||||
{"green_square", "green metal block", "grnblck"},
|
||||
{"red_square", "red metal block", "redblck"},
|
||||
{"grey_square", "grey metal block", "greyblck"},
|
||||
{"blue_square", "blue metal block", "blublck"},
|
||||
{"black_mesh", "black vent block", "blckmsh"},
|
||||
{"dent", "dented metal block", "dent"},
|
||||
{"greenmetal", "green metal wall", "grnmetl"},
|
||||
{"greenmetal2", "green metal wall2", "grnmetl2"},
|
||||
{"greenlights", "green wall lights", "grnlt", 10},
|
||||
{"greenlights2", "green wall lights2", "grnlt2", 10},
|
||||
{"greenbar", "green light bar", "grnlghtbr", 10},
|
||||
{"green2", "green wall panel", "grn2"},
|
||||
{"greentubes", "green pipes", "grntubes"},
|
||||
{"grey", "grey wall", "gry"},
|
||||
{"greybolts", "grey wall bolts", "gryblts"},
|
||||
{"greybars", "grey bars", "grybrs"},
|
||||
{"greydots", "grey wall dots", "grydts"},
|
||||
{"greygreenbar", "gray power pipe", "grygrnbr", 10},
|
||||
{"octofloor", "Doom floor", "octofloor"},
|
||||
{"octofloor2", "Brown Doom floor", "octofloor2"},
|
||||
{"doomwall1", "Doom wall 1", "doomwall1"},
|
||||
{"doomwall2", "Doom wall 2", "doomwall2"},
|
||||
{"doomwall3", "Doom wall 3", "doomwall3"},
|
||||
{"doomwall4", "Doom wall 4", "doomwall4"},
|
||||
{"doomwall41", "Doom wall 4.1", "doomwall4.1"},
|
||||
{"doomwall42", "Doom wall 4.2", "doomwall4.2"},
|
||||
{"doomwall43", "Doom wall 4.3", "doomwall4.3"},
|
||||
{"doomwall431", "Doom wall 4.3.1", "doomwall4.3.1"},
|
||||
{"doomwall44", "Doom wall 4.4", "doomwall4.4"},
|
||||
{"blackdmg", "Damaged black wall", "blckdmg"},
|
||||
{"blackdmgstripe", "Damaged black wall(stripes)", "blckdmgstripe"},
|
||||
{"doomengine", "Doom engine wall", "doomengine"},
|
||||
{"wall", "metal wall"},
|
||||
{"white", "plastic wall"},
|
||||
{"stripes2top", "dirty metal block"},
|
||||
{"rough", "rough metal"},
|
||||
{"lighttop", "metal block"},
|
||||
{"red", "red lines"},
|
||||
{"green", "green lines"},
|
||||
{"vent2", "vent"},
|
||||
{"stripes", "hazard stripes"},
|
||||
{"rust", "rusty metal"},
|
||||
{"mesh", "metal mesh"},
|
||||
{"black", "black wall"},
|
||||
{"blackoct", "black octagon"},
|
||||
{"blackpipe", "black pipe"},
|
||||
{"blacktile", "black tile"},
|
||||
{"blacktile2", "black tile 2"},
|
||||
{"blackvent", "black vent"},
|
||||
{"bluebars", "blue bars"},
|
||||
{"bluemetal", "blue metal"},
|
||||
{"bluetile", "blue tile"},
|
||||
{"greytile", "grey tile"},
|
||||
{"mesh2", "metal floormesh"},
|
||||
{"pipe", "wall pipe"},
|
||||
{"pipeside", "side pipe"},
|
||||
{"tile", "white tile"},
|
||||
{"whiteoct", "white octagon"},
|
||||
{"whitetile", "white tile2"},
|
||||
{"black_detail", "black detail"},
|
||||
{"green_square", "green metal block"},
|
||||
{"red_square", "red metal block"},
|
||||
{"grey_square", "grey metal block"},
|
||||
{"blue_square", "blue metal block"},
|
||||
{"black_mesh", "black vent block"},
|
||||
{"dent", "dented metal block"},
|
||||
{"greenmetal", "green metal wall"},
|
||||
{"greenmetal2", "green metal wall2"},
|
||||
{"greenlights", "green wall lights", 10},
|
||||
{"greenlights2", "green wall lights2", 10},
|
||||
{"greenbar", "green light bar", 10},
|
||||
{"green2", "green wall panel"},
|
||||
{"greentubes", "green pipes"},
|
||||
{"grey", "grey wall"},
|
||||
{"greybolts", "grey wall bolts"},
|
||||
{"greybars", "grey bars"},
|
||||
{"greydots", "grey wall dots"},
|
||||
{"greygreenbar", "gray power pipe", 10},
|
||||
{"octofloor", "Doom floor"},
|
||||
{"octofloor2", "Brown Doom floor"},
|
||||
{"doomwall1", "Doom wall 1"},
|
||||
{"doomwall2", "Doom wall 2"},
|
||||
{"doomwall3", "Doom wall 3"},
|
||||
{"doomwall4", "Doom wall 4"},
|
||||
{"doomwall41", "Doom wall 4.1"},
|
||||
{"doomwall42", "Doom wall 4.2"},
|
||||
{"doomwall43", "Doom wall 4.3"},
|
||||
{"doomwall431", "Doom wall 4.3.1"},
|
||||
{"doomwall44", "Doom wall 4.4"},
|
||||
{"blackdmg", "Damaged black wall"},
|
||||
{"blackdmgstripe", "Damaged black wall(stripes)"},
|
||||
{"doomengine", "Doom engine wall"},
|
||||
-- {"monitorwall", "Wall monitors", "monitorwall"},
|
||||
{"screen3", "Wall monitor", "screen3"},
|
||||
{"doomlight", "Doom light", "doomlight", 12},
|
||||
{"bluwllight", "Blue wall light", "capsule3", default.LIGHT_MAX},
|
||||
{"bluegrid", "Blue Grid", "bluegrid", 5},
|
||||
{"fan", "Fan", "fan"},
|
||||
{"ppllght", "Purple wall light", "", default.LIGHT_MAX},
|
||||
{"pplwll", "Purple wall", "", 0},
|
||||
{"pplwll2", "Purple wall2", "", 0},
|
||||
{"pplwll3", "Purple wall3", "", 0},
|
||||
{"pplwll4", "Purple wall4", "", 0},
|
||||
{"pplblk", "Purple tile", "", 0},
|
||||
{"purple", "Purple node", "", 0},
|
||||
{"rock", "Moonstone", "", 0},
|
||||
{"rock2", "Moonstone2", "", 0},
|
||||
{"blackvnt", "Black vent", "", 0},
|
||||
{"blackplate", "Black plate", "", 0},
|
||||
{"screen3", "Wall monitor"},
|
||||
{"doomlight", "Doom light", 12},
|
||||
{"bluwllight", "Blue wall light", default.LIGHT_MAX},
|
||||
{"bluegrid", "Blue Grid", 5},
|
||||
{"fan", "Fan"},
|
||||
{"ppllght", "Purple wall light", default.LIGHT_MAX},
|
||||
{"pplwll", "Purple wall"},
|
||||
{"pplwll2", "Purple wall2"},
|
||||
{"pplwll3", "Purple wall3"},
|
||||
{"pplwll4", "Purple wall4"},
|
||||
{"pplblk", "Purple tile"},
|
||||
{"purple", "Purple node"},
|
||||
{"rock", "Moonstone"},
|
||||
{"rock2", "Moonstone2"},
|
||||
{"blackvnt", "Black vent"},
|
||||
{"blackplate", "Black plate"},
|
||||
}
|
||||
|
||||
if minetest.global_exists("stairsplus") then
|
||||
|
||||
for _, row in ipairs(node.types) do
|
||||
local name = row[1]
|
||||
local desc = row[2]
|
||||
local light = row[4]
|
||||
|
||||
-- Node Definition
|
||||
stairsplus:register_all("scifi_nodes", row[1], "scifi_nodes:"..name, {
|
||||
description = desc,
|
||||
stairsplus:register_all("scifi_nodes", name, "scifi_nodes:"..name, {
|
||||
description = row[2],
|
||||
tiles = {"scifi_nodes_"..name..".png"},
|
||||
use_texture_alpha = "clip",
|
||||
groups = {cracky=1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
light_source = light,
|
||||
light_source = row[3],
|
||||
})
|
||||
end
|
||||
end
|
||||
|
@ -151,7 +151,8 @@ minetest.register_node("scifi_nodes:pad", {
|
||||
paramtype = "light",
|
||||
groups = {cracky=1, oddly_breakable_by_hand=1},
|
||||
light_source = 5,
|
||||
on_construct = function(pos, node, placer)
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
local placer_name = placer:get_player_name()
|
||||
local meta = minetest.get_meta(pos)
|
||||
if position1 == nil then
|
||||
position1 = pos
|
||||
@ -160,10 +161,11 @@ minetest.register_node("scifi_nodes:pad", {
|
||||
position2 = pos
|
||||
meta:set_int("type", 2)
|
||||
else
|
||||
minetest.chat_send_all("There can only be two teleportation pads at a time!")
|
||||
minetest.chat_send_player(placer_name, "There can only be two teleportation pads at a time!")
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
local clicker_name = clicker:get_player_name()
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_int("type") == 1 and position2 ~= nil and position1 ~= nil then
|
||||
minetest.add_particlespawner(
|
||||
@ -217,7 +219,7 @@ minetest.register_node("scifi_nodes:pad", {
|
||||
"scifi_nodes_tp_part.png" --texture
|
||||
)
|
||||
minetest.after(1, function()
|
||||
local ppos = clicker:getpos()
|
||||
local ppos = clicker:getpos()
|
||||
if minetest.get_node({x=ppos.x, y=ppos.y, z=ppos.z}).name == "scifi_nodes:pad" then
|
||||
clicker:setpos(position1)
|
||||
end
|
||||
@ -235,13 +237,13 @@ minetest.register_node("scifi_nodes:pad", {
|
||||
end)
|
||||
elseif position1 == nil and meta:get_int("type") ~= 2 then
|
||||
position1 = pos
|
||||
meta:set_int("type", 1)
|
||||
minetest.chat_send_all("Teleporter 1 connected at "..minetest.pos_to_string(pos))
|
||||
meta:set_int("type", 1)
|
||||
minetest.chat_send_player(clicker_name, "Teleporter 1 connected at "..minetest.pos_to_string(pos))
|
||||
elseif position2 == nil and meta:get_int("type") ~= 1 then
|
||||
position2 = pos
|
||||
meta:set_int("type", 2)
|
||||
minetest.chat_send_all("Teleporter 2 connected at "..minetest.pos_to_string(pos))
|
||||
else minetest.chat_send_all("Teleporter error!")
|
||||
minetest.chat_send_player(clicker_name, "Teleporter 2 connected at "..minetest.pos_to_string(pos))
|
||||
else minetest.chat_send_player(clicker_name, "Teleporter error!")
|
||||
end
|
||||
end,
|
||||
on_destruct = function(pos, oldnode, placer)
|
||||
@ -279,7 +281,7 @@ minetest.register_node("scifi_nodes:pplwndw", {
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
node_box = {
|
||||
@ -306,7 +308,7 @@ minetest.register_node("scifi_nodes:gloshroom", {
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
sunlight_propagates = false,
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
groups = {fleshy=1, oddly_breakable_by_hand=1, dig_immediate=3},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@ -333,7 +335,7 @@ minetest.register_node("scifi_nodes:pot_lid", {
|
||||
},
|
||||
inventory_image = "scifi_nodes_pod_inv.png",
|
||||
wield_image = "scifi_nodes_pod_inv.png",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
groups = {cracky=1, not_in_creative_inventory=1},
|
||||
@ -473,6 +475,12 @@ minetest.register_node("scifi_nodes:light_dynamic", {
|
||||
type = "wallmounted",
|
||||
fixed = {-0.5, -0.5, -0.5, -0.45, 0.5, 0.5}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
fixed = {-0.5, -0.5, -0.5, -0.45, 0.5, 0.5}
|
||||
}
|
||||
},
|
||||
paramtype2 = "wallmounted",
|
||||
light_source = default.LIGHT_MAX,
|
||||
groups = {cracky=1, oddly_breakable_by_hand=1},
|
||||
@ -521,7 +529,7 @@ minetest.register_node("scifi_nodes:lightbars", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = default.LIGHT_MAX,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@ -542,7 +550,7 @@ tiles = {{
|
||||
name = "scifi_nodes_liquid.png",
|
||||
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.00},
|
||||
}},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = default.LIGHT_MAX,
|
||||
drawtype = "nodebox",
|
||||
sunlight_propagates = true,
|
||||
@ -562,7 +570,7 @@ minetest.register_node("scifi_nodes:liquid_pipe2", {
|
||||
tiles = {
|
||||
"scifi_nodes_orange.png",
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = default.LIGHT_MAX,
|
||||
drawtype = "nodebox",
|
||||
sunlight_propagates = true,
|
||||
@ -846,7 +854,7 @@ minetest.register_node("scifi_nodes:windowcorner", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
@ -877,7 +885,7 @@ minetest.register_node("scifi_nodes:windowstraight", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
@ -904,7 +912,7 @@ minetest.register_node("scifi_nodes:windowcorner2", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
@ -935,7 +943,7 @@ minetest.register_node("scifi_nodes:windowstraight2", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
@ -962,7 +970,7 @@ minetest.register_node("scifi_nodes:capsule", {
|
||||
"scifi_nodes_capsule.png",
|
||||
"scifi_nodes_capsule.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -992,7 +1000,7 @@ minetest.register_node("scifi_nodes:capsule3", {
|
||||
"scifi_nodes_capsule3.png",
|
||||
"scifi_nodes_capsule3.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -1022,7 +1030,7 @@ minetest.register_node("scifi_nodes:capsule2", {
|
||||
"scifi_nodes_capsule2.png",
|
||||
"scifi_nodes_capsule2.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -1078,10 +1086,9 @@ minetest.register_node("scifi_nodes:itemholder", {
|
||||
local meta = minetest.get_meta(pos)
|
||||
if name == meta:get_string("owner") or
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
local wield_item = clicker:get_wielded_item():get_name()
|
||||
local taken = item:take_item()
|
||||
if taken and not taken:is_empty() then
|
||||
minetest.add_item(pos, wield_item)
|
||||
minetest.add_item(pos, taken:to_string())
|
||||
return item
|
||||
end
|
||||
end
|
||||
@ -1111,7 +1118,7 @@ minetest.register_node("scifi_nodes:glassscreen", {
|
||||
"scifi_nodes_glscrn.png",
|
||||
"scifi_nodes_glscrn.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -1197,7 +1204,7 @@ minetest.register_node("scifi_nodes:windowpanel", {
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
|
77
nodes.lua
@ -182,6 +182,23 @@ minetest.register_node("scifi_nodes:disc", {
|
||||
groups = {cracky=1}
|
||||
})
|
||||
|
||||
minetest.register_node("scifi_nodes:greenbar_animated", {
|
||||
description = "animated green light bar",
|
||||
sunlight_propagates = false,
|
||||
tiles = {
|
||||
"scifi_nodes_greenbar.png",
|
||||
"scifi_nodes_greenbar.png", {
|
||||
name="scifi_nodes_greenbar_animated.png",
|
||||
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.00},
|
||||
}
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky=1},
|
||||
light_source = 10,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
minetest.register_node("scifi_nodes:blink", {
|
||||
description = "blinking light",
|
||||
@ -329,7 +346,7 @@ minetest.register_node("scifi_nodes:octrng", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = 10,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
@ -344,7 +361,7 @@ minetest.register_node("scifi_nodes:octgrn", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = 10,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
@ -359,7 +376,7 @@ minetest.register_node("scifi_nodes:octbl", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = 10,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
@ -374,7 +391,7 @@ minetest.register_node("scifi_nodes:octppl", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
light_source = 10,
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
@ -474,7 +491,7 @@ minetest.register_node("scifi_nodes:glass", {
|
||||
tiles = {
|
||||
"scifi_nodes_glass.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
groups = {cracky=1},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
@ -500,14 +517,15 @@ minetest.register_node("scifi_nodes:whtlightbnd", {
|
||||
-- colors available. When crafting, the last recipes will be checked first.
|
||||
--add new block using texture name(without "scifi_nodes_" prefix) then the description, and then the name of the block
|
||||
local nodetypes = {
|
||||
-- { name, description, shortname?, light, colorable }
|
||||
{"blue", "blue lines", "blue"},
|
||||
{"holes", "metal with holes","holes"},
|
||||
{"white2", "plastic", "white2"},
|
||||
{"white2", "plastic", "white2", 0, true},
|
||||
{"super_white", "Super Plastic", "super_white", 11},
|
||||
{"ultra_white", "Ultra Plastic", "ultra_white", default.LIGHT_MAX},
|
||||
{"engine", "engine", "engine"},
|
||||
{"wall", "metal wall", "wall"},
|
||||
{"white", "plastic wall", "white"},
|
||||
{"white", "plastic wall", "white", 0, true},
|
||||
{"stripes2top", "dirty metal block","metal2"},
|
||||
{"rough", "rough metal", "rough"},
|
||||
{"lighttop", "metal block", "metal"},
|
||||
@ -528,12 +546,11 @@ local nodetypes = {
|
||||
{"bluetile", "blue tile", "blutl"},
|
||||
{"greytile", "grey tile", "grytl"},
|
||||
{"mesh2", "metal floormesh", "mesh2"},
|
||||
{"white", "plastic wall", "white"},
|
||||
{"pipe", "wall pipe", "pipe2"},
|
||||
{"pipeside", "side pipe", "pipe3"},
|
||||
{"tile", "white tile", "tile"},
|
||||
{"whiteoct", "white octagon", "whiteoct"},
|
||||
{"whitetile", "white tile2", "whttl"},
|
||||
{"whiteoct", "white octagon", "whiteoct", 0, true},
|
||||
{"whitetile", "white tile2", "whttl", 0, true},
|
||||
{"black_detail", "black detail", "blckdtl"},
|
||||
{"green_square", "green metal block", "grnblck"},
|
||||
{"red_square", "red metal block", "redblck"},
|
||||
@ -586,12 +603,16 @@ local nodetypes = {
|
||||
{"blackplate", "Black plate", "", 0},
|
||||
}
|
||||
|
||||
local has_unifieddyes_mod = minetest.get_modpath("unifieddyes")
|
||||
|
||||
for _, row in ipairs(nodetypes) do
|
||||
local name = row[1]
|
||||
local desc = row[2]
|
||||
local light = row[4]
|
||||
local is_colorable = row[5]
|
||||
|
||||
-- Node Definition
|
||||
minetest.register_node("scifi_nodes:"..name, {
|
||||
local node_def = {
|
||||
description = desc,
|
||||
tiles = {"scifi_nodes_"..name..".png"},
|
||||
groups = {cracky=1},
|
||||
@ -599,5 +620,35 @@ for _, row in ipairs(nodetypes) do
|
||||
paramtype2 = "facedir",
|
||||
light_source = light,
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
if is_colorable and has_unifieddyes_mod then
|
||||
-- overwrite attributes on the "uncolored" node
|
||||
node_def.palette = "unifieddyes_palette_extended.png"
|
||||
node_def.groups.ud_param2_colorable = 1
|
||||
node_def.airbrush_replacement_node = "scifi_nodes:"..name.."_colored"
|
||||
end
|
||||
|
||||
-- register node
|
||||
minetest.register_node("scifi_nodes:"..name, node_def)
|
||||
|
||||
if is_colorable and has_unifieddyes_mod then
|
||||
-- register colored node
|
||||
minetest.register_node("scifi_nodes:"..name.."_colored", {
|
||||
description = desc,
|
||||
tiles = {"scifi_nodes_"..name..".png"},
|
||||
groups = {
|
||||
cracky = 1,
|
||||
ud_param2_colorable = 1,
|
||||
not_in_creative_inventory = 1
|
||||
},
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
light_source = light,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_construct = unifieddyes.on_construct,
|
||||
on_dig = unifieddyes.on_dig
|
||||
})
|
||||
end
|
||||
end
|
||||
|
111
octagon_panes.lua
Normal file
@ -0,0 +1,111 @@
|
||||
|
||||
local function register(basename, description, texture)
|
||||
local nodename_single = "scifi_nodes:" .. basename .. "_pane"
|
||||
local nodename_double = "scifi_nodes:" .. basename .. "_pane_double"
|
||||
local nodename_offset = "scifi_nodes:" .. basename .. "_pane_offset"
|
||||
local recipe_ingredient = "scifi_nodes:" .. basename
|
||||
|
||||
-- single height
|
||||
minetest.register_node(nodename_single, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
texture
|
||||
},
|
||||
wield_image = texture,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, -0.03125, 0.5, 0.5, 0.03125}},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, -0.25, 0.5, 0.5, 0.25}},
|
||||
},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
use_texture_alpha = "blend",
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
-- double height
|
||||
minetest.register_node(nodename_double, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
texture
|
||||
},
|
||||
wield_image = texture,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, -0.03125, 0.5, 1.5, 0.03125}},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, -0.25, 0.5, 1.5, 0.25}},
|
||||
},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
use_texture_alpha = "blend",
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
-- single height with offset
|
||||
minetest.register_node(nodename_offset, {
|
||||
description = description,
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
texture
|
||||
},
|
||||
wield_image = texture,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, 0.96875, 0.5, 0.5, 1.03125}},
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {{-0.5, -0.5, 0.75, 0.5, 0.5, 1.25}},
|
||||
},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
use_texture_alpha = "blend",
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
-- register recipes
|
||||
|
||||
minetest.register_craft({
|
||||
output = nodename_single .. " 16",
|
||||
recipe = {
|
||||
{recipe_ingredient}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = nodename_double .. " 16",
|
||||
recipe = {
|
||||
{recipe_ingredient},
|
||||
{recipe_ingredient}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = nodename_offset,
|
||||
type = "shapeless",
|
||||
recipe = {nodename_single},
|
||||
})
|
||||
end
|
||||
|
||||
register("octrng", "Orange Octagon Glass pane", "scifi_nodes_octrng.png")
|
||||
register("octgrn", "Green Octagon Glass pane", "scifi_nodes_octgrn.png")
|
||||
register("octbl", "Blue Octagon Glass pane", "scifi_nodes_octbl.png")
|
||||
register("octppl", "Purple Octagon Glass pane", "scifi_nodes_octppl.png")
|
||||
register("glass", "Dark Glass pane", "scifi_nodes_glass.png")
|
25
test/integration-test.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
# Spins up a test world to ensure proper working recipes and registrations
|
||||
|
||||
CWD=$(dirname $0)
|
||||
cd ${CWD}/../
|
||||
|
||||
CFG=/tmp/minetest.conf
|
||||
MTDIR=/tmp/mt
|
||||
WORLDDIR=${MTDIR}/worlds/world
|
||||
|
||||
cat <<EOF > ${CFG}
|
||||
# empty
|
||||
EOF
|
||||
|
||||
mkdir -p ${WORLDDIR}
|
||||
chmod 777 ${MTDIR} -R
|
||||
docker run --rm -i \
|
||||
-v ${CFG}:/etc/minetest/minetest.conf:ro \
|
||||
-v ${MTDIR}:/var/lib/minetest/.minetest \
|
||||
-v $(pwd)/:/var/lib/minetest/.minetest/worlds/world/worldmods/scifi_nodes \
|
||||
-v $(pwd)/test/test_mod/:/var/lib/minetest/.minetest/worlds/world/worldmods/scifi_nodes_test \
|
||||
--network host \
|
||||
registry.gitlab.com/minetest/minetest/server:5.2.0
|
||||
|
||||
test -f ${WORLDDIR}/integration_test.json && exit 0 || exit 1
|
40
test/test_mod/init.lua
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
minetest.log("warning", "[TEST] integration-test enabled!")
|
||||
|
||||
-- those mods have to be present
|
||||
local assert_mods = {
|
||||
"scifi_nodes"
|
||||
}
|
||||
|
||||
-- those nodes have to be present
|
||||
local assert_nodes = {
|
||||
"scifi_nodes:crate",
|
||||
"scifi_nodes:door1a"
|
||||
}
|
||||
|
||||
minetest.register_on_mods_loaded(function()
|
||||
minetest.after(0, function()
|
||||
-- check mods
|
||||
for _, modname in ipairs(assert_mods) do
|
||||
if not minetest.get_modpath(modname) then
|
||||
error("Mod not present: " .. modname)
|
||||
end
|
||||
end
|
||||
|
||||
-- check nodes
|
||||
for _, nodename in ipairs(assert_nodes) do
|
||||
if not minetest.registered_nodes[nodename] then
|
||||
error("Node not present: " .. nodename)
|
||||
end
|
||||
end
|
||||
|
||||
local data = minetest.write_json({ success = true }, true);
|
||||
local file = io.open(minetest.get_worldpath().."/integration_test.json", "w" );
|
||||
if file then
|
||||
file:write(data)
|
||||
file:close()
|
||||
end
|
||||
minetest.request_shutdown("success")
|
||||
|
||||
end)
|
||||
end)
|
2
test/test_mod/mod.conf
Normal file
@ -0,0 +1,2 @@
|
||||
name = scifi_nodes_test
|
||||
depends = scifi_nodes
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 254 B |
Before Width: | Height: | Size: 155 B After Width: | Height: | Size: 133 B |
Before Width: | Height: | Size: 323 B After Width: | Height: | Size: 270 B |
Before Width: | Height: | Size: 86 B After Width: | Height: | Size: 83 B |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 836 B After Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 159 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 218 B |
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 420 B After Width: | Height: | Size: 276 B |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 575 B After Width: | Height: | Size: 435 B |
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 108 B After Width: | Height: | Size: 100 B |
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 109 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 124 B |
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 791 B After Width: | Height: | Size: 724 B |
Before Width: | Height: | Size: 605 B After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 153 B |
Before Width: | Height: | Size: 268 B After Width: | Height: | Size: 230 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 208 B |
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 228 B |
Before Width: | Height: | Size: 107 B After Width: | Height: | Size: 104 B |
Before Width: | Height: | Size: 154 B After Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 364 B After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 179 B |
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 268 B |
Before Width: | Height: | Size: 567 B After Width: | Height: | Size: 230 B |
Before Width: | Height: | Size: 608 B After Width: | Height: | Size: 304 B |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 170 B |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 285 B |
Before Width: | Height: | Size: 437 B After Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 325 B |
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 733 B After Width: | Height: | Size: 560 B |
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 431 B After Width: | Height: | Size: 248 B |
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 716 B After Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 791 B After Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 730 B After Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 768 B After Width: | Height: | Size: 674 B |
Before Width: | Height: | Size: 787 B After Width: | Height: | Size: 674 B |
Before Width: | Height: | Size: 731 B After Width: | Height: | Size: 664 B |
Before Width: | Height: | Size: 754 B After Width: | Height: | Size: 511 B |
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 248 B |
Before Width: | Height: | Size: 91 B After Width: | Height: | Size: 67 B |
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 517 B |
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 460 B |
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 691 B After Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 252 B |
Before Width: | Height: | Size: 324 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 126 B |
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 67 B |
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 203 B |
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 126 B |
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 385 B After Width: | Height: | Size: 222 B |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 112 B |
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 69 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 154 B |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 155 B |