Highly untested and may break world
Current release unspecified
- Fixed reactor pipe rod creating see through blocks
- Fixed reactor pipe rod's break texture
- Fixed min and max vapor rates being inverted
This was causing vapor for water to be capped at 120 instead of 1000
- Update en_US.lang
Added translation for the radiation death
Removed a random capital letter in the 'translation error' translation
- Switched item container over to forge layer model
- Introduced custom model for rod pipes
- Changed reactors to visually connect to rod pipes
- Fixed rod pipes not conveying rods
- Added caching to reactor for running, heat, and rad states
Vapor system was accessing these values too many times a tick introducing lag.
- Update en_US.lang
Added missing Orange translation for the adjuster and correct emittes to emits
- Changed tube connection type and pos to be wrapped to tube host
- Added more specific test for torches
- Fixed torch and fence steam pass through
- Implemented a vapor handler to allow any block to produce vapor
This will lead into different fluid types then steam being produced
- Working on improving steam pathing
- More work and fixes on accelerator
- Added recipes for particle accelerator
- Reworked block placement for booster, tube, tube-exit, tube-gun, Fixed some issues
- Sync
- Changed direction to be controlled by node host instead of node itself
Move to improve data management. Virtual nodes will use a fake host to control the direction. While the tileentity will use its own data storage.
- Added some simple tests for accelerator pathfinder
- Package cleanup, Moved pos to transform package, Moved performance test to tool src group
- Fixed some issues with performance test method
- Added double version of move pos, Fixed rounding up errors
- Fixed some precision errors at high values
- Added a way to update the precision of a fraction pos
- Switched over to fractional math for particle movement
- Randomized test
- Improvement in performance testing output format
- Improved fraction math
- Added export to csv to track timings
- Testing fractional position to reduce precision errors
- Reworked accelerator node to use a host instead of several suppliers
- Worked on accelerator improving/fixing several areas
- Worked on a detector model
- Moved over block reg to helper method
- Fixed detector not picking lowest speed exit
- Fixed center not getting called for particle movement
- Added rounding to particle position to help solve precision issues
- Created detector to control split exiting
- Added click context to rotation of laser
- Added extra arrow to split left & right
- Finished off containment mechanics
- Added new model for item container, Added glass render for item container
- Improved particle rendering for field projector
- Added field projector mode to laser
Designed to work with collision system to contain the particle created.
- Added a capability relay tile
Used to insert into collision chamber and to help with connecting machines with a lot of connections
- update cursegradle
- Started on a recipe system
- Moved acceleration scale to config, Updated unit test for acceleration
Unit test was failing before due to math being updated but not the test's check. With the move to config I can pull the expected value right from the config's defaults. This way if we update it in the future the test should update with it.
- fix junit5 in dependencies
- Added pitch rotation to item container, Added pitch & yaw to accelerator particle
- Moved normal tube block to its package
- Moved powered tube logic to its own block
- Simple acceleration math test
- Package cleanup, Changed magnet layout to use IBlockAccess for junit
- Added call back for particle leaving a tube without an exit
- Added code to accelerate particles moving through magnets
- +1984 tests for super layout permutations
This only covers the basic layout combinations. We still need to do a version that will make a permutation for each side of a the side permutated. However, this can wait until later as this test covers a rather large chunk of layouts.
- Started on super layout permutations, Fixed layout not initializing
- Removed old license header from code
Might have missed a few but we are MIT
- Fixed nodes not initializing with data
- Fixed junit 4 import being used in place of junit 5
- Added simple test for update connections
- Moved connection check logic to node
- Added guess connection code for left & right corners
Allows corners and other types to be placed without a tube in front of the block. This should make it easier to place tubes.
- Updated connection tests to use argument sources for tests
- Created argument providers for EnumFacing
- Fixed center being considered an invalid movement area
- Connection super permutation unit test added
This test handles checking all types and there connections with other tubes based on side & rotation.
- Reworked entry/exit test to use relative sides
- JUnit test for getRotationRelative
- JUnit test for getSideFacingOut
- Added test for TubeSide getFacing(EnumFacing) and getOpposite()
- Forgot to check sides for entry/exit test
Also neglected to make a note that no matter what it will detect entry/exit on a side even if it can't connect. To test for this and make it more clear I added a can connect check. This will later be used by the pathfinder and other systems to improve connection logic.
- Finished basic accelerator functionality
- Added display item states to laser booster and laser emitter
- Fixed issue with accelerator gun firing in reverse
- Registered tube exit, Added model
- Switched node to be api driven, Added 3 new non-placeable tube types
- Fixed neighbor update check breaking pipe connections
- Added block pos to error debug for packets receive when world is not loaded
- Fixed radiation thread pathing outside the map
- Added debug data to map sources and remove map methods
- Added test for no connections
- Added exit connection testing basic
- Prep for super permutations
- Moved ATestTube and ATubeTestCommon to root test folder
Also renamed ConnectionCommon to ATubeTestCommon since it has little to do with connections and more with tube creation
- Renamed connections package to layout
Change is to better reflect the test purpose, these tests are to check which connection type (aka layout) to select for the given connections. Its more about the layout then the connections.
- Created valid and invalid entry connection tests for normal tube
- Added way to create test tubes with connection types
- Added junit 5 params, Updated Junit 5 to 5.5.0
- Created argument provider to supply rotation and entry connection permutations for testing
- JUnit test for t_split_left connection state
- JUnit test for t_split_right connection state
- JUnit test for t_join_right connection state
- JUnit test for t_join_left connection state
- JUnit test for t_split connection state
- JUnit test for t_join connection state
- JUnit test for split connection state
- JUnit test for join connection state
- JUnit test for right corner connection state
- JUnit test for left corner connection state
- Fixed connection check using wrong side of target tube
- Finished test for normal tube connections
- Reworked connection check to be based on tube connection state instead of facing side
- Create ru_RU.lang
MC 1.12.2. AtomicScience 3.2.0-b87.
- Sync
- Started on tube tests, Changed accelerator to be easier to unit test without a world
- Moved movement tests to their own package
- Unit test for split
- Unit test for t split right
- Unit test for t split left
- Finished basic unit test for T split
By basic I mean we have all the valid cases test but we have yet to test invalid cases.
- Added extra validation to move line test
- Worked on t split unit tests, Created some helpers for common tests
- Added unit test for join
- Added unit test for T Join
- Added incoming back tests for T join left/right
- Unit tests for T join left/right
- Set container size to 1, Reduced particle delay to 10 from 1000
- Added particle syncing to client
Renders item for now
- Fixed getSideFacingOut(EnumFacing) returning wrong direction
- Fixed turn indexing
- Updated connection check to support any tube layout
- Removed junction type for tubes
- Let wrench bypass sneak
- Moved functions to helpers, Removed random split
Decided to make it round robin instead for turns. This way we don't RNG the same value. As well can more easily unit test.
Move several functions to helpers to make it easier to navigate the node class. As well consolidates constants to 1 class for reuse.
- Fixed pathing mistakes
- Added tube splits, Reworked logic to be based on direction and contains side
- Removed old textures
- Fixed network destroy and connection updates
- Renamed left/right T to include join in the name
- Fixed joins not pushing particles out the front
- Changed turn to use particle direction instead of left first
- Simplified movement logic to work for all types
In theory it works on all types, current tests validate but we need tests for other types.
- Added JUnit5 to build scripts
- NBT tags
- Added capability support to item container
- Accelerator works for movement
- Added logic and tests for right corner
Inverse of left corner
- Full directional test set for left corner
- Optimized north corner turn
We were manually checking each step, I recycled the move code from normal test to make it easier to check.
- Created test common for movement tests
- Left corner test added for north and code working
Still need to test the other rotations but for the most part it looks good.
- Worked on corner movement, Improved normal tube move test
Previous move test was from center of pipe forward. New test is from edge of pipe through the center towards the other edge. This ensures the particle can move all the way through the tube and not just from center forward.
Future tests will expand on this with more complex tube pathing. For now this at least tells us the basics are working.
- Tested and fixed normal tube movement for particles
- Worked on accelerator
It somewhat works
- Worked on particle pathing
- Worked on accelerator network
- Worked on laser
- Reworked timers to be tile based and called from TileEntityActive
Meant to reduce code needed to use timers and remove the need for an int per timer. Which should reduce memory a little later when we use timers more. As well allows triggering several timers off the same tick var.
- Added saving and packet syncing to item holder
- Worked on laser system for particle accelerator
- Reworked battery to allow easy changes to capacity
- Minor changes to tick timers
- Laser booster model, Accelerator gun model, Item container model
- Added laser emitter
This will be used as a generic block in multi-block creation. Mainly to power the accelerator and start the fusion reactor.
- Removed extra conditional tag in IC2 powered cell recipe
- Fixed reactor rod render not scaling with size
- Added capability for accelerator tube and magnet
- Update nl_NL
Minor corrections
- Engrish to English
Minor corrections
- Finished tube models
- Worked on corner models
- Sync from 2/10/2019
Forgot to sync last month
- 3.2.1
- Possible fix for fluid containers not inserting into fluid slots
- Changed reactor rod model to render with rod inserted
When the rod is not inserted it will no longer render. This will give a better visual impression of the state of the reactor core.
- Fixed reactors on/off state, Fixed inventory handling, Added improved pipe handling
Most likely fixed on/off state issues with reactor. I think it was a client desync issue but didn't confirm. Testing shows the issue is gone after adding a bit more logic.
Fixed some interaction issues and inventory handling problems.
Added better support for pipe rods to allow more complex reactor designs. Including moving the controller to several blocks above or under the reactor.