Skip to content

Commit

Permalink
Added compat for wall jump, cyclic, and ensorcellation enchants
Browse files Browse the repository at this point in the history
  • Loading branch information
KnightMiner committed Jan 4, 2023
1 parent 18ae87a commit 1c40af4
Show file tree
Hide file tree
Showing 23 changed files with 318 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:auto_smelt",
"required": false
},
{
"id": "ensorcellation:smelting",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:launch",
"required": false
},
{
"id": "walljump:doublejump",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"replace": false,
"values": [
{
"id": "cyclic:excavate",
"required": false
},
{
"id": "ensorcellation:excavating",
"required": false
},
{
"id": "ensorcellation:furrowing",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:experience_boost",
"required": false
},
{
"id": "ensorcellation:exp_boost",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:damage_illager",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "cyclic:steady",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:hunter",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:magic_protection",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "cyclic:magnet",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:multishot",
"required": false
},
{
"id": "ensorcellation:volley",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:life_leech",
"required": false
},
{
"id": "ensorcellation:leech",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:reach",
"required": false
},
{
"id": "ensorcellation:reach",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:vitality",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replace": false,
"values": [
{
"id": "cyclic:beheading",
"required": false
},
{
"id": "ensorcellation:vorpal",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:soulbound",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "cyclic:step",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:tilling",
"required": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
{
"id": "ensorcellation:trueshot",
"required": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,23 @@
"minecraft:infinity": "tconstruct:crystalshot",
"minecraft:multishot": "tconstruct:multishot",
"minecraft:quick_charge": "tconstruct:quick_charge",
"minecraft:piercing": "tconstruct:impaling"
"minecraft:piercing": "tconstruct:impaling",
"#tconstruct:modifier_like/experienced": "tconstruct:experienced",
"#tconstruct:modifier_like/killager": "tconstruct:killager",
"#tconstruct:modifier_like/magnetic": "tconstruct:magnetic",
"#tconstruct:modifier_like/necrotic": "tconstruct:necrotic",
"#tconstruct:modifier_like/severing": "tconstruct:severing",
"#tconstruct:modifier_like/step_up": "tconstruct:step_up",
"#tconstruct:modifier_like/soulbound": "tconstruct:soulbound",
"#tconstruct:modifier_like/trueshot": "tconstruct:trueshot",
"#tconstruct:modifier_like/knockback_resistance": "tconstruct:knockback_resistance",
"#tconstruct:modifier_like/magic_protection": "tconstruct:magic_protection",
"#tconstruct:modifier_like/revitalizing": "tconstruct:revitalizing",
"#tconstruct:modifier_like/autosmelt": "tconstruct:autosmelt",
"#tconstruct:modifier_like/double_jump": "tconstruct:double_jump",
"#tconstruct:modifier_like/expanded": "tconstruct:expanded",
"#tconstruct:modifier_like/luck": "tconstruct:luck",
"#tconstruct:modifier_like/multishot": "tconstruct:multishot",
"#tconstruct:modifier_like/reach": "tconstruct:reach",
"#tconstruct:modifier_like/tilling": "tconstruct:tilling"
}
4 changes: 3 additions & 1 deletion src/main/java/slimeknights/tconstruct/TConstruct.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import slimeknights.tconstruct.common.data.tags.BiomeTagProvider;
import slimeknights.tconstruct.common.data.tags.BlockEntityTypeTagProvider;
import slimeknights.tconstruct.common.data.tags.BlockTagProvider;
import slimeknights.tconstruct.common.data.tags.EnchantmentTagProvider;
import slimeknights.tconstruct.common.data.tags.EntityTypeTagProvider;
import slimeknights.tconstruct.common.data.tags.FluidTagProvider;
import slimeknights.tconstruct.common.data.tags.ItemTagProvider;
Expand Down Expand Up @@ -141,9 +142,10 @@ static void gatherData(final GatherDataEvent event) {
datagenerator.addProvider(new FluidTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new EntityTypeTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new BlockEntityTypeTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new BiomeTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new EnchantmentTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new TConstructLootTableProvider(datagenerator));
datagenerator.addProvider(new AdvancementsProvider(datagenerator));
datagenerator.addProvider(new BiomeTagProvider(datagenerator, existingFileHelper));
datagenerator.addProvider(new GlobalLootModifiersProvider(datagenerator));
//datagenerator.addProvider(new StructureUpdater(datagenerator, existingFileHelper, MOD_ID, PackType.SERVER_DATA, "structures"));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package slimeknights.tconstruct.common.data.tags;

import net.minecraft.core.Registry;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.tags.TagsProvider;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraftforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import slimeknights.tconstruct.TConstruct;
import slimeknights.tconstruct.library.modifiers.ModifierId;
import slimeknights.tconstruct.tools.TinkerModifiers;
import slimeknights.tconstruct.tools.data.ModifierIds;

public class EnchantmentTagProvider extends TagsProvider<Enchantment> {
public EnchantmentTagProvider(DataGenerator generator, @Nullable ExistingFileHelper existingFileHelper) {
super(generator, Registry.ENCHANTMENT, TConstruct.MOD_ID, existingFileHelper);
}

@Override
protected void addTags() {
// upgrade
modifierTag(TinkerModifiers.experienced.getId(), "cyclic:experience_boost", "ensorcellation:exp_boost");
modifierTag(ModifierIds.killager, "ensorcellation:damage_illager");
modifierTag(TinkerModifiers.magnetic.getId(), "cyclic:magnet");
modifierTag(TinkerModifiers.necrotic.getId(), "cyclic:life_leech", "ensorcellation:leech");
modifierTag(TinkerModifiers.severing.getId(), "cyclic:beheading", "ensorcellation:vorpal");
modifierTag(ModifierIds.stepUp, "cyclic:step");
modifierTag(TinkerModifiers.soulbound.getId(), "ensorcellation:soulbound");
modifierTag(ModifierIds.trueshot, "ensorcellation:trueshot");

// defense
modifierTag(ModifierIds.knockbackResistance, "cyclic:steady");
modifierTag(TinkerModifiers.magicProtection.getId(), "ensorcellation:magic_protection");
modifierTag(ModifierIds.revitalizing, "ensorcellation:vitality");

// ability
modifierTag(TinkerModifiers.autosmelt.getId(), "cyclic:auto_smelt", "ensorcellation:smelting");
modifierTag(TinkerModifiers.doubleJump.getId(), "cyclic:launch", "walljump:doublejump");
modifierTag(TinkerModifiers.expanded.getId(), "cyclic:excavate", "ensorcellation:excavating", "ensorcellation:furrowing");
modifierTag(ModifierIds.luck, "ensorcellation:hunter");
modifierTag(TinkerModifiers.multishot.getId(), "cyclic:multishot", "ensorcellation:volley");
modifierTag(ModifierIds.reach, "cyclic:reach", "ensorcellation:reach");
modifierTag(TinkerModifiers.tilling.getId(), "ensorcellation:tilling");
}

/** Creates a builder for a tag for the given modifier */
private void modifierTag(ModifierId modifier, String... ids) {
TagsProvider.TagAppender<Enchantment> appender = tag(TagKey.create(Registry.ENCHANTMENT_REGISTRY, TConstruct.getResource("modifier_like/" + modifier.getPath())));
for (String id : ids) {
appender.addOptional(new ResourceLocation(id));
}
}

@Override
public String getName() {
return "Tinkers' Construct Block Enchantment Tags";
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package slimeknights.tconstruct.library.data.tinkering;

import com.google.gson.JsonObject;
import net.minecraft.core.Registry;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.HashCache;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.PackType;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.enchantment.Enchantment;
Expand Down Expand Up @@ -51,4 +53,9 @@ protected void add(TagKey<Enchantment> tag, ModifierId modifierId) {
}
enchantmentMap.addProperty(key, modifierId.toString());
}

/** Adds the given enchantment tag */
protected void add(ResourceLocation tag, ModifierId modifierId) {
add(TagKey.create(Registry.ENCHANTMENT_REGISTRY, tag), modifierId);
}
}

0 comments on commit 1c40af4

Please sign in to comment.