Comments (2)
Wouldn't it be entirely possible to take difference between the new and old values during stat updates and use that and the current tick rate to calculate the seconds elapsed and simply add that to the previous value. Would mean storing a normalised value and the actual value which adds a layer of complexity, but is the best solution I can think of without losing access to a value in seconds.
Would certainly be an issue when calculating after a long interval has passed if for instance multiple tickrate changes have been made, but shouldn't be too much of an issue if either the update interval is low enough or not many tickrate changes are made.
I don't see a survival server making changes to the tickrate in such a manner, unless it's for testing or for optimising server load.
from minecraftstats.
Optimising server load is precisely where I believe that people could use this, but only time will tell. Surely, admins won't be changing the tick rate all too frequently in a productive environment (that is, a server where people actually play and which is not just a server to test stuff).
Still, adding the mentioned layer of complexity is what I'd like to avoid. So far, MinecraftStats never needed to look back in history (other than explicitly for events), which allowed things to be done in a pretty elegant way. Whether the few time-based stats should change the entirety of how MinecraftStats processes data is questionable to me.
A tradeoff may be to store the server's tick rate in the summary (I would suppose that it can be extracted from level.dat
) and clients compute seconds from that. They would become invalid whenever the tick rate changes, but this would be the admin's responsibility.
After all, I think it is out of this project's scope to think of a clever handling. Mojang will have the very same issue, as they also have to deal with presenting time values in the achievements/stats UI ingame. The best solution would be for Mojang to not store ticks in the stats, but actual seconds. Surely this will be a bug report eventually (if there isn't one already), and maybe they will provide a solution of their own that MinecraftStats can simply adopt.
from minecraftstats.
Related Issues (20)
- Minecraft 1.20 HOT 1
- Distance ridden on camels is counted against horses
- Excluding players by name pattern
- Disabling stats in the plugin
- data → unpackWebFiles is ignored HOT 1
- JSON.parse: bad control character in string literal HOT 9
- BlueMap webserver support HOT 1
- serverName still being a bit weird HOT 6
- Events have invalid end date
- Error trying to parse BlueMap config in Paper HOT 4
- Active players JSON not generated when there are no players HOT 1
- Server motd with non-ascii characters can't be processed properly HOT 2
- Integrated Webserver for the Plugin HOT 2
- squaremap webserver support. HOT 1
- Subtract number of broken blocks from number of placed blocks HOT 2
- Awards with different Values HOT 1
- [Bug] java.lang.NoClassDefFoundError: net/skinsrestorer/api/SkinsRestorerAPI HOT 7
- Player name cannot be displayed properly using MultiLogin HOT 2
- Event winner not shown in summary HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minecraftstats.