Commit
25baf8d67beb7914b13fa1a41cd9688aa73d1543
by KnightMinerDeduplicate code and ensure all ID variants have network and NBT methods as relevant
Technicaly there is a breaking change here with the removal of a method in pattern, but that method was broken so there is no way anyone was using it. The protected class from pattern being removed should not be a breaking change
|
| src/main/java/slimeknights/tconstruct/library/materials/stats/MaterialStatsId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/tools/stat/ToolStatId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/materials/definition/MaterialId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/materials/definition/MaterialVariantId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/ModifierId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/recipe/partbuilder/Pattern.java (diff) |
| src/main/java/slimeknights/tconstruct/library/utils/IdParser.java |
Commit
1e66c8f7201b6dd0e58072a2cb153c544a244b24
by KnightMinerImplement item predicates
Similar to ingredients, but does not require an item stack specifically making them a bit more general TODO: decide if I wish to move this to Mantle before the release, as they are as general as block predicates and I don't want to deprecate another thing
|
| src/main/java/slimeknights/tconstruct/library/json/predicate/block/SetBlockPredicate.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/item/ItemPredicate.java |
| src/main/java/slimeknights/tconstruct/shared/TinkerCommons.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/item/ItemSetPredicate.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/RegistrySetLoader.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/item/ItemTagPredicate.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/item/package-info.java |
Commit
f0e67dd7fcc1b9c7d03ac31323a0394fda87610b
by KnightMinerAdd in tool context predicates
Standard JSON predicate support, can check the tool's item, modifiers, etc. (basically all functionality that ToolPredicate had before and more). Will be used in some modifier stuff in the future. Replaces ToolPredicate via ToolStackItemPredicate
|
| src/generated/resources/data/tconstruct/advancements/tools/upgrade_slots.json (diff) |
| src/main/java/slimeknights/tconstruct/library/tools/context/ToolRebuildContext.java (diff) |
| src/main/java/slimeknights/tconstruct/library/tools/nbt/IToolStackView.java (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/material_master.json (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/HasModifierPredicate.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/ToolStackItemPredicate.java |
| src/main/java/slimeknights/tconstruct/library/tools/stat/StatPredicate.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/NestedLoader.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/package-info.java |
| src/main/java/slimeknights/tconstruct/library/tools/nbt/IToolContext.java (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/modified.json (diff) |
| src/main/java/slimeknights/tconstruct/library/tools/ToolPredicate.java (diff) |
| src/main/java/slimeknights/tconstruct/library/tools/stat/ToolStats.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/ToolContextPredicate.java |
| src/generated/resources/data/tconstruct/advancements/world/slimeskull.json (diff) |
| src/main/java/slimeknights/tconstruct/library/json/IntRange.java |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/ItemToolPredicate.java |
| src/main/java/slimeknights/tconstruct/common/data/AdvancementsProvider.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/HasMaterialPredicate.java |
| src/main/java/slimeknights/tconstruct/tools/TinkerTools.java (diff) |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/HasStatTypePredicate.java |
| src/generated/resources/data/tconstruct/advancements/smeltery/abilities.json (diff) |
Commit
42bcf6b3a5fbc745198b4bba61b5d83b00f98528
by KnightMinerAllow material variant IDs to match variantless materials
Basically, a material such as tconstruct:whitestone would not be matchable without also matching tconstruct:whitestone#end. Now you can use tconstruct:whitestone#default to match just tconstruct:whitestone. Its a bit of a special case under the assumption that no one will use the variant #default (since thats an odd variant name). May rethink this to be cleaner in 1.19.
|
| src/main/java/slimeknights/tconstruct/library/materials/definition/MaterialVariantId.java (diff) |
| src/main/java/slimeknights/tconstruct/library/materials/definition/MaterialVariantIdImpl.java (diff) |
Commit
3350452b41690521f7914320ad89e5cf3bd401e2
by KnightMinerSwitch to cleaner implementation of tool stat modules
Instead of a single module that magically detects the stat type, now uses two modules tconstruct:set_stat is used for harvest tiers and other similar stats; it just sets the value using the update method tconstruct:stat_boost is used for numeric stats; and now supports both flat and scaling values Both types support generalized tool predicates instead of item tags, and also support level range predicates on the modifier (e.g. have a stat bonus that kicks in after level 7) Removed dependency on ModifierStatBoost, making it easier to fully remove that. ScalingLevel is now called RandomLevelingValue to distinguish it from LevelingValue, and had "leveling" renamed to "per_level" (not part of a release, so non-breaking).
Taking advantage of flat stats, emerald, diamond, and netherite all are strictly no levels to simplify logic
|
| src/generated/resources/data/tconstruct/tinkering/modifiers/knockback_resistance.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/diamond.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/combat/MobEffectModule.java (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/power.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/sharpweight.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/ductile.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/build/ToolStatModule.java |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/behavior/RepairModule.java (diff) |
| src/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/cultivated.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/emerald.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/build/SetStatModule.java |
| src/main/java/slimeknights/tconstruct/library/json/LevelingValue.java |
| src/main/java/slimeknights/tconstruct/library/modifiers/dynamic/StatBoostModifier.java (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/quick_charge.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/ModifierModuleCondition.java |
| src/generated/resources/data/tconstruct/tinkering/modifiers/flexible.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/pierce.json (diff) |
| src/main/java/slimeknights/tconstruct/library/utils/ScalingValue.java |
| src/generated/resources/data/tconstruct/tinkering/modifiers/sticky.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/lightweight.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/sharpness.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/sturdy.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/modules/build/StatBoostModule.java |
| src/generated/resources/data/tconstruct/tinkering/modifiers/featherweight.json (diff) |
| src/main/java/slimeknights/tconstruct/tools/data/ModifierProvider.java (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/blindshot.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/heavy.json (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/swiftstrike.json (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/util/ModifierStatBoost.java (diff) |
| src/generated/resources/data/tconstruct/tinkering/modifiers/trueshot.json (diff) |
| src/main/java/slimeknights/tconstruct/library/json/RandomLevelingValue.java |
| src/generated/resources/data/tconstruct/tinkering/modifiers/netherite.json (diff) |
Commit
4d809a32470c3577a684ee72d10c1eadfcd86a7d
by KnightMinerImplement 3 new advancements to take advantage of tool stat predicates
Netherite Tier is a simple stat in set check, usng the harvest tiers stat One shot is a stat minimum check Perfect aim checks for an exact stat value, the maximum value Also update the abilities advancement for new abilities
|
| src/generated/resources/data/tconstruct/advancements/smeltery/abilities.json (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/one_shot.json |
| src/main/java/slimeknights/tconstruct/library/tools/stat/StatPredicate.java (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/netherite_tier.json |
| src/main/java/slimeknights/tconstruct/tools/TinkerTools.java (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/material_master.json (diff) |
| src/main/java/slimeknights/tconstruct/common/data/AdvancementsProvider.java (diff) |
| src/main/resources/assets/tconstruct/lang/en_us.json (diff) |
| src/generated/resources/data/tconstruct/advancements/tools/perfect_aim.json |
| src/main/java/slimeknights/tconstruct/library/json/predicate/tool/StatInSetPredicate.java |
|
| src/generated/resources/data/tconstruct/advancements/tools/material_master.json (diff) |
| src/main/java/slimeknights/tconstruct/common/data/AdvancementsProvider.java (diff) |
|
| src/main/java/slimeknights/tconstruct/library/tools/helper/ToolDamageUtil.java (diff) |
| src/main/java/slimeknights/tconstruct/library/modifiers/TinkerHooks.java (diff) |