GithubHelp home page GithubHelp logo

Player hunger about valence HOT 4 CLOSED

SelfMadeSystem avatar SelfMadeSystem commented on May 27, 2024
Player hunger

from valence.

Comments (4)

dyc3 avatar dyc3 commented on May 27, 2024

This sounds like implementing vanilla behavior, which is out of scope for valence. Is client behavior affected by this? In other words, does the client automatically update hunger and saturation without the server telling it to?

from valence.

SelfMadeSystem avatar SelfMadeSystem commented on May 27, 2024

This sounds like implementing vanilla behavior, which is out of scope for valence. Is client behavior affected by this? In other words, does the client automatically update hunger and saturation without the server telling it to?

The client does not automatically update hunger and saturation without the server telling it to, but there is also no way to tell the client about their own hunger right now either. In my opinion, I agree that implement behavior such as automatically decreasing food level when player runs, automatic regeneration, etc. is out of scope, but I also believe that just implement the basics so that it's usable by devs wouldn't be outside the scope.

If anything, from what I can tell, I would say that the current state of #558 is actually outside the scope of valence regarding implementing status effect behavior. If you also believe it to be the case, I'll remove the behaviour and ready it to be merged.

I would love to discuss further what precisely are the non-goals of valence, as it's not clear in the README. For example, what exactly do you consider to be "vanilla behavior"? Because there's a lot that valence is already doing that vanilla is also doing. I'd just like it to be a bit clearer. Thx :)

from valence.

dyc3 avatar dyc3 commented on May 27, 2024

"Vanilla behavior" is any behavior that is not client predicted. If something the client does would cause it to become out of sync with server state, valence needs to account for that so that it's capable of detecting it and correcting client state if desired by the user.

For example: the furnace crafting recipe is vanilla behavior, but the concept of a crafting recipe is not. Minecraft's terrain generation is vanilla behavior, but the concept of chunks is not.

So regarding potions, we only need to implement what's necessary to get the client to show the effect in the UI. We don't need to implement any of the actual effects unless the client makes state predictions that would invalidate the server's state.

An exception we have is "would having this behavior or feature make it easier for end users without limiting anything", which is evaluated case by case, based entirely on opinion.

from valence.

SelfMadeSystem avatar SelfMadeSystem commented on May 27, 2024

"Vanilla behavior" is any behavior that is not client predicted. If something the client does would cause it to become out of sync with server state, valence needs to account for that so that it's capable of detecting it and correcting client state if desired by the user.

For example: the furnace crafting recipe is vanilla behavior, but the concept of a crafting recipe is not. Minecraft's terrain generation is vanilla behavior, but the concept of chunks is not.

So regarding potions, we only need to implement what's necessary to get the client to show the effect in the UI. We don't need to implement any of the actual effects unless the client makes state predictions that would invalidate the server's state.

An exception we have is "would having this behavior or feature make it easier for end users without limiting anything", which is evaluated case by case, based entirely on opinion.

Alright, thanks for the clarification. I'll remove the potion stuff then and make it ready for merging then. I'll keep this issue open.

from valence.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.