From 4d230c7e8b0d145c67cfc9b9f8ff2761a9b883c9 Mon Sep 17 00:00:00 2001 From: IamPyu Date: Fri, 13 Dec 2024 18:38:26 -0600 Subject: [PATCH] Note Blocks and Delayers have been added! --- CHANGELOG.md | 5 +- CREDITS.md | 6 +- TODO.md | 4 - mods/CORE/pyutest/sounds/pyutest-note.ogg | Bin 0 -> 23501 bytes mods/ITEMS/pyutest_electricity/api.lua | 8 +- .../components/delayer.lua | 53 ++++++++++++ mods/ITEMS/pyutest_electricity/devices.lua | 2 +- .../pyutest_electricity/devices/noteblock.lua | 78 ++++++++++++++++++ mods/ITEMS/pyutest_electricity/init.lua | 4 + mods/ITEMS/pyutest_electricity/wirecutter.lua | 1 + textures/pyutest-delayer.png | Bin 0 -> 139 bytes textures/pyutest-note-block.png | Bin 0 -> 155 bytes textures/pyutest-note.png | Bin 0 -> 118 bytes 13 files changed, 150 insertions(+), 11 deletions(-) create mode 100644 mods/CORE/pyutest/sounds/pyutest-note.ogg create mode 100644 mods/ITEMS/pyutest_electricity/components/delayer.lua create mode 100644 mods/ITEMS/pyutest_electricity/devices/noteblock.lua create mode 100644 textures/pyutest-delayer.png create mode 100644 textures/pyutest-note-block.png create mode 100644 textures/pyutest-note.png diff --git a/CHANGELOG.md b/CHANGELOG.md index cc19c5e..c7c5043 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,9 +18,11 @@ Notable Game Changes: - Improved command system and added Command Blocks - Added many new commands, while also improving some builtin Luanti ones. - Redesign the electricity system using a system similar to [Age of Mending's](https://content.luanti.org/packages/Sumianvoice/pmb_core/) wiring system -- New electricity devices: +- New electricity devices and components: - Dropper - Dispenser + - Note Block + - Delayer Other Game Changes: @@ -57,6 +59,7 @@ Other Game Changes: - Mushroom biomes are now marked as lowlands, only going up to Y 10 - Superslime now bounces the player slightly higher - Add back the Rubies that were removed a while ago! +- New Heater Device recipe Code Changes: diff --git a/CREDITS.md b/CREDITS.md index 9a6454d..285f93e 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -6,7 +6,11 @@ Programming done by me. ## Sounds -Sounds generated with [JFXR](https://jfxr.frozenfractal.com) +Most sounds are generated with [JFXR](https://jfxr.frozenfractal.com) + +Credit for sounds I didn't make and are not made with JFXR: + +- Piano F#.wav by pinkyfinger -- https://freesound.org/s/68445/ -- License: Creative Commons 0 ## Textures diff --git a/TODO.md b/TODO.md index 63c2477..8075045 100644 --- a/TODO.md +++ b/TODO.md @@ -9,7 +9,3 @@ Those transports include: - Boats - Horses - Railways and Minecarts - -## Electricity Update Pt. 2 - -Self-explanatory, this update would improve the electricity system. Currently it is badly made and even has the ability to freeze the entire server, or if in a singleplayer world your entire desktop. diff --git a/mods/CORE/pyutest/sounds/pyutest-note.ogg b/mods/CORE/pyutest/sounds/pyutest-note.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e044313bb21869f33b941aeeb1bc4768b2895100 GIT binary patch literal 23501 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 literal 0 HcmV?d00001 diff --git a/textures/pyutest-note-block.png b/textures/pyutest-note-block.png new file mode 100644 index 0000000000000000000000000000000000000000..2cd481a4db2aa354d1f796d753aab71de17bc3a3 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar`&KAwfaE&O0zBBqk&z z2&AW}d4E2=zg}|21lAunZ+b40l#mc$`>=Vlam}Bf!mfgLc5RFXC;RQ|g^nJ7#gr7= zbeZ+YE|%roZif?Av@vp5NeG;FH+=B){{9HnPDY09dNV9{m@oVbw2i^j)z4*}Q$iB} Dk%u-r literal 0 HcmV?d00001 diff --git a/textures/pyutest-note.png b/textures/pyutest-note.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb122f84ae356586ee86fde19e41f53f4237e27 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1c!3HD^Kbl$tDO*n$#}JO0rQI8O4;b(qp0U9F z$N$$;v~Micv)M97rLn19MNKf_>x!y#j0wgoR+(C_nj61){r+cHQ)m5tUB#SyS84vK TX