Lotta changes, game has an offical name now

This commit is contained in:
IamPyu 2024-07-24 17:35:24 -06:00
parent 2b632629d2
commit d08b72d385
24 changed files with 124 additions and 33 deletions

View File

@ -1,6 +1,6 @@
# Changelog
## [Jul 18th - **STILL UNDERDEVELOPMENT** 2024] Major Update: The Unnamed Update
## [Jul 18th - **STILL UNDER DEVELOPMENT** 2024] Update: The Unnamed Update
This update contains breaking changes!
@ -22,6 +22,9 @@ This update contains breaking changes!
- Added wind warrior boss battle
- Added windballs
- Added ocean ruins
- Added necromancer boss battle
- Remove light's ability to change the time
- PyuTest now has an offical name: Nodelands!
## [Jul 17th 2024] Unnamed Minor Update
@ -83,12 +86,12 @@ This update contains breaking changes!
- Added Rubies
- Granite and andesite will spawn underground as large blobs
- Added different types of ore clusters
- Change classification of a "major" update
- Change classification of a "major" update
## [Jul 10th 2024] Unnamed Minor Update
- Add Unified Inventory categories
- Fixed ocean biomes messing up caves
- Fixed ocean biomes messing up caves
## [Jul 9th 2024] Unnamed Minor Update
@ -293,7 +296,7 @@ Now that I think of it, this wasn't much of an "adventure" update..
- Added Griefer's Dream Lootbox
- Added Liquid Sources Lootbox
- Added Lighting Lootbox
- Lootboxes spawn across various biomes
- Lootboxes spawn across various biomes
- Revamped Bomb
## [Jun 14th 2024] Update: Items and Utilites Update
@ -352,7 +355,7 @@ Now that I think of it, this wasn't much of an "adventure" update..
## [Jun 7-8 2024] Initial Creation
- Added Grass, Dirt, Stone, Light, Torch, Sponge, Glass, Flower (Now called Rose), Iron
- Added Grass, Dirt, Stone, Light, Torch, Sponge, Glass, Flower (Now called Rose), Iron
- Added Block Sounds
- Added Water
- Added Sticks and Pickaxe

View File

@ -1,4 +1,4 @@
# PyuTest
# Nodelands (Formerly PyuTest)
Pyu's Minetest Game
@ -29,4 +29,4 @@ A lot of the games item textures are modeled after Minecraft's (For example the
## License
Project source code is licensed under the GNU LGPL License.
Project textures, sounds, and models are licensed under the CC BY 4.0 License.
Project textures, sounds, and models are licensed under the CC BY 4.0 License.

View File

@ -1,4 +1,4 @@
title = PyuTest
title = Nodelands
description = Pyu's Minetest Game
disallowed_mapgens = v6
min_minetest_version = 5.8

0
mods/pyutest/README.md Normal file
View File

View File

@ -1,3 +1,3 @@
# pyutest_cmds
Chat Commands for PyuTest
Chat Commands for Nodelands

View File

@ -307,14 +307,7 @@ PyuTestCore.make_node("pyutest_core:light", "Light", {
walkable = false,
paramtype = "light",
sunlight_propagates = true,
light_source = minetest.LIGHT_MAX,
on_rightclick = function ()
if minetest.get_timeofday() >= 0.5 then
minetest.set_timeofday(0)
else
minetest.set_timeofday(0.5)
end
end
light_source = minetest.LIGHT_MAX
})
PyuTestCore.make_node("pyutest_core:torch", "Torch", {

View File

@ -1,4 +1,4 @@
PyuTestCore.make_sword = function (nsname, desc, texture, damage, durability)
PyuTestCore.make_sword = function (nsname, desc, texture, damage, durability, atkspeed)
PyuTestCore.make_tool(nsname, desc, {}, texture, {
stack_max = 1,
tool_capabilities = {
@ -8,12 +8,13 @@ PyuTestCore.make_sword = function (nsname, desc, texture, damage, durability)
}
},
punch_attack_uses = durability,
damage_groups = {fleshy = damage}
damage_groups = {fleshy = damage},
full_punch_interval = atkspeed or 1
}
})
end
PyuTestCore.make_sword("pyutest_core:wooden_sword", "Wooden Sword", "wooden-sword.png", 4, 200)
PyuTestCore.make_sword("pyutest_core:stone_sword", "Stone Sword", "stone-sword.png", 5, 450)
PyuTestCore.make_sword("pyutest_core:iron_sword", "Iron Sword", "iron-sword.png", 7, 750)
PyuTestCore.make_sword("pyutest_core:diamond_sword", "Diamond Sword", "diamond-sword.png", 12, 1200)
PyuTestCore.make_sword("pyutest_core:wooden_sword", "Wooden Sword", "wooden-sword.png", 4, 200, 1.8)
PyuTestCore.make_sword("pyutest_core:stone_sword", "Stone Sword", "stone-sword.png", 5, 450, 1.5)
PyuTestCore.make_sword("pyutest_core:iron_sword", "Iron Sword", "iron-sword.png", 7, 750, 1.2)
PyuTestCore.make_sword("pyutest_core:diamond_sword", "Diamond Sword", "diamond-sword.png", 12, 1200, 0.8)

View File

@ -79,7 +79,7 @@ PyuTestCore.make_node("pyutest_core:vines", "Vines", {
inventory_image = "vines.png"
})
PyuTestCore.make_flower("pyutest_core:kelp", "Kelp", "kelp.png", "pyutest_core:green_dye", true, "plantlike_rooted", {
PyuTestCore.make_flower("pyutest_core:kelp", "Kelp", "kelp.png", "pyutest_core:green_dye", false, "plantlike_rooted", {
paramtype2 = "leveled",
place_param2 = 128,
wield_image = "kelp.png",

View File

@ -9,7 +9,7 @@ PyuTestCore.make_leaves = function (id, desc, tiles)
is_ground_content = false
})
local leaves_id = id ~= nil and id .. "_leaves_block" or "pyutest_core:leaves_block"
local leaves_id = _id.."_block"
minetest.override_item(leaves_id, {
drop = {
max_items = 1,

View File

@ -113,7 +113,7 @@ minetest.register_craft({
}
})
PyuTestCore.make_sword("pyutest_core:enchanted_sword", "Enchanted Sword", "enchanted-sword.png", 15, 3600)
PyuTestCore.make_sword("pyutest_core:enchanted_sword", "Enchanted Sword", "enchanted-sword.png", 15, 3600, 0.6)
minetest.register_craft({

View File

@ -37,7 +37,7 @@ minetest.register_globalstep(function(dtime)
for p=1, #players do
local ctrl = players[p]:get_player_control()
if ctrl.aux1 then
set_player_speed(players[p], 1.55)
set_player_speed(players[p], 1.60)
else
set_player_speed(players[p], 1)
end

View File

@ -1,3 +1,3 @@
# pyutest_inventory
PyuTest support for unified_inventory
Nodelands support for unified_inventory

View File

@ -0,0 +1,3 @@
# pyutest_mobs
Mobs and entities

View File

@ -34,7 +34,7 @@ mobs:register_mob("pyutest_mobs:human", {
hp_max = 20,
hp_min = 20,
walk_velocity = 1,
run_velocity = 6,
run_velocity = 5,
armor = 100,
passive = true,
walk_chance = 50,

View File

@ -6,9 +6,10 @@ PyuTestMobs.HUMAN_LIKE_CBOX = {-0.25, -1, -0.25, 0.25, 1, 0.25}
mobs.fallback_node = "pyutest_core:dirt_block"
dofile(PyuTestMobs_Path.."/basic.lua") -- Humans, Monsters, Mimics, Fireflies and future basic mobs
dofile(PyuTestMobs_Path.."/snowman.lua") -- Snowman
dofile(PyuTestMobs_Path.."/wind_warrior.lua") -- Wind Warrior
dofile(PyuTestMobs_Path.."/basic.lua")
dofile(PyuTestMobs_Path.."/snowman.lua")
dofile(PyuTestMobs_Path.."/wind_warrior.lua")
dofile(PyuTestMobs_Path.."/necromancer.lua")
local mapgen = minetest.get_mapgen_params().mgname or "???"
if mapgen ~= "flat" and mapgen ~= "singlenode" then

View File

@ -0,0 +1,90 @@
local necroball_hit_player = function (self, player)
player:punch(self.object, nil, {
damage_groups = {fleshy = 3}
}, nil)
end
mobs:register_arrow("pyutest_mobs:arrow_necroball", {
visual = "sprite",
visual_size = {x = 1, y = 1},
textures = {"necroball.png"},
hit_player = necroball_hit_player,
hit_mob = necroball_hit_player,
on_step = function (self, dt)
math.randomseed(os.time())
local rng = math.random(1, 4)
if math.floor(dt * 100) == 5 then
math.randomseed(os.time())
local num_minions = math.random(2, 3)
local minions = {
"pyutest_mobs:monster",
"pyutest_mobs:mimic"
}
local m = minions[math.random(#minions)]
for i = 1, num_minions do
mobs:add_mob(vector.add(self.object:get_pos(), vector.new(0, 1, 0)), {
name = m,
child = false,
nametag = "Necromancer Minion",
ignore_count = true
})
end
self.object:remove()
end
end,
velocity = 9,
collisionbox = {
-1.5, -1.5, -1.5, 1.5, 1.5, 1.5
}
})
mobs:register_mob("pyutest_mobs:necromancer", {
type = "monster",
hp_max = 225,
hp_min = 225,
walk_velocity = 2,
run_velocity = 4,
armor = 100,
passive = false,
visual = "upright_sprite",
visual_size = {x = 1, y = 2},
collisionbox = PyuTestMobs.HUMAN_LIKE_CBOX,
physical = true,
blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT,
view_range = 25,
reach = 2,
jump = 1,
group_attack = true,
group_helper = {
"pyutest_mobs:monster",
"pyutest_mobs:mimic"
},
makes_footstep_sound = true,
textures = {
"necromancer.png", "necromancer_back.png"
},
drops = {
{
name = "pyutest_core:magic_shards",
min = 2,
max = 5,
chance = 1
},
},
damage = 4,
attack_chance = 1,
attack_type = "dogshoot",
arrow = "pyutest_mobs:arrow_necroball",
shoot_interval = 2.5,
shoot_offset = 1,
pathfinding = 1,
dogshoot_switch = 1,
dogshoot_count_max = 5,
dogshoot_count2_max = 6,
})
mobs:register_egg("pyutest_mobs:necromancer", "Necromancer Spawn Egg", "egg.png^[multiply:dimgray", 0)

View File

@ -68,4 +68,4 @@ mobs:register_mob("pyutest_mobs:wind_warrior", {
}
}
})
mobs:register_egg("pyutest_mobs:wind_warrior", "Wind Warrior Spawn Egg", "egg.png^[multiply:navy", 0)
mobs:register_egg("pyutest_mobs:wind_warrior", "Wind Warrior Spawn Egg", "egg.png^[multiply:white", 0)

BIN
textures/necroball.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

BIN
textures/necromancer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

After

Width:  |  Height:  |  Size: 180 B