-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
effect manager #64
base: master
Are you sure you want to change the base?
effect manager #64
Conversation
pythoncoder1234
commented
Jan 22, 2025
•
edited
Loading
edited
- installed new library: fastutil
- faster versions of java collections
- effect manager to manage attributes and status effects
- optimized effect managing using hashmaps and
- get/set attribute/status effect methods have been moved to effect manager
- call movable.em().function() to access
- most of these changes were from refactoring the above, i promise there aren't that many changes
Signed-off-by: pythoncoder1234 <[email protected]>
Signed-off-by: pythoncoder1234 <[email protected]>
Signed-off-by: pythoncoder1234 <[email protected]>
I think he kinda wanted to use the one he wrote in cs class... we'll see. Also the performance boost is not just a few percent, especially since the collections avoid unboxing where possible it saves a ton of memory and improves performance. |
I got it to crash in arcade mode multiplayer
|
Signed-off-by: pythoncoder1234 <[email protected]>
.github/workflows/check.yml
Outdated
with: | ||
lfs: true | ||
|
||
- name: Cache Gradle |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the Cache Gradle action for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's supposed to cache the gradle distribution... not 100% sure it works yet. It seems to be building faster but I'm not sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think gradle caching does anything. That is because github actions start each action in a new container, so we compile and cache with gradle, but never revisit the cache.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
my codeql builds run in less than a minute, faster than runs on the master branch here which take 2-3m. I seem to be doing something right...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This action took 45 s to build, and it does not have caching enabled. I think that it might be a bit random tbh.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it’s probably proportional to the number of classes changed then
What is the advantage of this system over the old one? |
|
Signed-off-by: pythoncoder1234 <[email protected]>
Signed-off-by: pythoncoder1234 <[email protected]>
Signed-off-by: pythoncoder1234 <[email protected]>
I don't think your changes to the Compatibility class allow the class to do what it is designed to do. What you have done is generalized the function to convert a boolean into a TanksONable, however, you failed to consider other cases which may require more specific special cases. An example would be to take an integer value, and convert it to an object where the integer value may be a single value within the new object. Additionally, you outright remove the code that would enable different fields to be renamed and have their values carried over between game versions. This compatibility subsystem needs to be "future proof" to some degree and be able to expand over time. If you disagree with the design of a system, you should propose an alternative design first so as to not accidentally remove functionality from an existing system. |
This pull request does not have anything to do with compatibility so I don't know why that's included here. If you wish to PR compatibility, please make a separate pull request. Thanks. |
This reverts commit 1c32926.
whoops reverted it |