Jump to content

Recommended Posts

Posted

In vanilla minecraft, beds are characterized by the following:

1. They only activate at night.

2. They only exist in the overworld.

3. They reset the respawn point.

4. They reset weather.

5. They "fake-advance" time to daylight.

6. They are unique per-player.

 

This issue comes up in Mystcraft

http://mirror1.binarymage.com/mantisbt/view.php?id=47#c1345

 

It also came up in earlier versions of Twilight Forest.

 

Basically, as a player, the following is wanted:

1. Can activate at any time the dimension says that they can activate. For the overworld, that would be at night. For the twilight forest, that would be any time. For a mystcraft age, it might be something else.

 

Alternatively, it might be based on active light level -- given span mechanics, if you are in a small, dark room, nothing will spawn near you, and you could go to sleep in the dark even if it were light outside.

 

2. Obviously, they should exist on a per-dimension basis. Some dimensions will say "Yes, sleep here"; some won't. This behavior currently exists.

 

3. Equally, they should not be unique per player per server/world; they should be unique per player per dimension. In other words, each dimension has zero or one bed points, but every dimension (other than nether/end) might have a different one.

 

4. Some way to handle "This dimension is all asleep, while that dimension is awake". Note that mystcraft currently has a different sense of time/weather for each dimension; I do not know to what extent that is inside Mystcraft or inside Forge; I suspect that if it is in Mystcraft it would need to be moved into Forge.

 

5. In theory, once forge is handling per-dimension time effects from sleeping, then forge could trivially say "this dimension will be simulated instead of artificially time-jumped"; this would bring the "Somnia" mod back from the dead. (To clarify: while Forge could have "simulate the world" mechanics, activating them would be the job of a mod based on sleep state.)

 

 

Jeb! The sheep! The fence pens, they do nothing still leak!

Posted

Quit linking to private sites that require authentication to view.

 

1) We have hooks for that

2) Pretty sure that already exists as well

3) You're saying that you want per-dimension spawn points. I haven't actually looked into it but im pretty sure thats possible already. If not it shouldn't be a difficult change.

4) 'all players sleeping' is already a per-world thing.

5) Worlds can already be 'simulated' base cleanly with Forge. There are a few mods that already do it.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

The only actual issue (and what Keybounce is trying to explain very badly) for Mystcraft is that each player stores only one bed spawn-point, not a bed spawn-point per dimension.  This means that if you set your bed spawn in one dimension it clears where you slept in other dimensions.  This also means that the respawn code attempts to use this single bed spawn in all dimensions, checking for beds or force respawning at those coordinates in whatever dimension the player is respawning in.

 

Thanks for pointing out that the issue tracker requires login to view.  I'll try to address that problem.  I'm not sure what causes that.

Posted
5) Worlds can already be 'simulated' base cleanly with Forge. There are a few mods that already do it.

 

Really? That's ... a shock, to say the least.

 

The Somnia mod has to be completely re-written, and the author there is having various issues (Primarily related to lack of network access, but if it was that easy, someone else would have redone it). If it actually is possible to simulate a dimension's time passage while everyone is asleep, or when reloaded (*), I would think it would be a little more common / there would already be a mod for that.

 

(*): Example: If you leave a mystcraft age, and it unloads, then time stops. When you return to it, time continues from where you left it. No matter how many hours in-game have passed, no time passes. So if you enter a new age at overworld sunrise, and the new age has the same day cycle as the overworld, then leaving that age at "noon sun" will put you into the overworld at "noon sun". Waiting until overworld sunset, and returning to that age will still have it at "noon sun".

 

XCW has classified this as "Won't fix"; there are certainly cases where this behavior is desirable. But there are also cases (think farms) where you'd want at least some portions of the world (such as areas around that world's spawn) to advance. Being able to say "It's been an hour since this world was unloaded, so simulate an hour of time passage" has uses.

 

Obviously, there are a number of issues to work out in this case -- how much area, maximum simulation time, etc -- but the general principle is valid. Currently the "best" work-around is a fuel-dependent chunk loader, but the only one I know of -- Immibis's -- doesn't properly track the chunk loader being removed nor properly log chunk loader locations; I've seen it fail to recognize "out of fuel" on a loader at an NPC village.

Jeb! The sheep! The fence pens, they do nothing still leak!

Posted
*snip long rantey crap*
That's what chunk loaders are for, use them.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

I assume Lex missed my synopsis of the problem in reading Keybounce's post.  What do you think the best way to address this issue is, Lex?  Should Forge make bed spawn tracking dimension aware?

Posted

Did a look into it and ya, it could be expanded to dimesion based.

I look forward to your PR ;)

Shouldn't be hard, just need to keep an array int he player read/write from nbt. Default to the normal system if a dimensional one is not found.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.