Commit graph

176 commits

Author SHA1 Message Date
c06ed340a2 Using the console block's material
Progressed a lot
2020-09-17 23:08:26 +02:00
f295f712b6 Merge branch 'master' into customblocks
# Conflicts:
#	GamecraftModdingAPI/Tests/GamecraftModdingAPIPluginTest.cs
2020-09-17 19:18:00 +02:00
NGnius (Graham)
aae2057972 Convert relevant blocks to wireable blocks and fix wire connect during block init 2020-08-23 09:59:13 -04:00
NGnius (Graham)
daf4a24bc9 Fix namespace build error from unused using statement (I deleted it) 2020-08-22 09:26:51 -04:00
NGnius (Graham)
11b94e384e Update refs 2020-08-22 09:25:14 -04:00
cfdc5e8c26 Fixes, block IDs, cluster & chunk health support 2020-08-22 09:24:18 -04:00
NGnius (Graham)
fd97194903 Fix build issues for latest Gamecraft preview version 2020-08-22 09:23:59 -04:00
NGnius (Graham)
89f354b647 Fix Game Over detection 2020-08-13 10:12:36 -04:00
NGnius (Graham)
8354123169 Cache additional info to avoid entity queries 2020-08-07 12:05:49 -04:00
NGnius (Graham)
e56871f5ef Fix wire entity queries when its not submitted yet 2020-08-03 13:24:35 -04:00
NGnius (Graham)
708dbdd81d Add wiring API and improve signal support 2020-08-03 12:45:38 -04:00
NGnius (Graham)
ca0e6e089d Mark old event system as deprecated 2020-08-03 12:43:00 -04:00
NGnius (Graham)
b81562ea58 Fix sfx block test default value 2020-07-25 12:12:48 -04:00
057a030c20 Update music block and attempt to fix test 2020-07-24 11:11:53 -04:00
15485481a2 Add some info and prev. value for setters 2020-07-24 11:11:53 -04:00
b53dff5d12 Remove initializer data once the block is placed 2020-07-24 11:11:53 -04:00
5264d98ce7 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-24 11:11:53 -04:00
5e335e78ff Implement init for position and rotation 2020-07-24 11:11:52 -04:00
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
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
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