Commit graph

158 commits

Author SHA1 Message Date
cc4ed3e174 Test fixes, block event Block property
Fixed Assert.Equal()
Changed tests to reflect changes
Added Block property to the block event args
Completely removed sync things
2020-07-19 01:13:39 +02:00
NGnius (Graham)
e0aa052305 Fix dev tools for preview changes 2020-07-16 20:38:51 -04:00
d842df7681 Implement init for position and rotation 2020-07-15 22:46:48 +02:00
3592c6f464 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-15 21:58:24 +02:00
5bbb54c0c5 Automatically invoke the correct block constructor
And store delegates of dynamic methods invoking constructors
Tested with the automated tests
2020-07-13 21:55:48 +02: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
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
f62211309e Added WaitForNextFrame() and fixed block scaling
A bit hacky, but it works
2020-06-04 01:42:13 +02: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
NGnius (Graham)
9cb6917d28 Create custom error types and error catching 2020-05-15 17:42:04 -04:00
6f8241554d Add block type and color properties 2020-05-15 17:42:04 -04:00
ff57a16565 Create Block class with existing functionality
Placement, movement, rotation, removal
Block looked at (in Player class), connected blocks
2020-05-15 17:42:04 -04:00
NGnius (Graham)
5168bfbad7 Document Player API 2020-05-15 17:42:04 -04:00
NGnius (Graham)
211c9c9c31 Add CommandBuilder existing commands function 2020-05-15 17:42:04 -04:00
NGnius (Graham)
e3b3fd5ef4 Implement Player OOP class 2020-05-15 17:42:04 -04:00
NGnius (Graham)
42b21bc16d Rework engine inheritance structure 2020-05-15 17:42:04 -04:00
NGnius (Graham)
bc77c35bdb Remove DiscordRPC 2020-05-15 17:42:04 -04:00
NGnius (Graham)
ac2d3b38c7 Remove IronPython 2020-05-15 17:42:04 -04:00
NGnius (Graham)
1f35b2a434 Upgrade to Harmony v2.0.0 2020-05-15 17:42:04 -04:00
NGnius (Graham)
f244eb9683 Fix script errors 2020-05-15 17:42:04 -04:00
NGnius (Graham)
4e5cc40be4 Convert Automation to something actually cross-platform 2020-05-15 17:42:04 -04:00
NGnius (Graham)
5cb27b05c0 Create CommandBuilder 2020-05-15 17:42:04 -04:00
NGnius (Graham)
934b542ea1 Fix build errors from GC update 2020-05-14 12:42:48 -04:00
NGnius (Graham)
1faa9898f7 Version 0.2.2 2020-04-29 12:07:06 -04:00
NGnius (Graham)
36516ec185 Add Persistence documentation 2020-04-28 22:59:36 -04:00
NGnius (Graham)
07ba6f2dc4 Add game file persistence functionality 2020-04-28 21:56:34 -04:00
83427b806e
Update to Gamecraft 2020.04.27.14.21 2020-04-28 15:59:22 +02:00
9609187cff
Created a BlockUtility class, changed PlaceBlock return type
Removed GameState methods from block APIs
Created a BlockUtility class to get the block the player is looking at
Changed the return type of PlaceBlock, returning the ID of the newly placed block or null
2020-04-13 02:21:36 +02:00
81f2f613f7
Add API to remove blocks 2020-04-13 01:31:06 +02:00
f231ea9f6d
Fix placement engine for latest GC and add block IDs 2020-04-09 01:14:21 +02:00
NGnius
d1c0556b9c Update to Gamecraft 2020.04.06.14.50 2020-04-07 13:05:00 -04:00
NGnius
a9322a08dd Add semi-functional action inputs 2020-04-07 11:47:32 -04:00
NGnius
5ca18d272a Add WIP GUI input functionality 2020-04-04 14:48:12 -04:00
NGnius
d00bdc80ed Improve type safety of event types and version bump 2020-04-02 13:08:05 -04:00
NGnius
2149458d96 Add inventory select block support 2020-04-02 09:50:30 -04:00
NGnius
5654c041c5 Fix LatestBlockID 2020-03-12 19:29:20 -04:00
NGnius
206ec19d1e Merge branch 'master' of https://git.exmods.org/modtainers/GamecraftModdingAPI 2020-03-12 18:52:02 -04:00
b4e70fcebe
Update to GC 2020.03.11.11.02
Fixed compile issues and added new blocks
2020-03-12 23:38:32 +01:00
NGnius
c6f8afa812 Add uREPL passthru for calling in-game commands 2020-03-06 10:52:07 -05:00
NGnius
fd98879ccd Add Tweakable stat support 2020-02-29 13:20:03 -05:00
NGnius
7ac5120ef5 Add Simulation and Build switch to events 2020-02-25 22:19:22 -05:00
NGnius
7519bc37ae Improve documentation 2020-02-25 18:05:13 -05:00
NGnius
feab9e38c9 Remove the thing 2020-02-25 18:05:02 -05:00
NGnius
907b52de44 Version 0.1.3.0 2020-02-23 17:02:11 -05:00
NGnius
0459bdf9d9 Modify & Fix signal API 2020-02-19 20:32:58 -05:00
NGnius
c57154a970 Add basic plugin version checking functionality 2020-02-18 14:02:27 -05:00
NGnius
8145c6c23f Fix GameSwitchedTo event with some statefulness 2020-02-18 13:59:02 -05:00
eba490fbe8
Fix issues and add new block IDs 2020-02-08 22:05:16 +01:00
878ebdb491
Update to newer Gamecraft version 2020-02-07 01:25:31 +01:00
6c83b44d4e
Merge branch 'master' of https://git.exmods.org/modtainers/GamecraftModdingAPI 2020-02-06 15:05:51 +01:00
NGnius
b4e9b403da Add basic analytics disabler (experimental) 2020-01-26 15:26:48 -05:00
NGnius
2f5064a41d Make engines get registered ASAP instead of on next engine root switch 2020-01-26 14:28:57 -05:00
NGnius
bc3dc81338 Fix CommandPatch properly 2020-01-26 13:49:51 -05:00
dd72f42cc2
Fix rotation parameter 2020-01-15 20:41:50 +01:00
NGnius (Graham)
7c633045e4 Version bump to v0.1.2.0 2020-01-03 20:05:19 -05:00
NGnius (Graham)
cd6862bb29 Fix styling and docs 2020-01-03 19:54:35 -05:00
94ad78d1ee
Added block IDs, rotation doesn't work well 2020-01-03 14:38:59 +01:00
a7d23f4017
Add block placement API 2020-01-03 01:21:47 +01:00
NGnius (Graham)
72050ceeeb Add command call (uREPL wrap) 2019-12-28 14:40:34 -05:00
NGnius (Graham)
b796751420 Fix signal API & docs and improve API Init 2019-12-25 16:16:17 -05:00
NGnius (Graham)
2df8da1af5 Add mostly reliable signal & channel API support 2019-12-25 14:25:53 -05:00
NGnius (Graham)
15a73ecfab Add missing public accessibility 2019-12-19 15:42:50 -05:00