1181 Commits

Author SHA1 Message Date
IntegratedQuantum
a6ef0dc57e
Update CONTRIBUTING.md
as discussed in #1297
2025-04-19 13:13:09 +02:00
Carrie
332e9f57f0
Add silver ore (#1306)
* Add silver ore, ingot, block, lower gold ore

* Add recipes, make gold and silver ore values different
2025-04-16 12:36:26 +02:00
Carrie
d4e187e5af
Redistribute ores (#1304) 2025-04-14 09:27:54 +02:00
Carrie
da3ffce871
Big mushroom blocks (#1299)
* Add big mushroom blocks, tweak mushrooms to match

* Add mushroom branches, make glimmergill cap emissive, add recipes, material vals

* Tweak blockHealth
2025-04-13 16:50:23 +02:00
Carrie
871b635cae
Sulfur ore, block, and torches (#1287)
* Sulfur ore, block, and torches

* Tweak block health

* Add material values, brighten sulfur block
2025-04-13 16:45:05 +02:00
Krzysztof Wiśniewski
823faf64b7
Add tests for BinaryReader and BinaryWriter (#1273)
* Add tests for BinaryReader and BinaryWriter

* Add guards for integer values

* Add small integer edge cases

* Add mixed data test

* Apply review change requests

* Use std.math.divCeil

* Adapt to endian parameter removal

* Apply review change requests

* Change duplicate u8 into u0
2025-04-05 11:19:35 +02:00
Carrie
747a2dc957
Add copper ore and make iron generate deeper (#1268)
* Add copper ore and redistribute ores

* Add copper recipes

* Revert ore redistrib, nerf copper
2025-04-04 17:32:15 +02:00
Krzysztof Wiśniewski
00c6b29736
Always use big endian (#1274)
* Always use big endian

* Apply review change requests
2025-04-03 21:32:59 +02:00
IntegratedQuantum
db3d640c2a Add some testing for joining zon and fix #1231 2025-04-03 19:44:26 +02:00
IntegratedQuantum
0762e30955
Update CONTRIBUTING.md
I added a section on performance
2025-04-03 18:05:51 +02:00
Krzysztof Wiśniewski
f4e472c218
Add /set command (#1236)
* Add /set command with pattern support

* Fix formatting issues

* Remove pattern code from PR

* Fix imports

* Apply review change requests
2025-04-02 21:23:37 +02:00
Krzysztof Wiśniewski
b0af58b21b
Refactor sendKeepAlive and receiveKeepAlive (#1265) 2025-04-02 21:18:17 +02:00
Krzysztof Wiśniewski
92fcd10069
Modernize genericUpdate protocol (#1257)
* Modernize genericUpdate protocol

* Do not complicate sendGamemode

* Apply review change requests

* Yeet cure

* Rename to biomesByIndex

* Update src/network.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Use @typeInfo(T).vector

* Update src/network.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Undo blind remove of TODO

* Update src/server/terrain/biomes.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Remove defaultIndex argument from getByIndex

* Make biomesByIndex a ListUnmanaged

---------

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-04-02 18:05:36 +02:00
Krzysztof Wiśniewski
098115ad53
Block Entity Data (#1224)
* Implement VTable for entity data

* Make storage variable global

* Connect onInteract event

* Remove chest poc

* Revert "Remove chest poc"

This reverts commit 49759687dba180cbdf9609cfd942d2363991c4d5.

* Separate client and server callbacks

* Fix formatting issues

* Apply review requests

* Add assert and todo

* Apply review requests

* Remove chest textures

* Fix plenty of bugs in implementation

* Update src/entity_data.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Update src/entity_data.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Do not trigger onInteract while shifting

* Apply review requests

* Apply review change requests

* Update src/game.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

---------

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-31 20:07:31 +02:00
IntegratedQuantum
780c750162 Move the VirtualList into a new file, which will contain other virtual memory related data structures in the future. 2025-03-31 18:46:08 +02:00
IntegratedQuantum
2766b263c4 check if the item in the crafting inventory is null before using it.
fixes #1256
2025-03-30 19:30:11 +02:00
Krzysztof Wiśniewski
a7052d25f5
Add /redo command (#1238)
* Add undo and redo commands

* Remove unintended change

* Remove redo code

* Revert "Remove redo code"

This reverts commit 80aeca1dc2d0f7b3f3570b95937a8f7fd87cac5d.

* Fix variable name in /redo

* Update import
2025-03-30 17:03:19 +02:00
IntegratedQuantum
1b7102768f Remove the time from itemdrop rendering.
This was used for animated textures which isn't necessary anymore.
2025-03-30 12:13:15 +02:00
MnHs
f8210eb7b4
Add player item display (#1109)
* extract item model storage from itemdrop renderer to its own struct

* render player held item

* render display item on top of everything

* add custom projection matrix that ignores fov settings

* fixed item display position

* change indentation from spaces to tabs

* improved item display, added interpolation and hiding

* fix formatting

* cleanup

* cleanup, made item movement

* localize item display projection matrix

* fix formatting

* add lighting interpolation, remove item sway

* fix formatting

* switch to trilinear interpolation

* fix light interpolation

* fix formatting

* small tweaks

* small tweaks, move item hiding to f2 button

* some rendering tweaks

* fix item clipping

* resolve conflict
2025-03-30 12:09:24 +02:00
Krzysztof Wiśniewski
4a8c0a6327
Refactor SurfaceMap.zig to use BinaryReader and BinaryWriter (#1252)
* Refactor reading

* Refactor writing

* Apply review requests
2025-03-29 15:07:38 +01:00
Krzysztof Wiśniewski
34558a2906
Fix rotateZ (#1253) 2025-03-29 14:26:43 +01:00
Krzysztof Wiśniewski
21409df5a1
Add Structure Building Block asset loading (#1240)
* SBB

* Fix rotation code

* Remove rotate command

* Fix segfault during generation

* Delete format.bat

* Pregenerate all rotated blueprints

* Apply review suggestions

* Apply review suggestions

* Change child block storage model

* Resolve child structures during load

* Move structure_building_blocks.zig to terrain

* Update src/rotation.zig

* Apply review suggestions

* Remove sbb blocks

* Remove SBBGen

* Remove example SBB

* Remove blueprint code

* Remove createAssetStringID

* Apply review suggestions

* Apply review suggestions

* Add asset ID generation

* Revert "Add asset ID generation"

This reverts commit ffe8fd281486f2124ab83b0e614b6a7db97a020d.

* Remove SBB loading

* Revert "Remove SBB loading"

This reverts commit 7eabad906dd05e3c128115b824986ff96815ac03.

* Apply review requests

* Restore base.zig.zon
2025-03-28 20:05:46 +01:00
Krzysztof Wiśniewski
d9dc3f1a22
Add block pattern parsing (#1237)
* Revert "Remove pattern code from PR"

This reverts commit d9296b00cff93e7f0bd0962f012aa98f3ec39915.

* Apply review requests

* Update import

* Rename pattern.zig to Pattern.zig

* Fix compilation errors

* Remove code comment
2025-03-28 20:04:21 +01:00
Carrie
8d54e187cf
Convert leaf piles into texturePiles (#1242)
* Convert leaf piles to texturePiles, add to biomes, reduce break time

* Fix rotation name, tweak yellow leaf pile texture, delete unused leaf pile textures
2025-03-28 19:57:19 +01:00
IntegratedQuantum
b347be8764
Use std.testing.refAllDeclsRecursive in teest builds to compile (most) unused functions (#1249)
* Use `std.testing.refAllDeclsRecursive` in teest builds to compile (most) unused functions

* Fix formatting
2025-03-28 17:23:27 +01:00
IntegratedQuantum
b5951f4bac Remove some unused functions and other problems with std.testing.refAllDeclsRecursive 2025-03-27 21:43:29 +01:00
IntegratedQuantum
c2ef9aba62 Remove the root . . . . . . . . . . import, replacing it with @import("main")
To fully solve the ZLS issues I had to also add the import to the other executables.
2025-03-27 21:16:35 +01:00
IntegratedQuantum
a82ed65dfb Initialize the seed in every thread, also added a helper function for threadlocal (de-)initialization.
fixes #1248
2025-03-27 20:09:09 +01:00
Carrie
dc902b3909
Add chest textures (#1245) 2025-03-27 16:41:28 +01:00
ikabod-kee
ce750dbe77
Added Duckweed (#1247) 2025-03-27 16:15:30 +01:00
Krzysztof Wiśniewski
1ec150d624
Blueprint asset loading (#1207)
* SBB

* Fix rotation code

* Remove rotate command

* Fix segfault during generation

* Delete format.bat

* Pregenerate all rotated blueprints

* Apply review suggestions

* Apply review suggestions

* Change child block storage model

* Resolve child structures during load

* Move structure_building_blocks.zig to terrain

* Update src/rotation.zig

* Apply review suggestions

* Remove sbb blocks

* Remove SBBGen

* Remove example SBB

* Remove blueprint code

* Remove createAssetStringID

* Apply review suggestions

* Apply review suggestions

* Add asset ID generation

* Revert "Add asset ID generation"

This reverts commit ffe8fd281486f2124ab83b0e614b6a7db97a020d.

* Remove SBB loading

* Apply review requests
2025-03-26 23:05:49 +01:00
IntegratedQuantum
0e9ffda1b1 Remove gui and server imports, these convenience imports aren't used anywhere anyways. 2025-03-25 21:14:39 +01:00
IntegratedQuantum
84fe4088fd
Add testing to the CI (#1246)
* Update ci.yml

* Fix compilation failure of testing code
2025-03-25 21:09:53 +01:00
Krzysztof Wiśniewski
05135f9f4c
Fix biome migrations loading (#1239) 2025-03-25 19:05:42 +01:00
Krzysztof Wiśniewski
12d05a06ff
Add /undo command (#1228)
* Add undo and redo commands

* Remove unintended change

* Remove redo code

* Clean up redo code

* Use CircularBufferQueue

* Fix formatting issues

* Update src/server/server.zig

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Apply review requests

---------

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-24 21:47:14 +01:00
IntegratedQuantum
fba10a94c2
Update CONTRIBUTING.md
Add file/namespace name convention
2025-03-24 21:30:29 +01:00
IntegratedQuantum
005fb6a3aa Fix missing newline 2025-03-24 20:38:58 +01:00
IntegratedQuantum
1c2899eafd Move rotation modes into separate files. 2025-03-24 20:33:39 +01:00
Krzysztof Wiśniewski
f5a2e3d3c1
Revert "Remove sbb blocks" (#1226)
This reverts commit 65cee0ef1202b3a85f9ac2799dc0f6b902fa4074.
2025-03-24 19:11:10 +01:00
Krzysztof Wiśniewski
d9a4e7cdd9
Extract createAssetStringID (#1229)
* Revert "Remove createAssetStringID"

This reverts commit 2c20a593e55bd84e202b9bfcbf13affb6f83fb96.

* Undo boy scout behavior

* Apply createAssetStringID to readAllObjFilesInAddonsHashmap

* Generialize ID generation

* Fix formatting issues

* Only remove the extension

* Apply review requests
2025-03-24 19:06:08 +01:00
IntegratedQuantum
1559c9d9e8
Update CONTRIBUTING.md
applying changes as suggested in a061dcb254 (r154211561)
2025-03-24 17:04:48 +01:00
IntegratedQuantum
ebf157785a Fix memory leak in the GPU buffer.
mentioned in https://github.com/PixelGuys/Cubyz/issues/1202#issuecomment-2746564753
introduced in e7ecd161ce00851240ad5bb9bcb1aa0bd69dc1d5
2025-03-24 07:51:00 +01:00
IntegratedQuantum
a061dcb254
Update CONTRIBUTING.md, specifically the style guide section
fixes #1152
2025-03-23 22:50:40 +01:00
IntegratedQuantum
42268c4b22 Allow branches to have a shell model that's always rendered and add leafy branches for all wood types. 2025-03-23 20:21:37 +01:00
Carrie
8f0693f7b0
Lily pads / adjust water reflectivity (#1221)
* Add lily pads and reduce water reflectivity

* tweka water reflectivity
2025-03-23 19:36:31 +01:00
Krzysztof Wiśniewski
07f5d823dd
Add pile rotation mode (#1216)
* Add pile rotation mode

* Fix formatting issues

* Rename to .zig.zon

* Update textures to those provided by ikabood-kee

* Add gradual block breaking

* Adapt to new model and texture changes

* New duckweed textures

* Add configurable state count

* Rename to texturePile

* Add moreData storage

* Apply review suggestions

---------

Co-authored-by: Carrie <carriecapp9@gmail.com>
2025-03-23 19:35:38 +01:00
Zachary Hall
20dfc6ba71
Add hunger, hunger bar, and related functions on the Player struct. (#1210)
* Add hunger and hunger bar
 - New functions added to Player struct in game.zig to use and heal hunger.
 - If an attempt is made to use more hunger than there is available, the player is killed.
 - Hunger bar uses placeholder icons.
 - Hunger bar is based on the health bar
 -  Hunger bar is anchored to the left of the hotbar, rather than the right like the health bar.

* Don't kill player when hunger runs out.
- Don't use hunger when there's not enough to use
- Allow for code to know if hunger was used, so that is can handle not having enough hunger.

* New hunger textures

* Desaturate the highlight a little

* Return true if hunger was already true.

* Fix formatting

* Rename hunger to energy, and fix other issues.

* Make energy synchronized between client and server

Also removes the functions that add/remove energy on the game.Player struct

* Run formatter

* Fix incorrect formatting by formatter.

* Remove AddHunger struct and addHunger function

 - Keep base operation so things like accessories and food can use it when syncing

* Fix formatting again.

---------

Co-authored-by: Carrie <carriecapp9@gmail.com>
2025-03-23 17:06:21 +01:00
IntegratedQuantum
ac9f00cb32 Add utility functions to make function pointer casting more safe.
It's now only changing the self parameter, everything else will be checked at compile-time.

fixes #1223
2025-03-22 21:24:53 +01:00
Krzysztof Wiśniewski
5845da7ca9
Add /rotate command (#1225)
* Revert "Remove rotate command"

This reverts commit 3a84e03d158e5cc038ae3e936384c348431a9ac4.

* Fix stair rotation

* Add rotate fn to Blueprint

* Apply suggestions from code review

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>

* Replace cos sin with switch

* Add angle parameter to /rotate

* Update src/blueprint.zig

* Apply review suggestions

* Fix formatting issues

* Update src/rotation.zig

---------

Co-authored-by: IntegratedQuantum <43880493+IntegratedQuantum@users.noreply.github.com>
2025-03-22 19:33:53 +01:00
Krzysztof Wiśniewski
e815d98b89
Refactor server.zig to use BinaryWriter and BinaryReader (#1213)
* Refactor update() in server.zig

* Refactor User.receiveData() to use BinaryReader

* Use network.networkEndian
2025-03-22 16:12:46 +01:00