-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sluuuurp #231
Merged
Merged
Sluuuurp #231
Changes from all commits
Commits
Show all changes
236 commits
Select commit
Hold shift + click to select a range
f79828a
Started working on new connection logic. Also renamed CellTileEntity …
empireu e4c9e1f
Started working on CellBlockEntity logic. Removed old connection code…
empireu 7ea20bf
Implemented new removal logic.
empireu 3c797b1
Removed unused class.
empireu 17996ef
Removed more unused classes and refactored some more.
empireu f457f90
Updated the naming convention of the cell provider. Events now use th…
empireu 0a66e15
Added up/down to PlacementRotation.
empireu 4731975
Added Flywheel dependency.
empireu 27430c6
Started defining some useful interfaces and created a scaffold entity…
empireu 902cb83
Now using ICellContainer instead of scanning for CellBlockEntity in t…
empireu cb30419
Added part provider and registry
empireu bf63121
Moved the new classes to some more appropriate packages
empireu 5a85e65
Vec3 operator overloads
empireu 8a36c5f
BlockPos operator overloads
empireu 347acf9
Basic MultipartBlockEntity placement working. Successfully detecting …
empireu 0d5933b
Starting client synchronization and saving
empireu f06948a
Part picking, voxel shape, API for shapes, refactored some methods an…
empireu 94c6019
Small cleanup (and modified some log messages)
empireu 84d4a48
Part breaking and refactored some methods in MultipartBlock
empireu 0f821a4
Merge pull request #1 from empireu/feature/flywheel
empireu 964df02
Added flywheel initialization.
empireu 9ce8213
Basic flywheel rendering API and fixed flywheel initialization order …
empireu 25cdb34
Test renderer working!
empireu fd03a39
Fixed desync issue caused by not enqueueing cells received in the ini…
empireu 17d139b
Models loading, and fixed relight queue not being processed when a pa…
empireu 5691e97
Removed relight queue because it would not make sense for parts to ju…
empireu 9930806
Moved placement info to a PartPlacementContext class instead of passi…
empireu 52665e7
Added facing to parts
empireu bcf86ed
Added collisions
empireu fec5133
Made the renderer and provider generic
empireu fa4e9ae
Break parts when corresponding block is broken
empireu 84ed991
Limited placement faces to blocks that are solid
empireu f205e8c
Added some utility classes for directions and implemented changed the…
empireu 7295ce0
Started working on part-cell connections
empireu ff5c4d0
Relative rotation from forward up and fixed a space in Networking
empireu 9638636
Unified part updates into a single queue
empireu ba16807
Unified server part updates
empireu 6c7abf9
Fixed multipart not being removed when broken neighbor left it with 0…
empireu e5fe299
Changed cells to use CellPos (position + face) instead of BlockPos. R…
empireu bec779a
CellPart saving/loading
empireu 3662b1d
CellPart server->client synchronization API
empireu b4a9e5c
Implemented wrapped connections
empireu a2b5d65
Connection recording
empireu a9fd77d
Fixed critical world loading issue caused by querying the level for t…
empireu 990f4b0
Registered wire part and removed test part
empireu a66dca7
Rewritten part renderer and fixed part de-sync issue. Implemented a t…
empireu 8c2185b
Fixed some scan logic, implemented the rest of the wire models, and a…
empireu 17a6535
Minor clean-up and comments for most of the new APIs.
empireu 1ed37f4
Made part items be consumed.
empireu a8a9089
Added connection mode (planar, inner, wrapped) to connection recording.
empireu b7879ab
Made break particles invisible and changed consume logic
empireu 14c9de4
Added wire item model, removed multipart block from creative tabs, an…
empireu 2ffa2cf
Changed part item consume result to SUCCESS, because CONSUME prevente…
empireu 3c2e5a7
Various cleanups and refactorings
empireu 3eba19d
Updated flywheel version and added some minor rendering logic
empireu 9de85a7
Changed the connection logic to not rebuild the solver of cells in th…
empireu 53b3723
Crude parallel dispatch for testing.
empireu ee5fa5f
Fixed time precision loss.
empireu fbcf2bf
Added part interactions.
empireu c9ca76c
Added basic part renderer and a Battery Part.
empireu ae6d203
Added part placement validation (based on collisions with other parts…
empireu 6227b75
Added part tick API (unfortunately, access transformers were required…
empireu 963ab81
Unified part updates and refactored some method names
empireu 2e6a908
Re-built the Direction Mask API with performance in mind, added more …
empireu 62e99d4
Reimplemented wire model selection using the DirectionMask API, and f…
empireu b2be322
Merge pull request #2 from empireu/feature/surface_placement
empireu c5a7671
Initial directory restructuring, renames
empireu dc56626
Moved to new packages and renamed some classes
empireu c41b5d9
IntelliJ cleanup
empireu 7f0a39e
IntelliJ cleanup
empireu 39357d4
Modernized registries (forge deprecated old usage)
empireu 1d3031a
Various cleanups
empireu c16447c
Various cleanups
empireu 1b0ebfd
Renamed and fixed some extensions
empireu 1ac1c6a
Various cleanups
empireu 8fd1d1e
Merge pull request #3 from empireu/feature/restructuring-cleanup
empireu 869ec7b
Implemented basic wrapper that will be used by parts, cells, ... and …
empireu 199fff3
Ported most of the old waila code to the new API.
empireu 2327f4f
Cleaned up the new classes.
empireu 710fd33
Implemented WAILA for cell blocks.
empireu d79bca0
Merge pull request #4 from empireu/feature/waila-api
empireu 2e96a4d
Theoretical set/object
empireu 9a5918a
Basic Object implementation. Unfortunately, a complete purge of conte…
empireu bf54844
Documentation for the new APIs
empireu a6008e6
Cleaned up the cell provider, now using the direction masks and a fun…
empireu 570d003
Improved WAILA handling for cells and objects, and added extensions t…
empireu 2691111
Various cleanups and fixed formatting
empireu 781bab4
Added more documentation for the new APIs.
empireu afebe94
Added Design Document
empireu c86ddc8
Injected directions into the electrical objects and fixed connection …
empireu c81316e
Added voltage source and ground, and fixed pass order (build was happ…
empireu e19453d
Fixed bundle bug
empireu c9a0437
Added Event Manager for Object/Cell -> Game communications, and back.
empireu 32f2609
Added Event Scheduler. We'll use this to schedule events from our sim…
empireu 667db4f
Basic parallel updates.
empireu 3023211
Added logs for update rate
empireu 1c7111f
Added thread count to the config
empireu 937aab2
Fixed onPlaced order
empireu 9b5fe00
Added section about parallel simulations
empireu 54cd254
Re-added wires, and changed the organisational scheme a little (all c…
empireu fc4c86a
Log simulation tick time
empireu 02ffa84
Merge pull request #6 from empireu/feature/sim-objects-parallel
empireu 6d854e0
Cleaned up some spacing
empireu c74fcb4
Added a lot of documentation, minor refactors and moved the Ground, V…
empireu 4d72da6
Merge pull request #5 from empireu/feature/sim-objects
empireu 7dc7a7f
Adds test furnace
empireu af99a86
Fixed planar scans not being validated
empireu ee173fb
Fixes subscribers not being re-added when the graph is changed
empireu 9257b5e
Cleaned up furnace particle animation, changed furnace to use left-ri…
empireu e5ace65
Added Atomic Update utility class and added Heating Element classes f…
empireu bd694a3
Adds a crude thermal system for furnaces
empireu b450960
Fixed code mis-copy
empireu ed75187
Updated the animations and removed some unused classes
empireu bd46be6
Removes PID control and replaces it with on/off control
empireu 48bd199
Adds new models (voltage source, ground, resistor) and deletes old an…
empireu 2b38fdb
Made furnace faster
empireu 5549608
Generator Object (untested) and ComponentHolder - a wrapping API. Als…
empireu 1120802
Adds battery with energy, voltage, resistance and Vec3, NBT utilities
empireu b691143
Adds Polar components, fixes floating circuit issue using workaround,…
empireu 10355c8
Fixes ticker deadlock and adds test ghost light block
empireu 44ed41f
Fixes battery save not using the correct tag and formats charge perce…
empireu 433fff1
Adds light (untested)
empireu a3a2525
Implements ghost refresh (bring back destroyed ghost) and adds Event …
empireu b777c41
Implements Part Brightness API and moves part renderer transform func…
empireu 219b1e0
Adds Wall Mounted Light 3D Model
empireu 68a0fb3
Adds basic Wire Model (resistance)
empireu a648cdc
Fixes simulation lingering after server stops, adds some custom shade…
empireu 9ea3437
Optimizes performance by not sending too many resistor updates (updat…
empireu f0e0295
Implements battery model using interpolation and adds lifetime and th…
empireu bd36aab
Refactors battery functions using IBatteryView, adds cycles tracking
empireu 7c0acea
Adds Prometheus
empireu 0f4c189
Fixes a theoretical race condition in the synchronous work algorithm,…
empireu be204be
Adds SubscriberCollection
empireu 002997c
Adds SubscriberCollection to CellGraph and re-implements current subs…
empireu 6e428ee
Fixes battery capacity being displayed incorrectly and changes cycles…
empireu 2438831
Adds Cell Behavior System
empireu 0dd3c68
Implements test battery functions
empireu ac6576e
Pulls in libage:feature/thermal and fixes some quotes in build.gradle
empireu c59f59e
Integrates thermal simulation into the furnace. Currently unusable be…
empireu 1242a1a
Fixes TooltipBuilder using grams instead of kg
empireu b40be22
Updates resistivity access and fixes saving issue caused by simulatio…
empireu 708bf6f
Adds Grid interpolator and hermite spline using arbitrary ranges
empireu 265c57a
Cleans up mathematics and implements thermal simulation, dataset loading
empireu 581efbc
Implements thermal wire
empireu fd88871
Implements thermal wire tint and light
empireu 60fcd95
Implements custom cell NBT
empireu 5aec78b
Removes furnace data logging
empireu a6de376
Updates thermal wire light level calculation
empireu 7207b13
Updates test battery models
empireu 8780c15
Implements basic temperature based explosions and adds battery heating
empireu 88d05e1
Implements new thermal API
empireu c763977
Updates Explosion API to be more generic (more research required) and…
empireu 30b29f7
Adds minecraft temperature conversion
empireu 04970f2
Switches to libage next branch
empireu a06dd78
Fixes DirectionMaskTests#testChecks
empireu eca7b26
Thermoelectric generator and fixed a simulation pause issue
empireu 04e354c
Uses BiMap instead of two maps
empireu 8a08a93
Adds thermal radiator
empireu a221abf
Fixes battery cell initialization and removes brightness logs
empireu 346db42
Adds two parameter lead acid model and grid loaders
empireu 5296dec
Adds documentation to some mathematics classes.
empireu d244680
Adds basic furnace GUI.
empireu 1ae5795
Implements Segment Tree for faster splines
empireu ad8beb2
Adds furnace background texture and fixes furnace not invalidating da…
empireu 07a1e96
Adds furnace GUI extra synchronization
empireu bff693a
Adds furnace GUI temperature and progress indicators
empireu 2385a57
Implements furnace GUI quick move and lowers energy requirement
empireu 30a98ea
Adds thermocouple 3D model and adds BasicCellPart to reduce boilerplate
empireu 80c01ad
Improves thermocouple algorithm
empireu 082360b
Adds test fuel burner machine
empireu 3bfe760
Implements basic solar panel
empireu adadbe3
Version bump to 2.0.0 since Cell was a rewrite
jrddunbr aefa03f
Purges old assets
empireu 3a5d3d9
Merge remote-tracking branch 'origin/feature/test-content' into featu…
empireu 38e48b7
Fixes part item creative tab
empireu e40731d
Moves ElectricalObject and ThermalObject to different files
empireu c4226e1
Changes while loop to use condition instead of breaking out
empireu 44a2c5e
Renames ComponentHolder to ElectricalComponentHolder
empireu 3a52da7
Adds some documentation to the mathematical functions and classes
empireu 4578f42
Adds some documentation to TooltipBuilder
empireu 2484a9a
Adds some documentation to SegmentTree
empireu 4c62f2a
Fixes creative part pickup
empireu e5a58e9
Adds Thermocouple thermal coloring (generic thermal bipole rendering)
empireu efb32b1
Fixes radiator model rotation and changes heat generator to use the f…
empireu 7dedb9b
Implements part item saving and fixes some flywheel issues
empireu 7d1663d
Disables prometheus
empireu 184b47f
Merge pull request #7 from empireu/feature/test-content
empireu 9fcdcc5
Adds more furnace documentation
empireu 57f3687
Adds more documentation to Generator and fixes battery not conserving…
empireu edead15
Moves battery saving from parts to cells
empireu 25162ca
Fixes heat generator getter
empireu ff677c8
Implements heat generator saving and GUI
empireu 338de2a
Moves Functions.kt functions to the file, removes some unused functio…
empireu 1952df1
Adds Dual and removes more unused functions
empireu 25d4b48
Refactors some geometry operations
empireu be94a38
Implements meters using a data access tree
empireu 43d67da
Moves extensions out of objects
empireu c8d633a
Merge pull request #8 from empireu/cleanup
empireu ff00b98
Implements a Locator data structure
empireu cce984b
Removes old connection and neighbor classes, replacing them with the …
empireu 3eaddf2
Adds a replacement for RelativeRotationDirection connectivity and tes…
empireu 9c39ff2
Replaces old location in generic containers and scanners
empireu 97eca2d
Re-implements wire
empireu 5439975
Brings back old content
empireu 0d442db
Refactors class names and file structure
empireu 6054c35
Refactors more class names
empireu 759fb8a
Merge pull request #9 from empireu/feature/cell-backend-generic
empireu f3cc249
Implements furnace recipe caching
empireu bd75e71
Separates Battery from Generator and adds PowerVoltageSource and Powe…
empireu 89cf703
Fixes unit test rangeScanRec
empireu 8d2c25c
Implements basic geometry classes
empireu ad61648
Implements basic multiblock system
empireu 99df940
Adjusts subscriber time step based on interval
empireu 2378768
Updates thermocouple behavior, reverts libage hotfix, refactors names…
empireu 92f29dd
Adds reflection-based object loading
empireu 6533f37
Implements behavior reflection
empireu 7e4dfe4
Adds heater textures and wire item textures
empireu 12dbbdc
Implements bulk part messages for rendering and shorter behavior cont…
empireu 76dc6bd
Implements dependency injection
empireu 06102b6
Implements generic wire model
empireu 19def11
Implements client side replication API and changes PartRenderer to be…
empireu 1df9bce
Replaces wire sync with replicator technology
empireu 0cc0b43
Implements minor upgrades to the mathematical framework (WIP)
empireu 74a6201
Adds an experiment to test mesh generation using the actual framework
empireu dc29193
Adds more useless features to Geometry.kt and moves all extensions in…
empireu 3514805
Implements basic grid demo with cable rendering (using a spline based…
empireu cf76563
Adds more useless features to Geometry.kt
empireu 4450aee
Adds DRAGONS fluid simulation and implements various refactors
empireu 5f5e715
Implements Nuclear Radiation and Chemistry
empireu b7ccc89
Implements basic latex collector
empireu ded0e54
Implements Minecraft 1.19.3 (and build system issues)
empireu 21d7e5c
Implements game
empireu 26464ca
Moves periodic table out of Chemistry.kt
empireu f889e28
Implements natural rubber demo
empireu cb0db76
Cleans up and removes some unused technologies
empireu 575b19e
Merge pull request #10 from empireu/feature/content
empireu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read the tests and I think that we could improve them if we added mockito