Skip to content

Commit

Permalink
Replace bloodbone with venombone
Browse files Browse the repository at this point in the history
First step in replacing blood with a new concept
  • Loading branch information
KnightMiner committed Mar 17, 2024
1 parent e23b9c8 commit 5179e76
Show file tree
Hide file tree
Showing 274 changed files with 192 additions and 94 deletions.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"color": "E52323",
"color": "A2935E",
"fallbacks": [
"bone",
"rock"
Expand All @@ -24,27 +24,27 @@
"grey": 0
},
{
"color": "FF4A0000",
"color": "FF594607",
"grey": 63
},
{
"color": "FF5D0000",
"color": "FF685308",
"grey": 102
},
{
"color": "FF820000",
"color": "FF947818",
"grey": 140
},
{
"color": "FFA00000",
"color": "FF93834B",
"grey": 178
},
{
"color": "FFB80000",
"color": "FFA2935E",
"grey": 216
},
{
"color": "FFE82323",
"color": "FFC3AFA7",
"grey": 255
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,32 +27,6 @@
},
"trigger": "minecraft:inventory_changed"
},
"bloodbone": {
"conditions": {
"items": [
{
"type": "tconstruct:tool_stack",
"predicate": {
"type": "tconstruct:and",
"predicates": [
{
"type": "tconstruct:item",
"item_type": "mantle:set",
"items": [
"tconstruct:slime_helmet"
]
},
{
"type": "tconstruct:has_material",
"material": "tconstruct:bloodbone"
}
]
}
}
]
},
"trigger": "minecraft:inventory_changed"
},
"bone": {
"conditions": {
"items": [
Expand Down Expand Up @@ -364,6 +338,32 @@
]
},
"trigger": "minecraft:inventory_changed"
},
"venombone": {
"conditions": {
"items": [
{
"type": "tconstruct:tool_stack",
"predicate": {
"type": "tconstruct:and",
"predicates": [
{
"type": "tconstruct:item",
"item_type": "mantle:set",
"items": [
"tconstruct:slime_helmet"
]
},
{
"type": "tconstruct:has_material",
"material": "tconstruct:venombone"
}
]
}
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
Expand Down Expand Up @@ -399,7 +399,7 @@
"ender_pearl"
],
[
"bloodbone"
"venombone"
],
[
"string"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
},
"result": {
"item": "tconstruct:slime_helmet",
"nbt": "{Damage:0,tic_broken:0b,tic_materials:[\"tconstruct:bloodbone\"]}"
"nbt": "{Damage:0,tic_broken:0b,tic_materials:[\"tconstruct:venombone\"]}"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"tag": "forge:bones"
},
"cast_consumed": true,
"cooling_time": 50,
"cooling_time": 48,
"fluid": {
"amount": 250,
"tag": "tconstruct:blood"
"tag": "tconstruct:venom"
},
"result": "tconstruct:bloodbone"
"result": "tconstruct:venombone"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
"type": "tconstruct:material_fluid",
"fluid": {
"amount": 250,
"tag": "tconstruct:blood"
"tag": "tconstruct:venom"
},
"input": "tconstruct:bone",
"output": "tconstruct:bloodbone",
"temperature": 36
"output": "tconstruct:venombone",
"temperature": 10
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"type": "tconstruct:material",
"ingredient": {
"item": "tconstruct:bloodbone"
"item": "tconstruct:venombone"
},
"material": "tconstruct:bloodbone",
"material": "tconstruct:venombone",
"needed": 1,
"value": 1
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"craftable": true,
"hidden": false,
"sortOrder": 2,
"tier": 2
"redirect": [
{
"id": "tconstruct:venombone"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"craftable": true,
"hidden": false,
"sortOrder": 2,
"tier": 2
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"default": [
{
"level": 1,
"name": "tconstruct:raging"
"name": "tconstruct:antitoxin"
}
],
"perStat": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"type": "tconstruct:composable",
"level_display": "tconstruct:default",
"modules": [
{
"type": "tconstruct:conditional_melee_damage",
"formula": [
"$poison",
0.5,
"+",
"$level",
"*",
"$multiplier",
"*",
"$damage",
"+"
],
"percent": false,
"target": "mantle:any",
"variables": {
"poison": {
"type": "tconstruct:entity",
"effect": "minecraft:poison",
"entity_type": "tconstruct:effect_level",
"fallback": 0.0,
"which": "attacker"
}
}
},
{
"type": "tconstruct:conditional_stat",
"entity": "mantle:any",
"formula": [
"$poison",
0.5,
"+",
0.1,
"*",
"$level",
"*",
"$multiplier",
"*",
"$value",
"+"
],
"percent": false,
"stat": "tconstruct:draw_speed",
"variables": {
"poison": {
"type": "tconstruct:entity",
"effect": "minecraft:poison",
"entity_type": "tconstruct:effect_level",
"fallback": 0.0
}
}
}
],
"tooltip_display": "always"
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"percent_clamp",
"$level",
"*",
4.0,
3.0,
"*",
"$multiplier",
"*",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
"tconstruct:scorched_stone",
"tconstruct:slimewood",
"tconstruct:necrotic_bone",
"tconstruct:bloodbone",
"tconstruct:chain",
"tconstruct:nahuatl",
"tconstruct:cobalt",
Expand Down
1 change: 1 addition & 0 deletions src/main/java/slimeknights/tconstruct/TConstruct.java
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ private static void missingMappings(MissingMappingsEvent event) {
case "ichor_slime_sling" -> TinkerTools.ichorStaff.get();
case "ender_slime_sling" -> TinkerTools.enderStaff.get();
case "earth_slime_spawn_egg" -> Items.SLIME_SPAWN_EGG;
case "bloodbone" -> TinkerMaterials.venombone.get();
default -> null;
});
RegistrationHelper.handleMissingMappings(event, MOD_ID, Registry.ENTITY_TYPE_REGISTRY, name -> name.equals("earth_slime") ? EntityType.SLIME : null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ protected void generate() {
with.accept(MaterialIds.necroticBone);
with.accept(MaterialIds.rottenFlesh);
with.accept(MaterialIds.enderPearl);
with.accept(MaterialIds.bloodbone);
with.accept(MaterialIds.venombone);
with.accept(MaterialIds.string);
with.accept(MaterialIds.darkthread);
with.accept(MaterialIds.iron);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ protected void addTags() {
MaterialIds.wood, MaterialIds.flint, MaterialIds.rock, MaterialIds.bone,
MaterialIds.leather, MaterialIds.vine, MaterialIds.string,
// tier 2
MaterialIds.iron, MaterialIds.scorchedStone, MaterialIds.slimewood, MaterialIds.necroticBone, MaterialIds.bloodbone,
MaterialIds.iron, MaterialIds.scorchedStone, MaterialIds.slimewood, MaterialIds.necroticBone,
MaterialIds.chain,
// tier 3
MaterialIds.nahuatl, MaterialIds.cobalt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public final class TinkerMaterials extends TinkerModule {

// non-metal
public static final ItemObject<Item> necroticBone = ITEMS.register("necrotic_bone", TOOLTIP_ITEM);
public static final ItemObject<Item> bloodbone = ITEMS.register("bloodbone", TOOLTIP_ITEM);
public static final ItemObject<Item> venombone = ITEMS.register("venombone", TOOLTIP_ITEM);
public static final ItemObject<Item> blazingBone = ITEMS.register("blazing_bone", TOOLTIP_ITEM);
public static final ItemObject<Item> necroniumBone = ITEMS.register("necronium_bone", TOOLTIP_ITEM);
public static final FenceBuildingBlockObject nahuatl = BLOCKS.registerFenceBuilding("nahuatl", builder(Material.NETHER_WOOD, MaterialColor.PODZOL, SoundType.WOOD).requiresCorrectToolForDrops().strength(25f, 300f), GENERAL_BLOCK_ITEM);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -961,10 +961,6 @@ private void addCastingRecipes(Consumer<FinishedRecipe> consumer) {
// Slime
String slimeFolder = folder + "slime/";
this.slimeCasting(consumer, TinkerFluids.blood, false, SlimeType.BLOOD, slimeFolder);
ItemCastingRecipeBuilder.tableRecipe(TinkerMaterials.bloodbone)
.setFluidAndTime(TinkerFluids.blood, false, FluidValues.SLIMEBALL)
.setCast(Tags.Items.BONES, true)
.save(consumer, location(slimeFolder + "blood/bone"));
this.slimeCasting(consumer, TinkerFluids.earthSlime, true, SlimeType.EARTH, slimeFolder);
this.slimeCasting(consumer, TinkerFluids.skySlime, false, SlimeType.SKY, slimeFolder);
this.slimeCasting(consumer, TinkerFluids.enderSlime, false, SlimeType.ENDER, slimeFolder);
Expand Down Expand Up @@ -1176,6 +1172,10 @@ private void addCastingRecipes(Consumer<FinishedRecipe> consumer) {
.setCoolingTime(1)
.setCast(Items.GLASS_BOTTLE, true)
.save(consumer, location(folder + "venom_bottle"));
ItemCastingRecipeBuilder.tableRecipe(TinkerMaterials.venombone)
.setFluidAndTime(TinkerFluids.venom, false, FluidValues.SLIMEBALL)
.setCast(Tags.Items.BONES, true)
.save(consumer, location(slimeFolder + "venombone"));

// cheese
ItemCastingRecipeBuilder.tableRecipe(TinkerCommons.cheeseIngot)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public class ModifierIds {
// traits - tier 2
public static final ModifierId sturdy = id("sturdy");
public static final ModifierId scorching = id("scorching");
public static final ModifierId raging = id("raging");
public static final ModifierId antitoxin = id("antitoxin");
public static final ModifierId airborne = id("airborne");
// traits - tier 2 compat
public static final ModifierId dense = id("dense");
Expand All @@ -118,6 +118,9 @@ public class ModifierIds {
public static final ModifierId maintained = id("maintained");
public static final ModifierId ductile = id("ductile");

// unused for now, will be reassigned later
public static final ModifierId raging = id("raging");

// mob disguises
public static final ModifierId creeperDisguise = id("creeper_disguise");
public static final ModifierId endermanDisguise = id("enderman_disguise");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import slimeknights.tconstruct.library.json.variable.block.BlockVariable;
import slimeknights.tconstruct.library.json.variable.entity.AttributeEntityVariable;
import slimeknights.tconstruct.library.json.variable.entity.ConditionalEntityVariable;
import slimeknights.tconstruct.library.json.variable.entity.EntityEffectLevelVariable;
import slimeknights.tconstruct.library.json.variable.entity.EntityVariable;
import slimeknights.tconstruct.library.json.variable.melee.EntityMeleeVariable;
import slimeknights.tconstruct.library.json.variable.melee.EntityMeleeVariable.WhichEntity;
Expand Down Expand Up @@ -367,6 +368,21 @@ protected void addModifiers() {
.addModule(ConditionalMiningSpeedModule.builder().holder(LivingEntityPredicate.ON_GROUND.inverted()).percent().allowIneffective().flat(4), TinkerHooks.BREAK_SPEED)
// accuracy gets a 0.5 boost under the stricter version of in air (no boost just for being on a ladder)
.addModule(ConditionalStatModule.stat(ToolStats.ACCURACY).holder(TinkerLivingEntityPredicate.AIRBORNE).flat(0.5f));
buildModifier(ModifierIds.antitoxin)
.addModule(ConditionalMeleeDamageModule.builder()
.customVariable("poison", new EntityMeleeVariable(new EntityEffectLevelVariable(MobEffects.POISON), WhichEntity.ATTACKER, 0))
.formula()
// gives 1.5 bonus per level at poison 1, 2.5 at poison 2
.customVariable("poison").constant(0.5f).add().variable(LEVEL).multiply().variable(MULTIPLIER).multiply()
// finally, add in base damage
.variable(VALUE).add().build())
.addModule(ConditionalStatModule.stat(ToolStats.DRAW_SPEED)
.customVariable("poison", new EntityConditionalStatVariable(new EntityEffectLevelVariable(MobEffects.POISON), 0))
.formula()
// gives 0.15 bonus per level at poison 1, .25 at poison 2
.customVariable("poison").constant(0.5f).add().constant(0.1f).multiply().variable(LEVEL).multiply().variable(MULTIPLIER).multiply()
// finally, add in base damage
.variable(VALUE).add().build());
buildModifier(ModifierIds.raging)
.addModule(ConditionalMeleeDamageModule.builder()
.customVariable("health", new EntityMeleeVariable(EntityVariable.HEALTH, WhichEntity.ATTACKER, 0))
Expand All @@ -377,8 +393,8 @@ protected void addModifiers() {
.constant(10).customVariable("max_health").subtract().nonNegative().add()
// linear bonus from 2 to 8, max bonus below 2, no bonus above 8
.constant(10).subtractFlipped().constant(8).divide().percentClamp()
// get 4 bonus per level, bring in standard multiplier
.variable(LEVEL).multiply().constant(4).multiply().variable(MULTIPLIER).multiply()
// get 3 bonus per level, bring in standard multiplier
.variable(LEVEL).multiply().constant(3).multiply().variable(MULTIPLIER).multiply()
// finally, add in base damage
.variable(VALUE).add().build())
.addModule(ConditionalStatModule.stat(ToolStats.DRAW_SPEED)
Expand Down

0 comments on commit 5179e76

Please sign in to comment.