Skip to content

Commit

Permalink
Modifier data tweaks
Browse files Browse the repository at this point in the history
Stringy now uses the material instead of hardcoded to string (allows repair kits)
Knockback now caps at 3 levels
Severing now caps at 3 (5 on cleavers). Luck now multiplier on top of severing instead of a flat boost
Zoom now is a bit cheaper, as its an upgrade (3 components instead of 5)
Iron now uses magnetic as a trait instead of sturdy
Lightweight on bows is a bit weaker (was a kinda OP trait before)
  • Loading branch information
KnightMiner committed Apr 27, 2023
1 parent 1dfaba0 commit 39f2b20
Show file tree
Hide file tree
Showing 12 changed files with 22 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
{
"type": "tconstruct:crafting_modifier_repair",
"type": "tconstruct:crafting_modifier_material_repair",
"modifier": "tconstruct:stringy",
"ingredient": {
"tag": "forge:string"
},
"repair_amount": 25
"repair_material": "tconstruct:string"
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
{
"type": "tconstruct:modifier_repair",
"type": "tconstruct:modifier_material_repair",
"modifier": "tconstruct:stringy",
"ingredient": {
"tag": "forge:string"
},
"repair_amount": 25
"repair_material": "tconstruct:string"
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
"name": "tconstruct:knockback",
"level": 1
},
"max_level": 5
"max_level": 3
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@
"name": "tconstruct:severing",
"level": 1
},
"max_level": 5
"max_level": 3
}
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
{
"type": "tconstruct:modifier",
"inputs": [
{
"item": "minecraft:spyglass"
},
{
"tag": "forge:string"
},
{
"item": "minecraft:spyglass"
},
{
"tag": "forge:dusts/redstone"
},
{
"tag": "forge:dusts/redstone"
"tag": "forge:string"
}
],
"tools": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"default": [
{
"name": "tconstruct:sturdy",
"name": "tconstruct:magnetic",
"level": 1
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
{
"stat": "tconstruct:draw_speed",
"type": "multiply_base",
"value": 0.05
"value": 0.03
},
{
"stat": "tconstruct:velocity",
"type": "multiply_base",
"value": 0.05
"value": 0.03
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ protected void addModifiers() {
addModifier(ModifierIds.lightweight, StatBoostModifier.builder()
.multiplyBase(ToolStats.ATTACK_SPEED, 0.07f)
.multiplyBase(ToolStats.MINING_SPEED, 0.07f)
.multiplyBase(ToolStats.DRAW_SPEED, 0.05f)
.multiplyBase(ToolStats.VELOCITY, 0.05f)
.multiplyBase(ToolStats.DRAW_SPEED, 0.03f)
.multiplyBase(ToolStats.VELOCITY, 0.03f)
.build());
// traits - tier 3 compat
addModifier(ModifierIds.ductile, StatBoostModifier.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ private void addItemRecipes(Consumer<FinishedRecipe> consumer) {

// modifier repair
// stringy - from string
ModifierRepairRecipeBuilder.repair(ModifierIds.stringy, Ingredient.of(Tags.Items.STRING), 25)
.buildCraftingTable(consumer, wrap(ModifierIds.stringy, folder, "_crafting_table"))
.save(consumer, wrap(ModifierIds.stringy, folder, "_tinker_station"));
ModifierMaterialRepairRecipeBuilder.repair(ModifierIds.stringy, MaterialIds.string)
.saveCraftingTable(consumer, wrap(ModifierIds.stringy, folder, "_crafting_table"))
.save(consumer, wrap(ModifierIds.stringy, folder, "_tinker_station"));
// pig iron - from bacon, only in the tinker station
ModifierRepairRecipeBuilder.repair(TinkerModifiers.tasty, Ingredient.of(TinkerCommons.bacon), 25)
.save(consumer, prefix(TinkerModifiers.tasty, folder));
Expand Down Expand Up @@ -366,7 +366,7 @@ private void addModifierRecipes(Consumer<FinishedRecipe> consumer) {
ModifierRecipeBuilder.modifier(TinkerModifiers.knockback)
.addInput(Items.PISTON)
.addInput(TinkerWorld.slime.get(SlimeType.EARTH))
.setMaxLevel(5) // max +2.5 knockback points (knockback 5) (whatever that number means in vanilla)
.setMaxLevel(3) // max +2.5 knockback points (knockback 5) (whatever that number means in vanilla)
.setSlots(SlotType.UPGRADE, 1)
.setTools(TinkerTags.Items.MELEE)
.saveSalvage(consumer, prefix(TinkerModifiers.knockback, upgradeSalvage))
Expand All @@ -385,7 +385,7 @@ private void addModifierRecipes(Consumer<FinishedRecipe> consumer) {
.addInput(Items.LIGHTNING_ROD)
.addInput(TinkerTags.Items.WITHER_BONES)
.addInput(Items.TNT)
.setMaxLevel(5) // max +25% head drop chance, combine with +15% chance from luck
.setMaxLevel(3) // max +25% head drop chance, combine with +15% chance from luck
.setSlots(SlotType.UPGRADE, 1)
.setTools(TinkerTags.Items.MELEE_OR_UNARMED)
.saveSalvage(consumer, prefix(TinkerModifiers.severing, upgradeSalvage))
Expand Down Expand Up @@ -863,11 +863,9 @@ private void addModifierRecipes(Consumer<FinishedRecipe> consumer) {
// helmet
ModifierRecipeBuilder.modifier(TinkerModifiers.zoom)
.setTools(ingredientFromTags(TinkerTags.Items.HELMETS, TinkerTags.Items.INTERACTABLE_RIGHT))
.addInput(Items.SPYGLASS)
.addInput(Tags.Items.STRING)
.addInput(Items.SPYGLASS)
.addInput(Tags.Items.DUSTS_REDSTONE)
.addInput(Tags.Items.DUSTS_REDSTONE)
.addInput(Tags.Items.STRING)
.setSlots(SlotType.UPGRADE, 1)
.setMaxLevel(1)
.saveSalvage(consumer, prefix(TinkerModifiers.zoom, upgradeSalvage))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ protected void addMaterialTraits() {
addDefaultTraits(MaterialIds.vine, TinkerModifiers.solarPowered);

// tier 2
addDefaultTraits(MaterialIds.iron, ModifierIds.sturdy);
addDefaultTraits(MaterialIds.iron, TinkerModifiers.magnetic);
addDefaultTraits(MaterialIds.copper, TinkerModifiers.dwarven);
addDefaultTraits(MaterialIds.searedStone, TinkerModifiers.searing);
addDefaultTraits(MaterialIds.slimewood, TinkerModifiers.overgrowth, TinkerModifiers.overslime);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ public List<ItemStack> processLoot(IToolStackView tool, int level, List<ItemStac
// find proper recipe
List<SeveringRecipe> recipes = SeveringRecipeCache.findRecipe(context.getLevel().getRecipeManager(), entity.getType());
if (!recipes.isEmpty()) {
// 5% chance per level, bonus 5% per level of looting
float chance = (level + context.getLootingModifier()) * 0.05f;
// 5% chance per level, each luck level adds an extra 1% per severing level
float chance = (level) * (0.05f + 0.01f * context.getLootingModifier());
// double chance for mobs such as ender dragons and the wither
if (entity.getType().is(TinkerTags.EntityTypes.RARE_MOBS)) {
chance *= 2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"modifier_id": "tconstruct:severing",
"text": [
{
"text": "Grants a 5% chance per level (plus an extra 5% per level of luck) for a mob to drop its head or other body parts. Against rare mobs such as bosses, the chance is doubled."
"text": "Grants a 5% chance per level for a mob to drop its head or other body parts. Luck adds an extra 1% chance per luck level times severing level. Against rare mobs such as bosses, the chance is doubled."
}
],
"more_text_space": true,
Expand Down

0 comments on commit 39f2b20

Please sign in to comment.