Skip to content

Commit

Permalink
实现了护符系统,实现了四种宝石护符
Browse files Browse the repository at this point in the history
  • Loading branch information
CgAu3 committed Dec 28, 2024
1 parent f2eb26c commit c6332d5
Show file tree
Hide file tree
Showing 27 changed files with 554 additions and 2 deletions.
6 changes: 5 additions & 1 deletion src/generated/resources/assets/anvilcraft/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@
"item.anvilcraft.ember_metal_shovel": "ןǝʌoɥS ןɐʇǝW ɹǝqɯƎ",
"item.anvilcraft.ember_metal_sword": "pɹoʍS ןɐʇǝW ɹǝqɯƎ",
"item.anvilcraft.ember_metal_upgrade_smithing_template": "ǝʇɐןdɯǝ⟘ buıɥʇıɯS ǝpɐɹbd∩ ןɐʇǝW ɹǝqɯƎ",
"item.anvilcraft.emerald_amulet": "ʇǝןnɯⱯ pןɐɹǝɯƎ",
"item.anvilcraft.fire_reforging.tooltip": "ɐʌɐן ɹo ǝɹıɟ uı buıpuǝɯ :buıbɹoɟǝᴚ",
"item.anvilcraft.flour": "ɹnoןℲ",
"item.anvilcraft.geode": "ǝpoǝ⅁",
Expand Down Expand Up @@ -411,7 +412,9 @@
"item.anvilcraft.royal_steel_sword": "pɹoʍS ןǝǝʇS ןɐʎoᴚ",
"item.anvilcraft.royal_steel_upgrade_smithing_template": "ǝʇɐןdɯǝ⟘ buıɥʇıɯS ǝpɐɹbd∩ ןǝǝʇS ןɐʎoᴚ",
"item.anvilcraft.ruby": "ʎqnᴚ",
"item.anvilcraft.ruby_amulet": "ʇǝןnɯⱯ ʎqnᴚ",
"item.anvilcraft.sapphire": "ǝɹıɥddɐS",
"item.anvilcraft.sapphire_amulet": "ʇǝןnɯⱯ ǝɹıɥddɐS",
"item.anvilcraft.sea_heart_shell": "ןןǝɥS ʇɹɐǝH ɐǝS",
"item.anvilcraft.sea_heart_shell_shard": "pɹɐɥS ןןǝɥS ʇɹɐǝH ɐǝS",
"item.anvilcraft.seeds_pack": "ʞɔɐԀ spǝǝS",
Expand All @@ -424,6 +427,7 @@
"item.anvilcraft.titanium_ingot": "ʇobuI ɯnıuɐʇı⟘",
"item.anvilcraft.titanium_nugget": "ʇǝbbnN ɯnıuɐʇı⟘",
"item.anvilcraft.topaz": "zɐdo⟘",
"item.anvilcraft.topaz_amulet": "ʇǝןnɯⱯ zɐdo⟘",
"item.anvilcraft.tungsten_ingot": "ʇobuI uǝʇsbun⟘",
"item.anvilcraft.tungsten_nugget": "ʇǝbbnN uǝʇsbun⟘",
"item.anvilcraft.uranium_ingot": "ʇobuI ɯnıuɐɹ∩",
Expand Down Expand Up @@ -651,7 +655,7 @@
"tooltip.anvilcraft.item.tempering_glass": "ʇɔǝןןoɔ uo pǝɹınbǝɹ sןooʇ oN 'ɟooɹd uoısoןdxƎ",
"tooltip.anvilcraft.item.topaz": "buıuʇɥbıן ɟo ɹǝʍod ǝɥʇ buıuıɐʇuoƆ",
"tooltip.anvilcraft.item.transmission_pole": "8 ɟo ɥʇbuǝן uoıssıɯsuɐɹʇ ɐ ɥʇıʍ pıɹb ɹǝʍod ɐ pןınᗺ",
"tooltip.anvilcraft.jade.item_detector": "%d :ǝbuɐɹ uoıʇɔǝʇǝᗡ",
"tooltip.anvilcraft.jade.item_detector": "%d :ǝbuɐᴚ uoıʇɔǝʇǝᗡ",
"tooltip.anvilcraft.jade.power_information": "Mʞ %d/%d :pıɹ⅁ ɹǝʍoԀ",
"tooltip.anvilcraft.jade.ruby_prism.power": "%d :ןǝʌǝן ɹǝsɐꞀ"
}
6 changes: 5 additions & 1 deletion src/generated/resources/assets/anvilcraft/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@
"item.anvilcraft.ember_metal_shovel": "Ember Metal Shovel",
"item.anvilcraft.ember_metal_sword": "Ember Metal Sword",
"item.anvilcraft.ember_metal_upgrade_smithing_template": "Ember Metal Upgrade Smithing Template",
"item.anvilcraft.emerald_amulet": "Emerald Amulet",
"item.anvilcraft.fire_reforging.tooltip": "Reforging: mending in fire or lava",
"item.anvilcraft.flour": "Flour",
"item.anvilcraft.geode": "Geode",
Expand Down Expand Up @@ -411,7 +412,9 @@
"item.anvilcraft.royal_steel_sword": "Royal Steel Sword",
"item.anvilcraft.royal_steel_upgrade_smithing_template": "Royal Steel Upgrade Smithing Template",
"item.anvilcraft.ruby": "Ruby",
"item.anvilcraft.ruby_amulet": "Ruby Amulet",
"item.anvilcraft.sapphire": "Sapphire",
"item.anvilcraft.sapphire_amulet": "Sapphire Amulet",
"item.anvilcraft.sea_heart_shell": "Sea Heart Shell",
"item.anvilcraft.sea_heart_shell_shard": "Sea Heart Shell Shard",
"item.anvilcraft.seeds_pack": "Seeds Pack",
Expand All @@ -424,6 +427,7 @@
"item.anvilcraft.titanium_ingot": "Titanium Ingot",
"item.anvilcraft.titanium_nugget": "Titanium Nugget",
"item.anvilcraft.topaz": "Topaz",
"item.anvilcraft.topaz_amulet": "Topaz Amulet",
"item.anvilcraft.tungsten_ingot": "Tungsten Ingot",
"item.anvilcraft.tungsten_nugget": "Tungsten Nugget",
"item.anvilcraft.uranium_ingot": "Uranium Ingot",
Expand Down Expand Up @@ -651,7 +655,7 @@
"tooltip.anvilcraft.item.tempering_glass": "Explosion proof, No tools required on collect",
"tooltip.anvilcraft.item.topaz": "Containing the power of lightning",
"tooltip.anvilcraft.item.transmission_pole": "Build a power grid with a transmission length of 8",
"tooltip.anvilcraft.jade.item_detector": "Detection range: %d",
"tooltip.anvilcraft.jade.item_detector": "Detection Range: %d",
"tooltip.anvilcraft.jade.power_information": "Power Grid: %d/%d kW",
"tooltip.anvilcraft.jade.ruby_prism.power": "Laser level: %d"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "anvilcraft:item/emerald_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "anvilcraft:item/ruby_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "anvilcraft:item/sapphire_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "anvilcraft:item/topaz_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:jewel_crafting/emerald_amulet"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"anvilcraft:jewel_crafting/emerald_amulet"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:jewel_crafting/ruby_amulet"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"anvilcraft:jewel_crafting/ruby_amulet"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:jewel_crafting/sapphire_amulet"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"anvilcraft:jewel_crafting/sapphire_amulet"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:jewel_crafting/topaz_amulet"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"anvilcraft:jewel_crafting/topaz_amulet"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "anvilcraft:jewel_crafting",
"ingredients": [
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "minecraft:emerald_block"
},
{
"item": "anvilcraft:royal_steel_ingot"
}
],
"result": {
"count": 1,
"id": "anvilcraft:emerald_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "anvilcraft:jewel_crafting",
"ingredients": [
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:ruby_block"
},
{
"item": "anvilcraft:royal_steel_ingot"
}
],
"result": {
"count": 1,
"id": "anvilcraft:ruby_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "anvilcraft:jewel_crafting",
"ingredients": [
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:sapphire_block"
},
{
"item": "anvilcraft:royal_steel_ingot"
}
],
"result": {
"count": 1,
"id": "anvilcraft:sapphire_amulet"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"type": "anvilcraft:jewel_crafting",
"ingredients": [
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:silver_block"
},
{
"item": "anvilcraft:topaz_block"
},
{
"item": "anvilcraft:royal_steel_ingot"
}
],
"result": {
"count": 1,
"id": "anvilcraft:topaz_amulet"
}
}
2 changes: 2 additions & 0 deletions src/main/java/dev/dubhe/anvilcraft/AnvilCraft.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import dev.dubhe.anvilcraft.init.ModBlocks;
import dev.dubhe.anvilcraft.init.ModCommands;
import dev.dubhe.anvilcraft.init.ModComponents;
import dev.dubhe.anvilcraft.init.ModDataAttachments;
import dev.dubhe.anvilcraft.init.ModDispenserBehavior;
import dev.dubhe.anvilcraft.init.ModEnchantmentEffectComponents;
import dev.dubhe.anvilcraft.init.ModEnchantmentEffects;
Expand Down Expand Up @@ -77,6 +78,7 @@ public AnvilCraft(IEventBus modEventBus) {
ModComponents.register(modEventBus);
ModVillagers.register(modEventBus);
ModRecipeTypes.register(modEventBus);
ModDataAttachments.register(modEventBus);
ModInspections.initialize();

ModLootContextParamSets.registerAll();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import com.tterrag.registrate.providers.RegistrateRecipeProvider;
import dev.dubhe.anvilcraft.init.ModBlocks;
import dev.dubhe.anvilcraft.init.ModItemTags;
import dev.dubhe.anvilcraft.init.ModItems;
import dev.dubhe.anvilcraft.recipe.JewelCraftingRecipe;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;

public class JewelCraftingRecipeLoader {
public static void init(RegistrateRecipeProvider provider) {
Expand All @@ -29,5 +31,33 @@ public static void init(RegistrateRecipeProvider provider) {
.requires(ModItemTags.TITANIUM_INGOTS)
.result(new ItemStack(Items.ELYTRA))
.save(provider);

JewelCraftingRecipe.builder()
.requires(ModBlocks.SILVER_BLOCK, 4)
.requires(Blocks.EMERALD_BLOCK)
.requires(ModItems.ROYAL_STEEL_INGOT)
.result(new ItemStack(ModItems.EMERALD_AMULET.asItem()))
.save(provider);

JewelCraftingRecipe.builder()
.requires(ModBlocks.SILVER_BLOCK, 4)
.requires(ModBlocks.TOPAZ_BLOCK)
.requires(ModItems.ROYAL_STEEL_INGOT)
.result(new ItemStack(ModItems.TOPAZ_AMULET.asItem()))
.save(provider);

JewelCraftingRecipe.builder()
.requires(ModBlocks.SILVER_BLOCK, 4)
.requires(ModBlocks.RUBY_BLOCK)
.requires(ModItems.ROYAL_STEEL_INGOT)
.result(new ItemStack(ModItems.RUBY_AMULET.asItem()))
.save(provider);

JewelCraftingRecipe.builder()
.requires(ModBlocks.SILVER_BLOCK, 4)
.requires(ModBlocks.SAPPHIRE_BLOCK)
.requires(ModItems.ROYAL_STEEL_INGOT)
.result(new ItemStack(ModItems.SAPPHIRE_AMULET.asItem()))
.save(provider);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package dev.dubhe.anvilcraft.event;

import dev.dubhe.anvilcraft.AnvilCraft;
import net.minecraft.tags.DamageTypeTags;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.event.entity.living.LivingDamageEvent;
import org.jetbrains.annotations.NotNull;

import static dev.dubhe.anvilcraft.init.ModDataAttachments.IMMUNE_TO_LIGHTNING;

@EventBusSubscriber(modid = AnvilCraft.MOD_ID)
public class LivingEntityEventListener {
@SubscribeEvent
public static void PreEntityHurt(@NotNull LivingDamageEvent.Pre event){
if(event.getSource().is(DamageTypeTags.IS_LIGHTNING)
&& event.getEntity().hasData(IMMUNE_TO_LIGHTNING)){
if(event.getEntity().getData(IMMUNE_TO_LIGHTNING)){
event.getContainer().setNewDamage(0);
}
}

}
}
Loading

0 comments on commit c6332d5

Please sign in to comment.