Commit Graph
81 Commits
Author SHA1 Message Date
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
gnembon 746c8548e9 22w16b with massive Component changes 2022-04-21 00:26:39 +02:00
gnembon 302a7b4817 fixes for 22w11a 2022-03-17 20:21:55 +01:00
altrisi 06af9ce8b1 Migrate the Carpet codebase to Mojang Mappings 2022-01-24 20:33:16 +01:00
gnembon dc25b617c1 Merge branch 'master' into future 2021-11-30 00:53:25 +01:00
gnembon 7a4c094607 fixes #1186 added carpetCommandPermissionLevel to allow admins to control who has access to /carpet command. 2021-11-29 23:27:54 +01:00
gnembon 4cdb1bae28 Merge branch 'master' into future
# Conflicts:
#	src/main/java/carpet/settings/SettingsManager.java
2021-11-17 20:49:05 +01:00
gnembon c5594812d4 1.4.54 2021-11-17 20:48:30 +01:00
gnembon 90964e2e57 1.18-pre4 2021-11-17 20:45:25 +01:00
Fallen_Breath 31da11dce6 Smart rule name auto-completion
Search in substrings only if no rule name starts with the query string
2021-11-17 00:38:09 +08:00
altrisi 7486670918 Report stack traces through the logger (#1050) 2021-10-11 03:37:30 -03:00
gnembon 736c10abe6 fixed completion 2021-10-11 05:30:39 -03:00
Fx Morin 7e04c9dc1d Better search through rules (#1119)
* Better search through rules

Changed carpets search from startsWith to Contains.
It's been annoying me for a long time now, the fact that you never remember the command name, but you remember something that was in it.

* Checking camelCase for contains
2021-10-11 01:58:45 -03:00
altrisi 7fb5e47da5 Use newer Java features in places where it makes sense and more (#1009) 2021-08-03 07:32:40 -03:00
gnembon 7d4eeb464b short circuit rules condition checking 2021-07-10 21:49:50 -03:00
RubixDev 9e86407323 Add condition argument to Rule annotation (#998) 2021-07-10 21:40:21 -03:00
gnembon c1c7313a99 empty suggested values won't show. Fixes #926 2021-06-25 23:01:42 -03:00
gnembon dbae5813f0 added framework for auto resource fetching for the apps 2021-05-21 22:31:02 -03:00
gnembon 544cf53fbf catching error when server is closing. 2021-03-18 00:39:54 -03:00
altrisi a0528ca7ed Add a way to load global configs 2020-11-29 17:34:31 +01:00
gnembon 209c3b9262 fixed issues with reload and missing command handler 2020-11-24 22:52:05 -04:00
gnembon a297fd1441 Scarpet rules can provide multinary boolean permission level, fixes #572 2020-11-23 02:35:01 -04:00
gnembon 3875a1708a Je ne mangerai pas 2020-11-16 09:47:01 -04:00
altrisiandgnembon ba1071a8d1 Javadocs, cleanup, extension's client rules, built-in BundledModules generators, etc (#544)
* Add javadocs to many methods

* Added built-in ways to generate BundledModules and documented them

* Add Eclipse launch files to .gitignore and fix 11 warnings

* Remove many unused imports

* Remove some dead and unused code around app loading

* Allow extensions to have client-side rules in their SettingsManager

Also change tabs to spaces when those changed

* Remove unnecessary classloader param in BundledModule

* Change max tickwarp duration to Integer.MAX_VALUE

* Move RulePrinter into the source so it can be managed by the IDE

* Properly reset hopperCounters when changing worlds

Also change tabs to spaces again and minor tweaks to javadocs

* Run mergedocs even if Full.md was modified

* Update src/main/java/carpet/commands/TickCommand.java

Co-authored-by: gnembon <41132274+gnembon@users.noreply.github.com>
2020-11-16 09:30:59 -04:00
gnembon 741edf1465 three things:
- logger is carpet, fixes #522
 - fixed fancy commands to functions - so could be used later with lambdas and functions that use different argument names
 - moved a few builtin apps to commands via /carpet
2020-11-03 04:45:08 -04:00
altrisi b9eee6e58b Allow rules to manage Scarpet apps (Scarpet Rules) (#519)
by altrisi
2020-11-02 21:52:21 -04:00
gnembon 8a2ddcbf2a 1.4.12 2020-10-01 14:14:01 -03:00
gnembon dcfdfbfff7 settings command sends now proper command feedback messages 2020-09-10 01:38:25 -03:00
gnembon 59a0f9e32d Merge branch 'master' into 1.16 2020-06-21 17:26:30 -03:00
gnembon 04c91e7311 confirmation when rule removed from conf 2020-06-21 17:26:12 -03:00
gnembon f29153c3d2 Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/CarpetSettings.java
#	src/main/java/carpet/script/CarpetScriptServer.java
#	src/main/java/carpet/script/bundled/Module.java
2020-06-07 01:59:15 -03:00
gnembon b3484fd012 fixed missing client side server references. fixes #311 2020-06-06 20:39:25 -03:00
gnembon c61429099a mappings 2020-06-04 15:59:46 -03:00
gnembon d6845487ce changes in 1.16 require to re-register commands after datapack reload. May affect extensions with custom CMs - doubt there is any. 2020-06-02 21:05:44 -03:00
gnembon 1c46393c4d Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/utils/Messenger.java
2020-05-31 02:54:14 -03:00
gnembon e540f9e238 carpet client synchronizations and protocols 2020-05-28 00:06:28 -03:00
gnembon 571a77ce64 Merge branch 'master' into 1.16
# Conflicts:
#	src/main/java/carpet/utils/Messenger.java
2020-05-26 14:44:50 -03:00
gnembon 2c777ea3ad fix client crash when accessing messenger 2020-05-26 14:44:06 -03:00
gnembon cf817c2e39 mappings 2020-05-21 14:23:04 -03:00
gnembon aabfda3797 Merge branch 'master' into 1.16 2020-05-15 20:00:55 -03:00
gnembon 74c62e5a13 simplified translations keys 2020-05-15 20:00:27 -03:00
gnembon 1e39f6caa8 updates to translations 2020-05-15 17:26:36 -03:00
X-Green 1f5b06daa2 Add Language Support For Carpet Settings (#267)
* Added language supports for carpet settings

use /set-carpet-language to set your language.

* Added zh_cn.json - in progress

Not accomplished yet, only translations for testing the language support.

* Create model_for_new_language.jsons.txt

* Rename model_for_new_language.jsons.txt to model_for_new_language.json

* Update model_for_new_language.json

* Update model_for_new_language.json

* Update and rename model_for_new_language.json to en_us.json

* Added setting CarpetLanguage

* Delete SetLanguageCommand.java

* Add files via upload

* Update SettingsManager.java

* Add files via upload

* Update LanguageUtils.java

* Update SettingsManager.java
2020-05-15 14:58:50 -03:00
gnembon f2e9a9de91 20w17a 2020-04-22 17:00:31 -03:00
gnembon 76080f1a59 20w14a 2020-04-02 23:38:19 -03:00
gnembon fe63334509 enabled some client side command interpretation. 2020-03-30 17:14:16 -03:00
gnembon 893122fe1f scarpet run() runs with scriptACE permissions. Fixes #175 2020-03-15 22:37:24 -03:00
gnembon c995716357 Merge branch 'master' into 1.15
# Conflicts:
#	src/main/java/carpet/fakes/StructureFeatureInterface.java
#	src/main/java/carpet/mixins/PistonBlock_movableTEMixin.java
2020-01-06 21:28:07 -04:00
gnembon 6ac249968a remove a few warnings 2020-01-06 21:26:44 -04:00
gnembon 8f9dd66cdf Merge branch 'master' into 1.15
# Conflicts:
#	src/main/java/carpet/mixins/BuriedTreasureGeneratorPieceMixin.java
#	src/main/java/carpet/mixins/ClientPlayerInteractionManager_ghostBlocksMixin.java
#	src/main/java/carpet/mixins/FossilFeatureMixin.java
#	src/main/java/carpet/mixins/GravityStructureProcessorMixin.java
#	src/main/java/carpet/mixins/IglooGeneratorPieceMixin.java
#	src/main/java/carpet/mixins/KelpFeatureMixin.java
#	src/main/java/carpet/mixins/MobEntity_leashMixin.java
#	src/main/java/carpet/mixins/OceanRuinGeneratorPieceMixin.java
#	src/main/java/carpet/mixins/PistonBlockEntityRenderer_movableTEMixin.java
#	src/main/java/carpet/mixins/PlayerEntity_horseFixMixin.java
#	src/main/java/carpet/mixins/PortalBlock_portalCachingMixin.java
#	src/main/java/carpet/mixins/PortalForcer_portalCachingMixin.java
#	src/main/java/carpet/mixins/SaplingBlockMixin.java
#	src/main/java/carpet/mixins/ServerPlayerInteractionManager_ghostBlocksMixin.java
#	src/main/java/carpet/mixins/ShipwreckGeneratorPieceMixin.java
#	src/main/java/carpet/mixins/SpawnHelperMixin.java
#	src/main/java/carpet/mixins/StructurePieceMixin.java
2019-12-10 23:14:04 -04:00