Commit Graph
100 Commits
Author SHA1 Message Date
OLEGSHA 78a1c25554 Grass tiles have regained the ability to disappear under blocks
- Test:Grass now (again) randomly disappears under opaque blocks
- Fixed a truly egregious bug in AbstractContextRO.pop()
- Fixed BlockContext.pushRelative(AbsRelation)
- Some changes in toString methods in contexts
2021-08-11 13:45:47 +03:00
OLEGSHA a03c783fc9 Fixing bugs introduced in previous commit
- Fixed AbstractContextRO.isSubcontexting()
- Fixed push(...) overrides in FilterServerContext
- Fixed DefaultChunkLogic.tmp_generateTickLists()
- Debug screen now also lists visible and loaded chunks
- AbstractContextRO.Frame now has a toString()
2021-08-11 13:02:18 +03:00
OLEGSHA 0a45613e45 Began work on integrating the new Contexts. Compiles but does not work
- All TickContexts including TickContextMutable are deleted
- Previous occurrences of TickContexts are replaced by appropriate
ServerContexts
- Added Context.popAndReturn methods for convenience

Current known problems:
- World does not generate properly on startup
- No bulk methods in the new API (the likes of forEachTile, etc.)
- AbsFace/RelFace ambiguity in the new API (see
TestTileLogicGrass.java:68)
- TestTileLogicGrass.java:53 is disabled for some reason
2021-08-09 20:32:15 +03:00
OLEGSHA 5fb4c601ff Added ReportingServerContext
- Added ReportingServerContext to listen for write events in contexts
- Fixed method WorldGenericContextWO.setBlock(Vec3i, B)
2021-08-08 14:07:07 +03:00
OLEGSHA 020802a89c Added FilterServerContext and DefaultServerContextLogic
- Added DefaultServerContextLogic
  - A standard implementation of ServerTileContext.Logic that delegates
all methods to a ServerTileContext instance
  - Now used by DefaultServerContextImpl
- Added FilterServerContext
  - A base for creating context wrappers
2021-08-08 12:19:31 +03:00
OLEGSHA 0f909039fe Renamed ReusableServerContext to DefaultServerContext 2021-08-06 11:02:43 +03:00
OLEGSHA 15f741bc04 Added subcontexting. Context#subcontexting. 2021-08-06 10:49:40 +03:00
OLEGSHA 80541eafc3 Renamed BlockFace contexts into TileStack contexts 2021-08-05 19:39:39 +03:00
OLEGSHA 0f60d45ffa Contexts no longer expose to World, Chunks, TileStacks or TileReferences
The intention is to bottleneck all read queries and write requests
through context objects without the need to create practically useless
Chunk, TileStack and TileRef wrappers.

- WorldGenericContext{RO,WO} no longer extend WorldGeneric{RO,WO}
- Added tag access for tiles to contexts
- Documented almost all context methods
- Renamed isBlockLoaded() to isLocationLoaded()
- I found some inner peace
2021-08-05 16:42:21 +03:00
OLEGSHA fbc803d6e2 Laid some groundwork for context implementation; rewrite incoming
- ReusableServerContext will be the default context implementation. It
is sort of implemented, but not really
- WorldLogic{,RO} now declare getData() method
- WorldGenericContextWO.removeEntity(EntityGeneric) received a default
implementation
- TileDataContext.getTag() received a default implementation
2021-08-04 18:42:16 +03:00
OLEGSHA 1ee9a55d19 Defined Data and Server context interfaces
Server read-write (not RO) interfaces do not extend the complimentary
*GenericContextWO interfaces by design. It makes no sense to set a
BlockLogic, but it makes plenty of sense to refer to a ChunkData rather
than a ChunkDataRO.
2021-07-31 20:47:23 +03:00
OLEGSHA a338a00f1d A change to the class hierarchy of WorldLogic similar to prev commit
- Renamed ChunkLogic -> DefaultChunkLogic, WorldLogic ->
DefaultWorldLogic
- Created/rewritten TileLogicReference{,RO}, TileLogicStack{,RO},
ChunkLogic{,RO}
- Drafted up something for ServerWorldContext & friends, WIP

(see commit 9a32660 for more details)
2021-07-31 16:01:25 +03:00
OLEGSHA 9a326603cd Still working on Contexts. Introduced a billion interfaces. WIP.
*takes a deep breath
- Renamed Generic world structure interfaces to the following scheme:

      {Block,Tile,Chunk,World}Generic{,Stack,Reference}{RO,WO}
      (e.g. GenericWritableChunk -> ChunkGenericWO)

    - RO is Read Only, WO is Write Only
- Generic writable interfaces no longer extend their read-only
counterparts (thus Write Only)
- TileGenericStack{RO,WO} are now interfaces; AbstractList is only
introduced by final implementations
- TileGenericReferenceRO now has a WO counterpart
- Fixed compilation issues with the previous commit
- Declared some additional functionality for Generic interfaces
- Old ChunkData and WorldData renamed to DefaultChunkData and
DefaultWorldData
  - Now considered to be an implementation detail; references will be
minimized
- Introduced TileDataStack{,RO}, TileDataReference{,RO}, ChunkData{,RO},
WorldData{,RO} interfaces
  - Suffix -RO indicates Read Only, no suffix means read-write
  - To be used in place of DefaultChunk and DefaultWorld
  - Designed to support wrappers and "fake" implementations
  - May need some refinement (fix return/parameter types, ...)
- Surface world generator is now implemented poorly (WIP)
- Should compile. May work fine. Unless Java inheritance rules have
screwed me over.
2021-07-23 22:46:49 +03:00
OLEGSHA d7afe39f00 Added more generic Contexts. WIP. 2021-07-15 22:26:20 +03:00
OLEGSHA 0264e512ab Merge branch 'master' into addPlanet
Conflicts:
	src/main/java/ru/windcorp/progressia/test/LayerTestGUI.java
	src/main/java/ru/windcorp/progressia/test/TestPlayerControls.java
2021-07-12 16:20:15 +03:00
OLEGSHA e47fb3c4bd Added surface features. Tree generation is currently broken!
- Added SurfaceFeature
  - Used to generate chunk features
- Added SurfaceTopLayerFeature
  - A superclass for features that are only concerned with editing the
surface
- Added grass, temporary bushes and temporary trees
  - Bushes and trees do not generate properly due to bugs
  - Added Test:TemporaryLeaves
- Added SurfaceWorld (a GenericWritableWorld wrapper)
- Added some unit tests for rotation utilities
- Fixed a whole lot of bugs
2021-07-07 17:37:08 +03:00
OLEGSHA eace6733ce Added Menus and cursor visibility management
- Layers now have a CursorPolicy
  - Used to enable/disable cursor based on top layer
- Added a default menu layer implementation
2021-06-28 17:45:49 +03:00
OLEGSHA 085f602427 Panel now has decorations; functionality moved to new superclass Group 2021-06-25 17:33:46 +03:00
OLEGSHA 531a8c99c3 Added CONTRIBUTING.md. Discussion is welcome. 2021-04-27 23:22:48 +03:00
OLEGSHA 6fb7e7fc04 Added SurfaceWorld to facilitate surface feature generation 2021-04-13 15:18:15 +03:00
OLEGSHA 20dccf3d12 Some more refactoring of generic world-related classes. May not compile.
- Added GenericWritableWorld
- Moved static methods from GenericChunk to GenericChunks
- GenericEntity now declares getEntityId()
- GenericWorld now declares getEntity(long)
- Added a lambda-based mapToFaces variations for AbsFace and RelFace
2021-04-09 23:16:08 +03:00
OLEGSHA 32851b8fb0 Added a serverside uptime tick counter 2021-04-09 20:34:47 +03:00
OLEGSHA a95bdf1efe Moved .setBlockRel(...) implementation to GenericWritableChunk 2021-04-09 20:15:07 +03:00
OLEGSHA e0a03cad1d More refactoring of GenericChunk and pals
- Genericized TileReference
- Unified template arguments
2021-04-06 00:36:38 +03:00
OLEGSHA 2532e80f6a Moved some methods from ChunkData to GenericChunk
- Moved some method definitions from ChunkData to GenericChunk
- Moved some method definitions from ChunkData to GenericWritableChunk
- Refactored GenericChunk including changing some method signatures
- Added some documentation for GenericChunk
2021-04-05 17:30:37 +03:00
OLEGSHA 3c3f3816df Fixed a generation issue and refactored some code around WorldGenerators
- ChunkRequestDaemon now attempts to generate requested loaded non-ready
chunks upon discovery
- The server is now only specified once for WorldGenerator
- WorldLogic now actively checks the generation contract
2021-04-02 21:51:52 +03:00
OLEGSHA 2d3d250f92 Renamed Scatter to Feature and added a generation feature interface
- Renamed SurfaceScatterGenerator to SurfaceFeatureGenerator
- Renamed PlanetScatterGenerator to PlanetFeatureGenerator
- Added a very basic interface for adding generation features
- Removed debug leftovers from PlayerManager and VisionManager
2021-04-02 21:29:09 +03:00
OLEGSHA c49fdfa5ff Added a crude music player and fixed a lot of OpenAL stuff
- Game will now play all Vorbis files in music/ directory (at runtime)
  - Random order with random pauses (15 to 60 sec)
  - Force start by pressing M
- Added AudioRegistry for performance
- Speakers now can change data correctly
- Added ResourceReaders
  - Classpath and Filesystem for now
- Added local controls. Use with ControlTriggers.localOf(...)

NB: No actual music files included (yet). Place them in music/ directory
of the game directory (e.g. in <project>/run/music).
2021-03-26 23:51:51 +03:00
OLEGSHA 9d7f69892b Removed unused import and renamed VSYNC to VSync 2021-03-26 21:57:54 +03:00
OLEGSHA 7ecdfdfb4d Added scatter generation logic to TestPlanetGenerator
- Scatter generation is now triggered properly in TestPlanetGenerator
- WorldGenerators are now required to call addChunk() themselves (again)
- ChunkManager now generates loaded chunks that are not ready
- Chunks scheduled for unloading no longer unload if they become
requested while in queue
2021-03-26 21:26:05 +03:00
OLEGSHA 4332a78221 Refactored ChunkManager and EntityManager, added server event bus 2021-03-26 20:26:12 +03:00
OLEGSHA ef572c43c7 Updated documentation for GuavaEventBusHijacker and ReportingEventBus 2021-03-25 17:15:03 +03:00
OLEGSHA f28c765e3f Made Gravity Models configurable with packets 2021-03-15 21:02:33 +03:00
OLEGSHA f4311fb27c Created a bare-bones implementation of the final planet generator
- Added Planet generator
  - Uses temporary generation algorithms
- Added Surface generator
- Added FloatRangeMap
2021-03-15 18:54:53 +03:00
OLEGSHA abd8d9eebb Moved some functionality into WorldGenerator
- WorldGenerators now suggest a spawn location
- WorldGenerators are no longer responsible for adding chunks
2021-02-28 23:31:57 +03:00
OLEGSHA a9a21ce664 Moved planet generation code to its own package 2021-02-28 23:03:23 +03:00
OLEGSHA bd5a1fa04e Added rotating AABBs through lots of pain and suffering
- Collision models now rotate to match entity's general up direction
- Extracted rotation logic from RelRelation into AxisRotations
- Test:PlanetGravityModel is now properly centered
- Fixed some small bugs
2021-02-28 22:55:51 +03:00
OLEGSHA 2d55d4db51 Added a cubic gravity model and fixed some stuff
- Added TestPlanetGenerator and a corresponding gravity model
- Fixed gravity-triggered camera rotation
2021-02-22 15:38:14 +03:00
OLEGSHA d438d2aa14 Linked GravityModel to a WorldGenerator and added GM comms transfer
- WorldData no longer acquires a GravityModel automatically
- On the server, GravityModel is specified by WorldGenerator
- On the client, GravityModel is received from the server via a
PacketSetGravityModel
2021-02-07 01:01:37 +03:00
OLEGSHA d3c5011063 Replaced AbsFace with RelFace or BlockFace where appropriate
- Added BlockFace - a *Face superclass
- Refactored and optimized Rel{Relation, Face}
- Replaced most AbsFace references with BlockFace or RelFace
- Chunks now have an up direction
  - Determined by GravityModel's discrete up
  - Static; cannot change unless chunk is reloaded
  - Chunk models are now rendered rotated accordingly
- Fixed some minor bugs that were somehow revealed by these changes
- Moved TileLogicGrass to .test, where it belongs
- Disabled grass despawn until a new worldgen is implemented
2021-02-07 00:45:43 +03:00
OLEGSHA 10d271059c Added RelRelation and RelFace; added discrete up vector to GravityModel 2021-02-02 18:49:55 +03:00
OLEGSHA acef9d32df Changed packages for relations, renamed Face to ShapePart
- Added BlockRelation as an abstract superclass to existing relations
  - Must be given an absolute "up" direction before use
- Moved AbsFace, AbsRelation and BlockRelation to .world.rels
- Renamed Face to ShapePart to reduce confusion with AbsFace
2021-02-01 19:14:49 +03:00
OLEGSHA 848178b343 Renamed BlockFace and BlockRelation to AbsFace and AbsRelation
- Renamed BlockFace to AbsFace
- Renamed BlockRelation to AbsRelation
- Renamed AbsFace constants using the following scheme:
  POS_X, NEG_Y, etc.
2021-02-01 17:25:07 +03:00
OLEGSHA b1666fa4b9 Fixed a bunch of issues with gravity and implemented gravity changes
Also added DebugGraphics and made VectorUtil comply with the general Vec
contract
2021-01-31 23:34:24 +03:00
OLEGSHA eac0a34516 Clarified RAM requirement in README.md 2021-01-30 22:59:01 +03:00
OLEGSHA f9717be412 Switched to using looking-at vectors instead of Euler angles
Also fixed camera jittering and added some vector functions
2021-01-29 23:19:22 +03:00
OLEGSHA 26a35f306c Fixed chunk model updates 2021-01-26 22:21:03 +03:00
OLEGSHA 553837f207 GravityModels now take position into account
- Also documented GravityModel
2021-01-25 22:06:34 +03:00
OLEGSHA 8c5493f78e Added GravityModels, removed gravity switch
- Added GravityModel
  - can specify gravity varying by location and time
  - Added GravityModelRegistry
  - Stored in WorldData
- Removed Minecraft gravity mode
2021-01-25 21:35:46 +03:00
OLEGSHA fc85eb5658 Removed accidentally committed local build.gradle 2021-01-25 10:46:02 +03:00
OLEGSHA 260562310a Refactored CROs, removed internal chunk borders. Documented CROs.
- Refactored CROs
- Renamed CROOpaqueCube to CROSurface (including relevant interfaces)
- Optimized CROS
  - CROS now takes neighbor chunks into account
- Refactored default OptimizedSurface implementations
- Documented some CRO code
2021-01-24 20:48:38 +03:00
OLEGSHA 85edc07c75 Incremented version and corrected whitespace in buildPackages.sh 2021-01-21 18:15:50 +03:00
OLEGSHA a0346bcb9c Changed version string to TechDemo 2021-01-13 21:18:40 +03:00
OLEGSHA ad1d1396df Fixed installation path in Debian packages 2021-01-13 19:00:58 +03:00
OLEGSHA c2d91726a7 Formatted source, added/updated copyright headers
- Also added formatting settings for Eclipse IDE
2021-01-13 14:36:18 +03:00
OLEGSHA 8f3009300f Moved some files around
- Renamed FloatMathUtils to FloatMathUtil
- Renamed TextureUtils to TextureUtil
- Moved .common.io to .common.world.io
2021-01-12 22:21:06 +03:00
OLEGSHA b3ce0ca3c4 Fixed text encoding, texture transparency, labels in debug layer 2021-01-12 21:11:53 +03:00
OLEGSHA 70c213fe0d Added localization, LayerTestGUI hiding and fixed two bugs
- Re-added localization
  - Currently en-US, ru-RU
  - Switch with L
  - Used in LayerTestGUI and the new LayerAbout
- Added LayerAbout
  - Contains game named and version
  - Localized
- TestLayerGUI is hidden by default
  - Switch visiblity with F3
- Fixed alignment of text inside Labels
- Fixed crash reports not showing suppressed exceptions and causes
2021-01-12 00:36:18 +03:00
OLEGSHA 9a9823be0d Merge branch 'Textures' 2021-01-11 22:02:07 +03:00
OLEGSHA a3ac4e8aa0 Added several new tiles and updated Glass texture
- Added Painting to demonstrate "HD" texture support
- Added RoughPaint and DecorativeBricks to decorate a house outside
- Added WhitePaint to create windows
- Added TilesSmall and TilesLarge
- Updated Glass texture to make it brighter and add streaks
2021-01-11 21:58:00 +03:00
OLEGSHA 02ef94a395 Corrected spelling 2021-01-11 11:25:42 +03:00
OLEGSHA 76a6c4a186 Made glass not remove tiles under itself and updated 2 textures
- Glass is no longer solid and is now transparent
- Updated Clock and Wallpaper textures
2021-01-11 00:07:34 +03:00
OLEGSHA d2450c796b Fixed runtime problems, renamed some content and disabled saves
- Made sure texture names had correct case
- Renamed Test:Wood to Test:Log
- Renamed Test:Time to Test:Clock
- Links in crash reports are now clickable from Eclipse
2021-01-10 23:54:12 +03:00
OLEGSHA 73be13734e Merge branch 'master' into Textures 2021-01-10 23:33:22 +03:00
OLEGSHA 9d305890d1 Crash reports now include the stacktrace of .report() 2021-01-10 23:00:49 +03:00
OLEGSHA 920284190c Updated Windows building instructions in README.md 2021-01-10 21:06:43 +03:00
OLEGSHA 8f419b4d02 Rewrote README, wrote building guides and cleaned up
- Updated/prettified README.md
- Wrote extensive building guides
- Removed pictures/
- Removed music samples
- Made sure that git creates run/ when cloning
2021-01-10 20:52:45 +03:00
OLEGSHA a4dd14491d Fixed build scripts
- Eclipse is now able to detect native dependencies correctly
- `buildPackages.sh debian' exits with correct exit code
- Renamed `require*Dependencies' to `request*Dependencies'
2021-01-09 14:14:36 +03:00
OLEGSHA 7a2721c7b3 Fixed missing manifest file in built JARs 2021-01-08 00:44:49 +03:00
OLEGSHA e389d2ad67 Refactored build scripts and removed unused dependencies
- Added the following Gradle tasks:
  - buildLocal (alias for build)
  - buildCrossPlatform (builds with all natives)
  - packageDebian
  - packageWindows
- Gradle no longer downloads or packages natives for wrong platforms
(unless buildCrossPlatform or require*Dependencies is run)
- Gradle should no longer complain about deprecated features
- buildPackages.sh is now a lot more robust
- Removed the following dependencies:
  - Apache Commons Math
  - Everything in LWJGL except OpenGL/AL, GLFW, STB and core
2021-01-08 00:33:53 +03:00
OLEGSHA eb82c96390 Lots of small tweaks
- Added text outlining
- Shrunk and moved compass bar (it no longer pretends to be a hotbar)
- Changed cross to match text proportions
- Refactored TileRenderSimple into TileRender{Opaque,Transparent}Surface
  - Also renamed OpaqueTile into OpaqueSurface
- Added about and version info
2021-01-07 18:26:54 +03:00
OLEGSHA e467d00877 Probably fixed that GUI freeze that WarGreg reported 2021-01-07 16:51:34 +03:00
OLEGSHA 1bba20504d Set up crash reporting for Guava's EventBuses
- Added GuavaEventBusHijacker to access an inexplicably package-private
constructor in EventBus
- Added and utilized ReportingEventBus that reports caught exceptions
2021-01-07 00:13:18 +03:00
OLEGSHA c919ffc8ce Multiple blocks and tiles can now be placed
- Different blocks can now be placed
  - Select block with (vertical) mouse wheel scrolling when block
placing is active
  - All blocks except Test:Air are available
- Different tiles can now be placed
  - Select tile with (vertical) mouse wheel scrolling when tile placing
is active
  - Switch between placing blocks and tiles with middle mouse button,
horizontal mouse scrolling or Shift + (vertical) mouse scrolling
- Changed Test GUI text color to white to increase readability on blocks
2021-01-06 23:25:05 +03:00
OLEGSHA 339e11d3ac Fixed several miscellaneous bugs
- Recolored Test:Stones to better match granite textures
- Selection box restored
- Controls no longer get stuck after player entity is reloaded
- Moved test spawn location a little down so chunks would load
conveniently
- Moved test spawn variable into TestContent
2021-01-06 21:44:54 +03:00
OLEGSHA 890dd16ec6 Added DynamicStrings to minimize String.format invocations in GUI 2021-01-06 21:26:19 +03:00
OLEGSHA 008e8b33a5 Added color multiplier stack to shaders, fixed dynamic font colors
- ShapeFragment.glsl now declares uniformColorMultiplier, which is used
as an additional fragment color multiplier (independent from VBAs)
  - Managed with a new stack by ShapeRenderHelper
- Fixed dynamic font colors
2021-01-05 19:08:53 +03:00
OLEGSHA d197c0a73e Colors are now always Vec4, ARGB ints are only wrappers 2021-01-05 18:51:44 +03:00
OLEGSHA a6c1b914c1 Fixed and re-optimized static labels 2021-01-05 17:45:28 +03:00
OLEGSHA 18bac9d2b5 Fixed dynamic labels, broke font colors and static label optimization 2021-01-05 17:12:02 +03:00
OLEGSHA 7b417d612d Oops, forgot to move snow layers 1 km up 2021-01-05 17:07:20 +03:00
OLEGSHA 524e79008f Removed some leftover debug content 2021-01-04 21:57:54 +03:00
OLEGSHA 2ce11b5d01 Added granite & snow, updated dirt texture
- Added granite (monolith, cracked and gravel variants)
  - Generates as a random combination of the variants instead of stone
on mountain cliffs
- Added snow (opaque, half and quarter variants)
  - Generates at altitudes above 1500 m
  - Distribution is bad atm, not fixing until proper worldgen is
introduced
- Reduced cliff areas
- Hotfixed texture flickering
- Changed dirt texture
2021-01-04 21:55:54 +03:00
OLEGSHA 5157a675af Hotfixed collision drag, still needs a lot of testing 2021-01-04 11:46:16 +03:00
OLEGSHA 17e0714913 Resized and improved tile textures 2021-01-04 01:13:14 +03:00
OLEGSHA 6f82d1d8b8 Fixed some minor bugs 2021-01-03 23:19:23 +03:00
OLEGSHA e7433c90e2 Closest chunks models are now updated first 2021-01-03 16:05:47 +03:00
OLEGSHA daba418361 Hopefully fixed #8 by enforcing only one change per tile per tick
- TickerCoordinator.pendingChanges is now a HashSet
- TickerCoordinator now makes some best-effort checks to make sure the
world does not change during evaluation phase
- Extracted Cached{Block,Tile}Change
  - these classes implement hashCode() and equals() based on the
location of the block/tile they affect, thus ensuring that only one per
block/tile remain in the aforementioned set
- Similarly extracted PacketAffect{Block,Tile,Entity}
- Renamed a bunch of packets
2021-01-03 13:21:47 +03:00
OLEGSHA cc031529a1 Added OpenSimplex2 and a fancy world generator 2021-01-02 20:48:29 +03:00
OLEGSHA ea56b642ee Fixed PacketSendEntity
- Moved PacketSendEntity to correct package (.common.world.entity)
- Temporarily added position, velocity and direction to EntityData
read/write methods

- Increased view distance to 150 m
- Squashed visible area vertically (to load less underground and air
chunks)
2021-01-02 17:06:55 +03:00
OLEGSHA 16c89b963e Fixed test generator not populating chunks that were loaded from disk 2021-01-02 11:26:06 +03:00
OLEGSHA 8c6794e7da Merge branch 'master' into multichunk
Conflicts:
	src/main/java/ru/windcorp/progressia/server/ServerThread.java
2021-01-02 10:34:47 +03:00
OLEGSHA 7a9e03f700 Added generation hint persistence 2021-01-02 10:26:34 +03:00
OLEGSHA 65820040ce Added FPS and TPS display averaging 2021-01-02 00:37:12 +03:00
OLEGSHA 01645f5c6e Documented and prettified CrashReports 2021-01-02 00:08:32 +03:00
OLEGSHA 06f4b4637d Added world generation hints, altered ChunkIO slightly, fixed some bugs
- A custom Object can be appended to any ChunkData to save its
generation status
  - Handled by WorldGenerator
  - Persistent
  - Used to determine whether a chunk is ready to be sent to client
- ChunkIO now requires an IOConext
- ChunkIO now requires Data{In,Out}putStreams (as a combination of
Data{In,Out}put and {In,Out}putStream)
- Fixed some minor bugs
2021-01-01 23:06:32 +03:00
OLEGSHA 00773d4f8b Fixed compilation on JDK 8 2021-01-01 20:25:47 +03:00
OLEGSHA 77599e857d Introduced WorldGenerators 2020-12-31 15:36:21 +03:00
OLEGSHA 6e6701d2e5 Merge branch 'multichunk' 2020-12-30 14:49:59 +03:00
OLEGSHA 2947e9acff Add world persistence because I can
This is terribly inefficient both storage- and TPS-wise.
Enable/disable with ru.windcorp.progressia.test.TestWorldDiskIO.ENABLE
2020-12-30 14:47:43 +03:00