Merge branch 'master' of http://git.cubesoftware.xyz:20524/kacperks/SussyCraft
This commit is contained in:
commit
e32fed7ebc
@ -26,7 +26,7 @@ minetest.register_node("amogus_blocks:tv", {
|
|||||||
},
|
},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
drop = { -- amogus_items:capacitor amogus_items:pcb
|
drop = { -- amogus_items:capacitor amogus_items:pcb
|
||||||
-- drop two items
|
-- drop two items
|
||||||
max_items = 2,
|
max_items = 2,
|
||||||
items = {
|
items = {
|
||||||
{items = {'amogus_items:capacitor'}, rarity = 1},
|
{items = {'amogus_items:capacitor'}, rarity = 1},
|
||||||
@ -199,72 +199,6 @@ minetest.register_node("amogus_blocks:wood", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- OLD water. not flowing. throwing massive amounts of errors.
|
|
||||||
|
|
||||||
--minetest.register_node("amogus_blocks:water", {
|
|
||||||
-- description = "Water",
|
|
||||||
-- drawtype = "liquid",
|
|
||||||
-- tiles = {
|
|
||||||
-- {
|
|
||||||
-- name = "water.png",
|
|
||||||
-- --animation = {
|
|
||||||
-- -- type = "vertical_frames",
|
|
||||||
-- -- aspect_w = 16,
|
|
||||||
-- -- aspect_h = 16,
|
|
||||||
-- -- length = 2.0,
|
|
||||||
-- --},
|
|
||||||
-- },
|
|
||||||
-- --{
|
|
||||||
-- -- name = "water.png",
|
|
||||||
-- -- animation = {
|
|
||||||
-- -- type = "vertical_frames",
|
|
||||||
-- -- aspect_w = 16,
|
|
||||||
-- -- aspect_h = 16,
|
|
||||||
-- -- length = 2.0,
|
|
||||||
-- -- },
|
|
||||||
-- --},
|
|
||||||
-- },
|
|
||||||
-- --special_tiles = {
|
|
||||||
-- -- -- New-style water source material (mostly unused)
|
|
||||||
-- -- {
|
|
||||||
-- -- name = "water.png",
|
|
||||||
-- -- backface_culling = false,
|
|
||||||
-- -- animation = {
|
|
||||||
-- -- type = "vertical_frames",
|
|
||||||
-- -- aspect_w = 16,
|
|
||||||
-- -- aspect_h = 16,
|
|
||||||
-- -- length = 2.0,
|
|
||||||
-- -- },
|
|
||||||
-- -- },
|
|
||||||
-- -- -- New-style flowing water material (mostly unused)
|
|
||||||
-- -- {
|
|
||||||
-- -- name = "water.png",
|
|
||||||
-- -- backface_culling = true,
|
|
||||||
-- -- animation = {
|
|
||||||
-- -- type = "vertical_frames",
|
|
||||||
-- -- aspect_w = 16,
|
|
||||||
-- -- aspect_h = 16,
|
|
||||||
-- -- length = 0.8,
|
|
||||||
-- -- },
|
|
||||||
-- -- },
|
|
||||||
-- --},
|
|
||||||
-- alpha = 160,
|
|
||||||
-- paramtype = "light",
|
|
||||||
-- walkable = false,
|
|
||||||
-- pointable = false,
|
|
||||||
-- diggable = false,
|
|
||||||
-- --buildable_to = true,
|
|
||||||
-- drowning = 1,
|
|
||||||
-- liquidtype = "source",
|
|
||||||
-- --liquid_alternative_flowing = "amogus_blocks:water_flowing",
|
|
||||||
-- --liquid_alternative_source = "amogus_blocks:water_source",
|
|
||||||
-- liquid_viscosity = 1,
|
|
||||||
-- post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
|
||||||
-- groups = {water = 3, liquid = 3, puts_out_fire = 1},
|
|
||||||
--})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_node("amogus_blocks:water_source", {
|
minetest.register_node("amogus_blocks:water_source", {
|
||||||
description = "Water Source",
|
description = "Water Source",
|
||||||
drawtype = "liquid",
|
drawtype = "liquid",
|
||||||
@ -295,7 +229,7 @@ minetest.register_node("amogus_blocks:water_source", {
|
|||||||
liquid_alternative_source = "amogus_blocks:water_source",
|
liquid_alternative_source = "amogus_blocks:water_source",
|
||||||
liquid_viscosity = 1,
|
liquid_viscosity = 1,
|
||||||
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
||||||
groups = {water = 3, liquid = 3, cools_lava = 1}
|
groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory = 1},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("amogus_blocks:water_flowing", {
|
minetest.register_node("amogus_blocks:water_flowing", {
|
||||||
|
@ -3,10 +3,10 @@ minetest.register_on_joinplayer(function(player)
|
|||||||
--player:set_sky({r=0, g=0, b=0}, "plain", {})
|
--player:set_sky({r=0, g=0, b=0}, "plain", {})
|
||||||
|
|
||||||
-- play music in loop without position
|
-- play music in loop without position
|
||||||
-- minetest.sound_play("amogus_incomming", {
|
--minetest.sound_play("amogus_incomming", {
|
||||||
-- to_player = player:get_player_name(),
|
-- to_player = player:get_player_name(),
|
||||||
-- loop = true,
|
-- loop = true,
|
||||||
--gain = 1
|
-- gain = 1
|
||||||
--})
|
--})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -69,7 +69,9 @@ minetest.register_ore({
|
|||||||
clust_size = 1,
|
clust_size = 1,
|
||||||
y_max = 31000,
|
y_max = 31000,
|
||||||
y_min = -31000,
|
y_min = -31000,
|
||||||
})minetest.register_ore({
|
})
|
||||||
|
|
||||||
|
minetest.register_ore({
|
||||||
ore_type = "scatter",
|
ore_type = "scatter",
|
||||||
ore = "amogus_blocks:gold_ore",
|
ore = "amogus_blocks:gold_ore",
|
||||||
wherein = "amogus_blocks:stone",
|
wherein = "amogus_blocks:stone",
|
||||||
@ -78,7 +80,9 @@ minetest.register_ore({
|
|||||||
clust_size = 1,
|
clust_size = 1,
|
||||||
y_max = 31000,
|
y_max = 31000,
|
||||||
y_min = -31000,
|
y_min = -31000,
|
||||||
})minetest.register_ore({
|
})
|
||||||
|
|
||||||
|
minetest.register_ore({
|
||||||
ore_type = "scatter",
|
ore_type = "scatter",
|
||||||
ore = "amogus_blocks:obsusian",
|
ore = "amogus_blocks:obsusian",
|
||||||
wherein = "amogus_blocks:stone",
|
wherein = "amogus_blocks:stone",
|
||||||
@ -87,7 +91,9 @@ minetest.register_ore({
|
|||||||
clust_size = 1,
|
clust_size = 1,
|
||||||
y_max = 31000,
|
y_max = 31000,
|
||||||
y_min = -31000,
|
y_min = -31000,
|
||||||
})minetest.register_ore({
|
})
|
||||||
|
|
||||||
|
minetest.register_ore({
|
||||||
ore_type = "scatter",
|
ore_type = "scatter",
|
||||||
ore = "amogus_blocks:iron_ore",
|
ore = "amogus_blocks:iron_ore",
|
||||||
wherein = "amogus_blocks:stone",
|
wherein = "amogus_blocks:stone",
|
||||||
@ -531,6 +537,8 @@ minetest.register_decoration({
|
|||||||
schematic = "/schematics/STATUE_GIANT.mts",
|
schematic = "/schematics/STATUE_GIANT.mts",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- wtf is this??
|
||||||
--minetest.register_on_generated(function(minp, maxp, seed)
|
--minetest.register_on_generated(function(minp, maxp, seed)
|
||||||
-- for x = minp.x, maxp.x do
|
-- for x = minp.x, maxp.x do
|
||||||
-- for y = minp.y, maxp.y do
|
-- for y = minp.y, maxp.y do
|
||||||
|
@ -427,3 +427,254 @@ minetest.register_entity("amogus_items:dynamite_entity", {
|
|||||||
self.object:remove()
|
self.object:remove()
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- below is modified code from bucket mod from minetest_game. (Minetest 0.4 mod: bucket)
|
||||||
|
-- original is licensed under:
|
||||||
|
-- GNU Lesser General Public License, version 2.1
|
||||||
|
-- Copyright (C) 2011-2016 Kahrl <kahrl@gmx.net>
|
||||||
|
-- Copyright (C) 2011-2016 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||||
|
-- Copyright (C) 2011-2016 Various Minetest developers and contributors
|
||||||
|
|
||||||
|
minetest.register_alias("empty_bucket", "amogus_items:empty_bucket")
|
||||||
|
minetest.register_alias("water_bucket", "amogus_items:water_bucket")
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "bucket:empty_bucket 1",
|
||||||
|
recipe = {
|
||||||
|
{"amogus_items:iron_ingot", "", "amogus_items:iron_ingot"},
|
||||||
|
{"", "amogus_items:iron_ingot", ""},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
bucket = {}
|
||||||
|
bucket.liquids = {}
|
||||||
|
|
||||||
|
local function check_protection(pos, name, text)
|
||||||
|
if minetest.is_protected(pos, name) then
|
||||||
|
minetest.log("action", (name ~= "" and name or "A mod")
|
||||||
|
.. " tried to " .. text
|
||||||
|
.. " at protected position "
|
||||||
|
.. minetest.pos_to_string(pos)
|
||||||
|
.. " with a bucket")
|
||||||
|
minetest.record_protection_violation(pos, name)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- Register a new liquid
|
||||||
|
-- source = name of the source node
|
||||||
|
-- flowing = name of the flowing node
|
||||||
|
-- itemname = name of the new bucket item (or nil if liquid is not takeable)
|
||||||
|
-- inventory_image = texture of the new bucket item (ignored if itemname == nil)
|
||||||
|
-- name = text description of the bucket item
|
||||||
|
-- groups = (optional) groups of the bucket item, for example {water_bucket = 1}
|
||||||
|
-- force_renew = (optional) bool. Force the liquid source to renew if it has a
|
||||||
|
-- source neighbour, even if defined as 'liquid_renewable = false'.
|
||||||
|
-- Needed to avoid creating holes in sloping rivers.
|
||||||
|
-- This function can be called from any mod (that depends on bucket).
|
||||||
|
function bucket.register_liquid(source, flowing, itemname, inventory_image, name,
|
||||||
|
groups, force_renew)
|
||||||
|
bucket.liquids[source] = {
|
||||||
|
source = source,
|
||||||
|
flowing = flowing,
|
||||||
|
itemname = itemname,
|
||||||
|
force_renew = force_renew,
|
||||||
|
}
|
||||||
|
bucket.liquids[flowing] = bucket.liquids[source]
|
||||||
|
|
||||||
|
if itemname ~= nil then
|
||||||
|
minetest.register_craftitem(itemname, {
|
||||||
|
description = name,
|
||||||
|
inventory_image = inventory_image,
|
||||||
|
stack_max = 1,
|
||||||
|
liquids_pointable = true,
|
||||||
|
groups = groups,
|
||||||
|
|
||||||
|
on_place = function(itemstack, user, pointed_thing)
|
||||||
|
-- Must be pointing to node
|
||||||
|
if pointed_thing.type ~= "node" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local node = minetest.get_node_or_nil(pointed_thing.under)
|
||||||
|
local ndef = node and minetest.registered_nodes[node.name]
|
||||||
|
|
||||||
|
-- Call on_rightclick if the pointed node defines it
|
||||||
|
if ndef and ndef.on_rightclick and
|
||||||
|
not (user and user:is_player() and
|
||||||
|
user:get_player_control().sneak) then
|
||||||
|
return ndef.on_rightclick(
|
||||||
|
pointed_thing.under,
|
||||||
|
node, user,
|
||||||
|
itemstack)
|
||||||
|
end
|
||||||
|
|
||||||
|
local lpos
|
||||||
|
|
||||||
|
-- Check if pointing to a buildable node
|
||||||
|
if ndef and ndef.buildable_to then
|
||||||
|
-- buildable; replace the node
|
||||||
|
lpos = pointed_thing.under
|
||||||
|
else
|
||||||
|
-- not buildable to; place the liquid above
|
||||||
|
-- check if the node above can be replaced
|
||||||
|
|
||||||
|
lpos = pointed_thing.above
|
||||||
|
node = minetest.get_node_or_nil(lpos)
|
||||||
|
local above_ndef = node and minetest.registered_nodes[node.name]
|
||||||
|
|
||||||
|
if not above_ndef or not above_ndef.buildable_to then
|
||||||
|
-- do not remove the bucket with the liquid
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if check_protection(lpos, user
|
||||||
|
and user:get_player_name()
|
||||||
|
or "", "place "..source) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.set_node(lpos, {name = source})
|
||||||
|
return ItemStack("amogus_items:empty_bucket")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- random prefixes for names
|
||||||
|
local bucket_names_prefixes = {
|
||||||
|
"Sussy",
|
||||||
|
"Sussy wussy",
|
||||||
|
"Sus",
|
||||||
|
"Imposterous",
|
||||||
|
"This is",
|
||||||
|
"I wonder what is the",
|
||||||
|
"You probably need",
|
||||||
|
"Big",
|
||||||
|
"Cursed",
|
||||||
|
"I want that",
|
||||||
|
"Very funny",
|
||||||
|
"Suspicious",
|
||||||
|
"SuspicioususUSSuS",
|
||||||
|
"SuspiciousususSuSuSsSSuS",
|
||||||
|
"AAAAA!! IT'S AGAIN THAT",
|
||||||
|
"Fantastick",
|
||||||
|
"I don't know what is that",
|
||||||
|
"This is propably the longest item name you will ever see and btw this item is called",
|
||||||
|
"I like",
|
||||||
|
"Whatever that is, I've got my own",
|
||||||
|
"A",
|
||||||
|
"Wonderful",
|
||||||
|
"Respectful",
|
||||||
|
"Amogus shaped",
|
||||||
|
"Impostor shaped",
|
||||||
|
"Imposter shaped",
|
||||||
|
"Sussy shaped"
|
||||||
|
}
|
||||||
|
|
||||||
|
-- random name
|
||||||
|
local empty_bucket_names = {
|
||||||
|
"Bmpty Eucket",
|
||||||
|
"Bupty Emcket",
|
||||||
|
"Emptt Buckey",
|
||||||
|
"Emckty Bupet"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craftitem("amogus_items:empty_bucket", {
|
||||||
|
-- random name
|
||||||
|
--description = (empty_bucket_names[math.random(1, #empty_bucket_names)]),
|
||||||
|
description = (bucket_names_prefixes[math.random(1, #bucket_names_prefixes)] .. " " .. empty_bucket_names[math.random(1, #empty_bucket_names)]),
|
||||||
|
inventory_image = "empty_bucket.png",
|
||||||
|
groups = {tool = 1},
|
||||||
|
liquids_pointable = true,
|
||||||
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
|
if pointed_thing.type == "object" then
|
||||||
|
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil)
|
||||||
|
return user:get_wielded_item()
|
||||||
|
elseif pointed_thing.type ~= "node" then
|
||||||
|
-- do nothing if it's neither object nor node
|
||||||
|
return
|
||||||
|
end
|
||||||
|
-- Check if pointing to a liquid source
|
||||||
|
local node = minetest.get_node(pointed_thing.under)
|
||||||
|
local liquiddef = bucket.liquids[node.name]
|
||||||
|
local item_count = user:get_wielded_item():get_count()
|
||||||
|
|
||||||
|
if liquiddef ~= nil
|
||||||
|
and liquiddef.itemname ~= nil
|
||||||
|
and node.name == liquiddef.source then
|
||||||
|
if check_protection(pointed_thing.under,
|
||||||
|
user:get_player_name(),
|
||||||
|
"take ".. node.name) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- default set to return filled bucket
|
||||||
|
local giving_back = liquiddef.itemname
|
||||||
|
|
||||||
|
-- check if holding more than 1 empty bucket
|
||||||
|
if item_count > 1 then
|
||||||
|
|
||||||
|
-- if space in inventory add filled bucked, otherwise drop as item
|
||||||
|
local inv = user:get_inventory()
|
||||||
|
if inv:room_for_item("main", {name=liquiddef.itemname}) then
|
||||||
|
inv:add_item("main", liquiddef.itemname)
|
||||||
|
else
|
||||||
|
local pos = user:get_pos()
|
||||||
|
pos.y = math.floor(pos.y + 0.5)
|
||||||
|
minetest.add_item(pos, liquiddef.itemname)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- set to return empty buckets minus 1
|
||||||
|
giving_back = "amogus_items:empty_bucket "..tostring(item_count-1)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
-- force_renew requires a source neighbour
|
||||||
|
local source_neighbor = false
|
||||||
|
if liquiddef.force_renew then
|
||||||
|
source_neighbor =
|
||||||
|
minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
|
||||||
|
end
|
||||||
|
if not (source_neighbor and liquiddef.force_renew) then
|
||||||
|
minetest.add_node(pointed_thing.under, {name = "air"})
|
||||||
|
end
|
||||||
|
|
||||||
|
return ItemStack(giving_back)
|
||||||
|
else
|
||||||
|
-- non-liquid nodes will have their on_punch triggered
|
||||||
|
local node_def = minetest.registered_nodes[node.name]
|
||||||
|
if node_def then
|
||||||
|
node_def.on_punch(pointed_thing.under, node, user, pointed_thing)
|
||||||
|
end
|
||||||
|
return user:get_wielded_item()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- random name
|
||||||
|
local water_bucket_names = {
|
||||||
|
"Bater Wucket",
|
||||||
|
"Buter Wacket",
|
||||||
|
"Watet Bucker",
|
||||||
|
"Wacker Butet"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bucket.register_liquid(
|
||||||
|
"amogus_blocks:water_source",
|
||||||
|
"amogus_blocks:water_flowing",
|
||||||
|
"amogus_items:water_bucket",
|
||||||
|
"water_bucket.png",
|
||||||
|
-- random name
|
||||||
|
(bucket_names_prefixes[math.random(1, #bucket_names_prefixes)] .. " " .. water_bucket_names[math.random(1, #water_bucket_names)]),
|
||||||
|
{tool = 1, water_bucket = 1}
|
||||||
|
)
|
||||||
|
|
||||||
|
-- end of modifed code from bucket mod from minetest_game
|
BIN
mods/amogus_items/textures/empty_bucket.png
Normal file
BIN
mods/amogus_items/textures/empty_bucket.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 754 B |
BIN
mods/amogus_items/textures/water_bucket.png
Normal file
BIN
mods/amogus_items/textures/water_bucket.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 777 B |
@ -135,19 +135,35 @@ local function get_inv_slots(data, fs)
|
|||||||
local spacing = legacy_inventory and 0.25 or 0.1
|
local spacing = legacy_inventory and 0.25 or 0.1
|
||||||
local size = 1
|
local size = 1
|
||||||
|
|
||||||
|
-- for hotbar on the bottom
|
||||||
|
local inv_hitbar_y = inv_y + (legacy_inventory and 3.75 or 3.45 - spacing)
|
||||||
|
|
||||||
fs"style_type[box;colors=#77777710,#77777710,#777,#777]"
|
fs"style_type[box;colors=#77777710,#77777710,#777,#777]"
|
||||||
|
|
||||||
for i = 0, hotbar_len - 1 do
|
for i = 0, hotbar_len - 1 do
|
||||||
box(i * size + inv_x + (i * spacing), inv_y, size, size, "")
|
--box(i * size + inv_x + (i * spacing), inv_y, size, size, "")
|
||||||
|
|
||||||
|
-- for hotbar on the bottom
|
||||||
|
box(i * size + inv_x + (i * spacing), inv_hitbar_y, size, size, "")
|
||||||
end
|
end
|
||||||
|
|
||||||
fs("style_type[list;size=%f;spacing=%f]", size, spacing)
|
fs("style_type[list;size=%f;spacing=%f]", size, spacing)
|
||||||
fs("list[current_player;main;%f,%f;%u,1;]", inv_x, inv_y, hotbar_len)
|
|
||||||
|
-- inventory grid
|
||||||
|
--fs("list[current_player;main;%f,%f;%u,%u;%u]", inv_x, inv_y + (legacy_inventory and 1.25 or 1.15), hotbar_len, data.inv_size / hotbar_len, hotbar_len)
|
||||||
|
|
||||||
|
-- inventory grid on the top
|
||||||
|
fs("list[current_player;main;%f,%f;%u,%u;%u]", inv_x, inv_y, hotbar_len, data.inv_size / hotbar_len, hotbar_len)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fs("style_type[list;size=%f;spacing=%f,%f]", size, spacing, legacy_inventory and 0.15 or spacing)
|
fs("style_type[list;size=%f;spacing=%f,%f]", size, spacing, legacy_inventory and 0.15 or spacing)
|
||||||
|
|
||||||
fs("list[current_player;main;%f,%f;%u,%u;%u]", inv_x, inv_y + (legacy_inventory and 1.25 or 1.15),
|
-- hotbar
|
||||||
hotbar_len, data.inv_size / hotbar_len, hotbar_len)
|
--fs("list[current_player;main;%f,%f;%u,1;]", inv_x, inv_y, hotbar_len)
|
||||||
|
|
||||||
|
-- hotbar on the bottom of the inventory grid
|
||||||
|
fs("list[current_player;main;%f,%f;%u,1;]", inv_x, inv_hitbar_y, hotbar_len)
|
||||||
|
|
||||||
fs"style_type[list;size=1;spacing=0.15]"
|
fs"style_type[list;size=1;spacing=0.15]"
|
||||||
fs"listring[current_player;craft]listring[current_player;main]"
|
fs"listring[current_player;craft]listring[current_player;main]"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user