Commit graph

173 commits

Author SHA1 Message Date
7336fe8353 Add support for initializing blocks with properties
Newly created blocks use the initializer to set properties, allowing the user to set per-block properties
2020-07-24 11:11:52 -04:00
89d32956d9 Automatically invoke the correct block constructor
And store delegates of dynamic methods invoking constructors
Tested with the automated tests
2020-07-24 11:11:52 -04:00
NGnius (Graham)
ea8a9184bc Add popup UI method to Client 2020-07-24 11:11:52 -04:00
NGnius (Graham)
926d968eed Add sfx block support 2020-07-24 11:11:48 -04:00
NGnius (Graham)
421faf7167 Improve dev info in README 2020-07-24 11:10:20 -04:00
aa0aefd41b Find block when group is unknown 2020-07-11 02:26:36 +02:00
f403feb298 Update to Gamecraft 2020.06.17.08.41 (preview)
Removed BlockIdentifiers.OWNED_BLOCKS as the original got replaced with an array
Added the correct group for each supported functional block
Removed EntityFactory property from IEntitySerializer as it is provided on deserialization
2020-07-11 00:30:58 +02:00
NGnius (Graham)
6f589f1744 Create Player tests 2020-07-01 13:43:56 -04:00
NGnius (Graham)
b376133d28 Create some test cases for blocks 2020-06-30 20:43:45 -04:00
NGnius (Graham)
60f231f939 Add standard asserts 2020-06-30 20:43:14 -04:00
NGnius (Graham)
b6a5074fd2 Add some state info and save method 2020-06-26 19:37:58 -04:00
NGnius (Graham)
189c3ca2a5 Document App and Test additions (+ minor tweaks) 2020-06-23 13:49:42 -04:00
NGnius (Graham)
0019b7c073 Version bump to v1.3.0 2020-06-22 12:04:21 -04:00
NGnius (Graham)
78122ee445 Add automatic testing functionality 2020-06-17 21:04:40 -04:00
NGnius (Graham)
c912f3ba64 Add Client and Game OOP features (undocumented) 2020-06-17 21:04:08 -04:00
9b1e2548d1 Attempts to create custom block types
It can load certain assets (a Cube from a sample) but fails because of missing shaders
My own Cube doesn't even get that far
2020-06-14 21:40:47 +02:00
NGnius (Graham)
0d17a1b509 Update project references 2020-06-13 16:19:12 -04:00
NGnius (Graham)
960ab16f0b Merge branch 'master' of https://git.exmods.org/modtainers/GamecraftModdingAPI 2020-06-13 15:47:03 -04:00
NGnius (Graham)
d2c9cde1d2 Fix double event call, jankily 2020-06-13 15:26:31 -04:00
ae1f53e119 Add new blocks 2020-06-13 00:48:13 +02:00
62318b0843 Update to Gamecraft 2020.06.11.18.50
Removed some inputs from FakeInput
2020-06-12 17:27:36 +02:00
3dcce18ceb Add method to get selected blocks by player 2020-06-08 00:10:10 +02:00
448cf3af48 Expose the simulation-time object IDs
They are useful
2020-06-05 00:57:22 +02:00
cae626197f Implement Equals for the OOPs & fix Player properties
Fixed setting player properties
Changed player rotation to float3
Added constructor for BlockColor with an index param
Improved Player.Exists() ~~hopefully~~
2020-06-05 00:20:35 +02:00
NGnius (Graham)
cd78fd6718 Fix expired discord invite 2020-06-04 08:31:09 -04:00
f62211309e Added WaitForNextFrame() and fixed block scaling
A bit hacky, but it works
2020-06-04 01:42:13 +02:00
NGnius (Graham)
197fc5f2f9 Update twitter link 2020-06-03 14:37:11 -04:00
NGnius (Graham)
6a137472c1 Fix Block type exception on unsynced Specialize<T>() 2020-06-02 20:38:35 -04:00
5660bfc28d
Fix connected blocks not being detected in prefabs
Apparently they're processed, unlike in my save
2020-06-03 01:49:54 +02:00
dba7c0a46f
Added 2 block events and removed BDNEException
Added an event for placing and removing blocks
Added a class to wrap event calls in a try-catch
Removed BlockDoesNotExistException
Made Block.GetSimBody() return null if block doesn't exist
2020-06-02 03:15:32 +02:00
NGnius (Graham)
98c7e624f8 Add OOP Audio class 2020-05-29 21:30:53 -04:00
NGnius (Graham)
2d89b82759 Add player health and block-in-hand 2020-05-29 21:30:24 -04:00
0b8491cecf Move Sync() to properties and improve Block doc 2020-05-27 17:20:53 +02:00
269d30b0db Add support for connected bodies
Added center of mass
Removed delta velocities
2020-05-24 21:55:49 +02:00
ab7c5805fe Add object ID block and label support 2020-05-24 19:29:02 +02:00
dca6fe4c1b Fixes, added SimBody class 2020-05-23 00:06:49 +02:00
084cbb40c4 Added AsyncUtils and Block.PlaceNewAsync() 2020-05-22 03:00:33 +02:00
NGnius (Graham)
4e08acf44c Reduce potentially unnecessary calls to Sync() by always forcing Sync() for new blocks 2020-05-21 20:00:31 -04:00
NGnius (Graham)
e8f59e8641 Delay serializer registration and disable version check even in Debug mode to fix #5 2020-05-21 19:40:46 -04:00
NGnius (Graham)
8326d70cbf Integrate tweak and signal functionality into Blocks 2020-05-21 15:04:55 -04:00
NGnius (Graham)
fb841b6542 Add Timer and spawn point block properties 2020-05-20 20:42:02 -04:00
3ff98f29bb Improve GetBlockInfo(), block colors
Made GetBlockInfo() always return a reference without needing it as a parameter
Fixed Color property
Added CustomColor property for temporarily setting any color
2020-05-20 00:08:02 +02:00
NGnius (Graham)
97de5e606b Add first block children ConsoleBlock and TextBlock, I hope they're not bullied at school for those names 2020-05-17 23:36:11 -04:00
6dce87fb66 Documentation, added invalid block ID, error handling 2020-05-17 23:46:55 +02:00
1c5ce37fce Add debug interface API and improve block API
Added API for adding more information on the debug display (not object-oriented yet)
Removed the setter for block type to ensure stability
Made the block API return defaults if the block no longer exists
Added property to check if the block exists
Made a struct for the block's color property
Added missing block IDs
2020-05-17 23:46:31 +02:00
NGnius (Graham)
ebea9da232 Remove serializer registration at startup 2020-05-17 11:52:55 -04:00
NGnius (Graham)
500cb9b716 Fix groups stealing Ids 2020-05-16 12:53:58 -04:00
NGnius (Graham)
782e00e3dd Update deps 2020-05-15 17:42:04 -04:00
NGnius (Graham)
06b8c3664e Add Event builders 2020-05-15 17:42:04 -04:00
NGnius (Graham)
205b3fc51a Tweak exclusive group names 2020-05-15 17:42:04 -04:00