Commit Graph
46 Commits
Author SHA1 Message Date
gnembon c7d506675e 23w03a 2023-01-18 22:11:19 +01:00
Sensei 059fda49a4 Make client net handling run on main thread 2022-10-10 20:30:25 +02:00
gnembon 6d3c4fa508 1.19.1-rc2 2022-07-22 18:25:43 +02:00
altrisi 0a972d6c56 Settings rework and encapsulation (#1330)
* Settings rework and encapsulation

* Settings overhaul 3

Move everything in the new system to a new API package

Require rules using the new system to specify descriptions in their translation files

Implement temporary system on top of current translations to allow that to work properly

* Fix getRules fallback

* Final touches to settings refactor

* Mention that set shouldn't throw and remove comment

* Change translation keys to unify with translation PR

* Deprecate printAllRulesToLog to allow using any PrintStream

* Remove restriction of CarpetRules being Comparable

And fix overreaction in a deprecation message

* Bring back user input to rule observers

* Make Validator deprecation warning not spam on use

* Remove unneeded abstract methods in CarpetRule already inherited from CarpetRule

They literally do nothing, don't even force them to be implemented, and may be confusing as to why they're there or as if they are needed to be implemented

* Fix legacy SettingsManager field not being assigned correctly

* Finish fixing conflicts from future merge

* Actually fix remaining conflicts from future merge (missing imports)

* Import the newer rule in SettingsManager

* Refactor Validators

* Don't spam deprecation warnings on custom managers

* Get out the var

* Fix missing warning in old rule observers

* Update src/main/java/carpet/api/settings/Rule.java

* Remove `@ApiStatus.Experimental` annotations

* Fix incorrect `@deprecated` javadoc tags

By removing them given the class is deprecated anyway and else there's too much noise

* Add missing static import

* Remove TypedField and use a regular field

I liked that class tbh, but it's true that it wasn't really needed

* Move `field` assignment out of for removal

* Fix not following contract of `type()` returning boxed value

Previously handled by TypedField

* Fix few incorrect translation keys

* Remove resaving of comments when saving config files

Comments ignoring is still a thing when reading, so `locked` configs for example will keep comments

* Condense rule load messages in one

* Only print loaded settings message when at least one setting was changed

* Fix legacy validator detector

* Tweak and add more context to response to invalid values

* Fix strict validator not actually erroring on invalid input
2022-06-27 13:12:15 +02:00
altrisi f18cfb09d2 Fix more warnings and do some small optimizations (#1356)
* Fix more warnings and do some small optimizations

* Fix more warnings in ValueConversions

* Clean up some decompiler names and fix an unnecessary transformation around commands

* Use (way) more compact data structure for slot map

* Minor tweaks
Such as map directly in the collector

* I hate vanilla javac
Revert map changes in latest commit
2022-05-27 19:43:45 +02:00
gnembon 746c8548e9 22w16b with massive Component changes 2022-04-21 00:26:39 +02:00
altrisi 06af9ce8b1 Migrate the Carpet codebase to Mojang Mappings 2022-01-24 20:33:16 +01:00
gnembon b082de1071 Merge branch 'master' into 1.17 2021-05-28 13:37:33 -03:00
gnembon 15f7d52b4c server closing for SP is signalled too late. 2021-05-28 13:37:04 -03:00
gnembon 95d8c5fd90 Merge branch 'master' into 1.17 2021-05-22 22:14:43 -03:00
gnembon fb4c40c951 separated properly client disconnect from server shutdown allowing for retaining carpet settings till world is gone. Fixes #854 2021-05-22 22:14:16 -03:00
gnembon 4b85bdcb86 merge errors 2021-04-19 23:48:55 -03:00
gnembon 709d74ea47 Merge branch 'master' into 1.17
# Conflicts:
#	src/main/java/carpet/network/ServerNetworkHandler.java
#	src/main/java/carpet/script/utils/SnoopyCommandSource.java
2021-04-19 23:42:38 -03:00
gnembon ba89d0164f handling snooped commands properly 2021-04-19 23:40:22 -03:00
gnembon 8f2c935fe6 Merge branch 'master' into 1.17
# Conflicts:
#	src/main/java/carpet/network/ClientNetworkHandler.java
#	src/main/resources/assets/carpet/scripts/ai_tracker.sc
2021-04-17 01:37:40 -03:00
gnembon 4e5184009d incorrect carpet data shoudn't crash the client. Fixes #812 2021-04-17 00:35:47 -03:00
gnembon 8054e0336d mapping 2021-04-06 23:52:20 -03:00
gnembon 9b9251190b Merge branch 'master' into 1.17
# Conflicts:
#	src/main/java/carpet/network/ClientNetworkHandler.java
#	src/main/java/carpet/script/utils/ShapesRenderer.java
2021-04-06 00:44:16 -03:00
gnembon 647a3a15b6 profiler rework 2021-04-06 00:41:12 -03:00
gnembon b49b99aea6 21w11a mappings 2021-03-31 19:20:44 -03:00
gnembon ab553187c5 its a doozie 2021-03-24 10:35:52 -03:00
gnembon 0a45778e4a scarpet and carpet close handler now triggers with players still online in SP 2021-02-08 18:06:49 -04:00
altrisi 6d3ac93e4c Use setters and getters for frozen state, separate superHot and
don't tick regular tick events
2020-12-29 16:00:07 +01:00
altrisi 33347baaf7 Freezing Scarpet
And the client
2020-12-21 00:14:20 +01:00
gnembon 259bdc2c94 ability to query client brand and server scarpet version. 2020-12-02 22:36:20 -04:00
altrisi 29dfae0e57 Fix being unable to identify own manager 2020-11-29 03:45:03 +01:00
altrisi b4ac2c85e4 Reimplement extension sync according to suggestions 2020-11-29 02:51:01 +01:00
altrisi 39bfb51992 The tabs to spaces... yet again 2020-11-22 12:22:56 +01:00
altrisi 5bb6862a53 Make extension's rules get properly synced with clients 2020-11-22 12:07:07 +01:00
gnembon 43329a140b fix 2020-06-14 01:40:44 -03:00
gnembon 80ca80fe24 Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/network/ServerNetworkHandler.java
#	src/main/java/carpet/script/CarpetExpression.java
2020-06-14 01:25:58 -03:00
gnembon fff3ccf3f6 backbone for client API commands with test 2020-06-12 22:46:41 -03:00
gnembon b6a5cc5e8c Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/script/utils/ShapeDispatcher.java
2020-06-10 23:21:19 -03:00
gnembon 39f0b86272 fixes 2020-06-10 23:20:21 -03:00
gnembon 9aa580cfa5 Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/script/CarpetExpression.java
#	src/main/java/carpet/script/utils/ShapeDispatcher.java
#	src/main/java/carpet/script/utils/ShapesRenderer.java
2020-06-10 01:36:11 -03:00
gnembon 2f102a7785 Switched to 64FNV-1a as shapes keying algorithm as collision resistant
Allow shapes to be sent in bulk as one / few packets
Optimized rendering of shapes that not render all faces
Moving shapes render now smoothly with higher framerates
2020-06-08 21:24:56 -03:00
gnembon 1a3d5aa223 Merge branch 'master' into 1.16 2020-06-04 12:54:30 -03:00
gnembon 1c3d017e01 keeping versions of connected clients 2020-06-04 12:52:36 -03:00
gnembon bf2d412a66 Merge branch 'master' into 1.16 2020-06-03 03:47:55 -03:00
gnembon 46409c8daa added optional options for draw_shape and fixed docs 2020-06-02 11:58:14 -03:00
gnembon f97ca9e9bd mappings 2020-06-01 03:25:09 -03:00
gnembon d5cb99d7f9 Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/network/ClientNetworkHandler.java
#	src/main/java/carpet/script/CarpetExpression.java
#	src/main/java/carpet/script/utils/ShapeDispatcher.java
#	src/main/java/carpet/script/utils/ShapesRenderer.java
2020-06-01 03:05:23 -03:00
gnembon a86c127c72 added params and changed syntax for draw_shape 2020-06-01 03:01:39 -03:00
gnembon 0b22359f8c mappings 2020-05-31 03:18:40 -03:00
gnembon 47452b5b12 added marker lines and boxes with client synchro fixes. 2020-05-31 01:57:04 -03:00
gnembon e540f9e238 carpet client synchronizations and protocols 2020-05-28 00:06:28 -03:00