Commit Graph
232 Commits
Author SHA1 Message Date
altrisi 2a4d678aa7 Remove the last few File usages
Barring one, given I've heard in hot code `Files.exists()` is slower than toFile().exists() if in the default `FileSystem`
2022-08-28 18:34:39 +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
gnembon 40af4f2200 1.4.78 for 1.19-pre5 2022-06-01 21:58:32 +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
altrisi a60bc386cb Refactor Module into a single record type and fix system globals (#1383) 2022-05-17 20:11:49 +02:00
gnembon 1a6b1df534 22w19a 2022-05-13 11:26:47 +02:00
gnembon 746c8548e9 22w16b with massive Component changes 2022-04-21 00:26:39 +02:00
altrisi 76861479e0 Add support for formatted names in create_marker (#1413) 2022-04-20 13:01:58 +02:00
gnembon 812d361af2 22w14a 2022-04-06 22:16:05 +02:00
gnembon ef3e71b9b6 22w13a 2022-03-31 20:23:49 +02:00
gnembon 842370f68d Merge branch 'master' into future
# Conflicts:
#	src/main/java/carpet/script/api/Auxiliary.java
2022-03-30 07:49:07 +02:00
gnembon c33c53c8c2 enable_hidden_dimensions is ded :( 2022-03-30 07:44:37 +02:00
gnembon ab07a6807a 22w12a 2022-03-24 21:48:29 +01:00
gnembon 2743908887 use proper registires, still issues. 2022-03-24 21:20:19 +01:00
gnembon 7c353d40f8 Merge branch 'master' into future 2022-03-24 21:18:53 +01:00
gnembon d1f3886845 use proper registires, still issues. 2022-03-24 21:18:32 +01:00
gnembon cd1854a734 Merge branch 'master' into future 2022-03-23 18:21:45 +01:00
gnembon aab3de671e add reload resources after reload, still not fixing the issues 2022-03-23 18:21:15 +01:00
gnembon 679045b289 Merge branch 'master' into future
# Conflicts:
#	src/main/java/carpet/script/api/Auxiliary.java
2022-03-21 21:19:35 +01:00
gnembon f213a79639 adapt to 1.18.2 for enable dimensions fix 2022-03-21 21:14:20 +01:00
gnembon c4ab2467ba fixes biomes not saving fixes #1322 2022-03-20 15:16:31 +01:00
gnembon f4bccfb594 fix 2022-03-18 16:45:47 +01:00
gnembon 7003ea8cf0 Merge branch 'master' into future
# Conflicts:
#	src/main/java/carpet/helpers/FeatureGenerator.java
2022-03-18 16:42:44 +01:00
gnembon 6ed33ecc50 structures save to world, fixes #1346, attempt to fix biome and dimension recreation, but the other ones need more testing. 2022-03-18 16:41:21 +01:00
gnembon 302a7b4817 fixes for 22w11a 2022-03-17 20:21:55 +01:00
altrisi 1f0c609dc0 Remove log4j as much as possible (#1334) 2022-02-22 01:35:56 +01:00
altrisi b1c934da28 Fix a few IDE warnings (#1345) 2022-02-20 19:16:12 +01:00
gnembon c01ad9ce9d 1.18.2-pre 2022-02-20 01:50:46 +01:00
gnembon fa1e6ce086 22w07a
- disabled "sample_noise"
2022-02-16 22:23:52 +01:00
gnembon aaea11d82d removed ability to query for entire system_info in one go. 2022-02-16 00:25:35 +01:00
altrisi 53f456320c Implement missing method in BlockValue.PlacementContext to fix exceptions in place_item (#1329) 2022-02-16 00:03:44 +01:00
gnembon 212814f46d 22w06a 2022-02-10 03:15:53 +01:00
gnembon 695b569977 remove instanceof NullValues fixes #1313 2022-02-06 00:18:42 +01:00
FX - PR0CESS a547677597 Migrate Carpet Mixin names to mojang mappings 2022-01-28 16:47:18 -05:00
altrisi 06af9ce8b1 Migrate the Carpet codebase to Mojang Mappings 2022-01-24 20:33:16 +01:00
gnembon f469810fbc 22w03a 2022-01-20 00:20:52 +01:00
gnembon eb186fb61e Merge branch 'master' into future 2022-01-13 00:04:32 +01:00
ch-yx 1485e8978b Update create_datapack (#1227) 2022-01-13 00:00:09 +01:00
gnembon 74f6e57edc Merge branch 'master' into future 2022-01-12 22:53:45 +01:00
replaceitemandreplaceitem 3f6ddc43e5 Added screen handler system (#888)
* Added screen handler value

* Added screen handler constructor and function to show to player

* Made inventory_* functions work with screen handlers

* Event callbacks and some refactoring

* Exception if screen has no inventory

* Fixed NPE

* Close screen when null

* Added screen_property

* UNKNOWN_SCREEN throwable

* Fix error when not specifying click callback

* Access to non-container screen handler slots via the inventory_* functions

* Change lectern page

* Added button event

* Added 'close' event and refactoring callback

* Beacon and Brewing screens

* Cartography table screen

* Crafting screen

* Enchantment screen

* Grindstone

* Loom

* Merchant

* Shulkerbox

* Smithing table

* Stonecutter

* Use strings as screen type instead of ScreenHandlerType

* Remove support for multiple players

* Combining create_screen and open_screen and refactoring

* Allow modifying cursor stack

* Cleanup

* Docs

* Added multiple screen examples

* Rename to screen

* Added smoker and blast furnace

* Serialize screen content

* Store host name instead of context

* Add button value special cases to docs

* Spelling and grammar fixes by @James103

* Optimize screen inventory access

* Use -1 for slot click outside the screen

* As boolean, ScreenValue equals isOpen

* Revert "Use -1 for slot click outside the screen"

This reverts commit 68c113e71bb653191cedf4cc356ab7705838dc25.

* Rework of callback function

* Improve screen functionality with drop_item

* Editor keywords

* Only check syncId

* slot_update event callback

* Screem typo

* Mistake

* toTag returns "null" NBT for  closed screen

* Use null for slot index of -999

Co-authored-by: replaceitem <replaceitem.mc@gmail.com>
2022-01-12 22:52:38 +01:00
gnembon 529a5b358d Merge branch 'master' into future
# Conflicts:
#	gradle.properties
#	src/main/java/carpet/script/annotation/AnnotationParser.java
#	src/main/java/carpet/script/utils/BiomeInfo.java
#	src/main/resources/fabric.mod.json
2022-01-11 23:44:52 +01:00
altrisi 8a278e46de Fix deprecated last_tick_times (#1265) 2022-01-09 00:08:55 +01:00
altrisi 8f265f4e52 Improve performance of player() related methods (#1240) 2022-01-08 23:11:10 +01:00
altrisi de305f4284 Allow apps to retrieve information about the source (#1229)
* Give information about the sources

* Document source related system_info properties
2022-01-08 21:08:26 +01:00
gnembon 74e177d18d renamed query_noise to sample_noise 2021-11-30 02:52:55 +01:00
Crec0 aa57b586cb Multi noise support for scarpet (#1176)
* fix: infinite params bug in AnnotationParser
feat: scarpet function query_noise()

* refactor: remove Method reflection

* fix: use BiomeCoords

* update: game version to 1.18-pre5

* feat: biome lookup from multinoise
fix: noise lookup wrongly scaled

* fix: jagged noise. Thanks, @Starmute

* fix: cave cheese and layer. Thanks, @Starmute

* fix: revert formatting
fix: caveLayer and caveCheese
feat: add terrain support

* more formatting reverts

* fix mapping issue

* use BlockPos

* docs: add documentation for query_noise

* docs: add documentation for biome(noise_map)
2021-11-30 02:47:28 +01:00
gnembon 3312c00ee8 Merge branch 'master' into future 2021-11-27 22:22:38 +01:00
gnembon 339633f1f0 fixes #1103 game will close peacefully when running ticks from scarpet 2021-11-27 21:14:59 +01:00
gnembon adaf19170d mappings 2021-11-16 21:08:26 +01:00