valkyrienskies / valkyrien-skies-2 Goto Github PK
View Code? Open in Web Editor NEWValkyrien Skies 2
Home Page: https://valkyrienskies.org/
License: GNU Lesser General Public License v3.0
Valkyrien Skies 2
Home Page: https://valkyrienskies.org/
License: GNU Lesser General Public License v3.0
Currently we don't do this, which is effectively a memory leak because Krunch won't forget about unloaded chunks. Need to fix this eventually, definitely before Eureka.
While developing eureka it seems that under certain conditions it gets perma stuck on that call; we have a mixin there so thats where we need to check
The test server action is broken https://github.com/ValkyrienSkies/Minecraft-Architectury-Testing, need to fix it.
In addition, we can use the shipActiveChunks to avoid colliding entities with chunks in the ship that are empty
This is pain because there is no automated migration for kotlin. what to do
looks like yarn etc. is being phased out in favor of mojmap+parchment and we currently use yarn. should probably switch before updating versions.
We can have world <--> ship dynamic lighting using the same techniques described in the how it works file in LambDynamicLights
title
This can easily be seen when placing a sign on a ship, note that the text renders incorrectly unless the player is selecting a block on a ship. This implies that the issue with render transforms is related to how we render the block outline of selected blocks.
Add broadphase to both the Krunch physics, and to VS2. This should dramatically improve performance once more than ~50 ships have been created. (Currently lags the game to death)
Something like rigidBody.addForceAndTorqueToNextFrame(force: Vector3dc, torque: Vector3dc).
This will be used by vs-core to apply the forces generated by blocks.
In hindsight, this logic really does belong in ShipObjectServer, because it doesn't really matter whether the chunk was already loaded or not, all that matters is that the rigid body in Krunch received the update.
Which, if the ShipObjectServer is not loaded, then it will not receive the update in Krunch, so we should send it.
This can become a problem if someone is hanging out in the Ship Yard, loading ship chunks without actually loading the ship.
Anyways, just fix this when you get the chance.
As the title says (in eureka) when trying to mount a entity via a blockinteraction, it will break.
The reason being that we wrap the block interactions with the player transform but we send a packet out with this transformed data.
to be exact the Teleport method does this, so checking if we tp inside ship and transform coords would fix this
hoppers on ships cant pick up items
SNAPSHOT dependencies can be updated by the maven repository at any time, breaking all our builds. We want our builds to be reproducible, hence we should remove all SNAPSHOT dependencies.
The networking code we have now is totally sub-optimal, and only sends updates 20 times a second (60 times would be ideal). It lags the game once more than like 50 ships have been spawned.
We also want to use UDP if possible instead of TCP, since we don't really care if we lose a position update packet, since we can just get the information from the next packet.
The issue is that Krunch is supposed to prevent physics objects from moving when they're colliding with unloaded terrain. This hasnt been implemented yet, but I will do it soon™.
bonemeal is not spawned, at least not in the real world
might exist in shipyard coordinates
Looking forward to it.
HoW to mAkE ShipP
deltaneda tell me compile
Add a dummy implementation of the physics engine to be run when players can't run Krunch physics.
That way the player's game won't crash, but instead get a warning that they have no physics running.
The mod is currently incompatible with Sodium. Should hopefully be not too hard to fix. Probably have to replace MixinLevelRenderer, MixinClientChunkCache, MixinViewArea, and some others.
title
or observers firing or something idk some way to detect bote
We need to have one ship world per save, rather than per dimension, so we don't need to move ships around when they go through a portal.
small blocks e.g. fences have the same 1x1x1 collider of full blocks
if a ship has a small piece of a block intersecting it gets a huge opposing force, which flings it much further than needed
an extending piston doesn't push ships, only the head clipping into it once extended fully does, with great force
tnt being lit, dispensers, etc all spawn their entities in the shipyard. mixin required for each thing, or maybe correct entity position if it gets spawned in the shipyard.
It would be handy to delete, move or find ships, or reset velocity of ships. So it would be handy to have a command like in VS1 to maniplate the ships with
Title
Title
it seems that it takes blocks a very long time to fall down even a meter (several seconds) and likewise it takes them a very long time to decelerate when flying through the air.
I've been following this project, but it looks like it's progressing slowly. It's really amazing in 1.12, so I want to participate in this project too. Do you have any public discord server? I'll have plenty of time after May.
This problem is exacerbated by the fact that ships do not have an AABB (see #28), but adding one will not fix the problem entirely. When an entity collides with an unloaded chunk, the chunk is forced to load, causing a large lag spike.
Entities should be frozen in place and until the chunk they are in can be loaded rather than forcing the chunk to be loaded in the same tick.
TBD: should entities also load queue the chunk they're in to be loaded or should they just remain suspended until a player gets close enough to load the chunk?
blocks like ender chests, computers, disk drives (cc restitched), furnaces (all types), anvils immediately close if on a ship, since player is very far away
maybe they all have some common class that can be hooked instead of editing each block individually?
Currently the Player to Ship collision and movement in VS 2 is inferior to that of VS 1.
We can do better than this!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.