diff --git a/src/main/generated/data/acesbs/advancement/recipes/combat/berserkers_pauldron.json b/src/main/generated/data/acesbs/advancement/recipes/combat/berserkers_pauldron.json new file mode 100644 index 0000000..1fa03bc --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/combat/berserkers_pauldron.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bone": { + "conditions": { + "items": [ + { + "items": "minecraft:bone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:berserkers_pauldron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bone" + ] + ], + "rewards": { + "recipes": [ + "acesbs:berserkers_pauldron" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/combat/sovs_plate_carrier.json b/src/main/generated/data/acesbs/advancement/recipes/combat/sovs_plate_carrier.json new file mode 100644 index 0000000..b835f9f --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/combat/sovs_plate_carrier.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_prisma_steel": { + "conditions": { + "items": [ + { + "items": "acesbs:prisma_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:sovs_plate_carrier" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_prisma_steel" + ] + ], + "rewards": { + "recipes": [ + "acesbs:sovs_plate_carrier" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/combat/wildfire_boots.json b/src/main/generated/data/acesbs/advancement/recipes/combat/wildfire_boots.json new file mode 100644 index 0000000..841fdd9 --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/combat/wildfire_boots.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_infernal_ashes": { + "conditions": { + "items": [ + { + "items": "acesbs:infernal_ashes" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:wildfire_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_infernal_ashes" + ] + ], + "rewards": { + "recipes": [ + "acesbs:wildfire_boots" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/berserkers_pauldron.json b/src/main/generated/data/acesbs/recipe/berserkers_pauldron.json new file mode 100644 index 0000000..d9c5976 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/berserkers_pauldron.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "B": "minecraft:bone", + "C": "minecraft:leather_chestplate", + "E": "acesbs:stable_entropy", + "I": "#c:ingots/iron", + "S": "minecraft:string" + }, + "pattern": [ + "ISB", + "ICS", + "EEE" + ], + "result": { + "count": 1, + "id": "acesbs:berserkers_pauldron" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/sovs_plate_carrier.json b/src/main/generated/data/acesbs/recipe/sovs_plate_carrier.json new file mode 100644 index 0000000..d6695b8 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/sovs_plate_carrier.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "C": "minecraft:iron_chestplate", + "S": "acesbs:prisma_steel" + }, + "pattern": [ + " S ", + "SCS", + " S " + ], + "result": { + "count": 1, + "id": "acesbs:sovs_plate_carrier" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/wildfire_boots.json b/src/main/generated/data/acesbs/recipe/wildfire_boots.json new file mode 100644 index 0000000..1ee9dd2 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/wildfire_boots.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": "acesbs:infernal_ashes", + "B": "minecraft:iron_boots" + }, + "pattern": [ + " ", + "A A", + "ABA" + ], + "result": { + "count": 1, + "id": "acesbs:wildfire_boots" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/tags/block/needs_prisma_steel_tool.json b/src/main/generated/data/acesbs/tags/block/needs_prisma_steel_tool.json deleted file mode 100644 index f72d209..0000000 --- a/src/main/generated/data/acesbs/tags/block/needs_prisma_steel_tool.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "values": [] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/enchantables.json b/src/main/generated/data/c/tags/item/enchantables.json new file mode 100644 index 0000000..356de4a --- /dev/null +++ b/src/main/generated/data/c/tags/item/enchantables.json @@ -0,0 +1,14 @@ +{ + "values": [ + "acesbs:prisma_steel_helmet", + "acesbs:prisma_steel_chestplate", + "acesbs:prisma_steel_leggings", + "acesbs:prisma_steel_boots", + "acesbs:ashen_steel_helmet", + "acesbs:prisma_steel_chestplate", + "acesbs:ashen_steel_leggings", + "acesbs:ashen_steel_boots", + "acesbs:berserkers_pauldron", + "acesbs:wildfire_boots" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/enchantable/armor.json b/src/main/generated/data/minecraft/tags/item/enchantable/armor.json new file mode 100644 index 0000000..356de4a --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/enchantable/armor.json @@ -0,0 +1,14 @@ +{ + "values": [ + "acesbs:prisma_steel_helmet", + "acesbs:prisma_steel_chestplate", + "acesbs:prisma_steel_leggings", + "acesbs:prisma_steel_boots", + "acesbs:ashen_steel_helmet", + "acesbs:prisma_steel_chestplate", + "acesbs:ashen_steel_leggings", + "acesbs:ashen_steel_boots", + "acesbs:berserkers_pauldron", + "acesbs:wildfire_boots" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/enchantable/chest_armor.json b/src/main/generated/data/minecraft/tags/item/enchantable/chest_armor.json new file mode 100644 index 0000000..92a5633 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/enchantable/chest_armor.json @@ -0,0 +1,7 @@ +{ + "values": [ + "acesbs:prisma_steel_chestplate", + "acesbs:prisma_steel_chestplate", + "acesbs:berserkers_pauldron" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/enchantable/foot_armor.json b/src/main/generated/data/minecraft/tags/item/enchantable/foot_armor.json new file mode 100644 index 0000000..dce773d --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/enchantable/foot_armor.json @@ -0,0 +1,7 @@ +{ + "values": [ + "acesbs:prisma_steel_boots", + "acesbs:ashen_steel_boots", + "acesbs:wildfire_boots" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/enchantable/head_armor.json b/src/main/generated/data/minecraft/tags/item/enchantable/head_armor.json new file mode 100644 index 0000000..77dfc8c --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/enchantable/head_armor.json @@ -0,0 +1,6 @@ +{ + "values": [ + "acesbs:prisma_steel_helmet", + "acesbs:ashen_steel_helmet" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/enchantable/leg_armor.json b/src/main/generated/data/minecraft/tags/item/enchantable/leg_armor.json new file mode 100644 index 0000000..c4c48b2 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/enchantable/leg_armor.json @@ -0,0 +1,6 @@ +{ + "values": [ + "acesbs:prisma_steel_leggings", + "acesbs:ashen_steel_leggings" + ] +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES b/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES index ae36006..f0fce24 100644 --- a/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES +++ b/src/main/java/com/acethewildfire/acesbs/KNOWN_ISSUES @@ -1,16 +1,6 @@ Command Core textures broken Command Core Broken -Particles not on server??? - Combustible LEmon will not render -Crafting for the Plate Cariier, Beserkers Pauldron, Wildfire boots - -Enchanting for Armor - -Thot-begone - Double it and give it to the next guy - -Rebalence Ashen and Prisma tools - -Mining Values \ No newline at end of file +Thot-begone - Double it and give it to the next guy \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java index 7ef2772..ab9887f 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java @@ -77,10 +77,6 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { valueLookupBuilder(BlockTags.LEAVES) .add(ModBlocks.LEMONWOOD_LEAVES); - valueLookupBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL); -// Currently Broken -// .addTag(BlockTags.NEEDS_IRON_TOOL); - valueLookupBuilder(BlockTags.LOGS_THAT_BURN) .add(ModBlocks.LEMONWOOD_LOG) .add(ModBlocks.LEMONWOOD_WOOD) diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java index 7c5f46a..3b51f63 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java @@ -84,6 +84,37 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { .add(ModItems.WILDFIRE_BOOTS) .add(ModItems.SOVS_PLATE_CARRIER); + valueLookupBuilder(ItemTags.ARMOR_ENCHANTABLE) + .add(PrismaSteelItems.PRISMA_STEEL_HELMET) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(PrismaSteelItems.PRISMA_STEEL_LEGGINGS) + .add(PrismaSteelItems.PRISMA_STEEL_BOOTS) + .add(AshenSteelItems.ASHEN_STEEL_HELMET) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(AshenSteelItems.ASHEN_STEEL_LEGGINGS) + .add(AshenSteelItems.ASHEN_STEEL_BOOTS) + .add(ModItems.BERSERKERS_PAULDRON) + .add(ModItems.WILDFIRE_BOOTS); + + valueLookupBuilder(ItemTags.HEAD_ARMOR_ENCHANTABLE) + .add(PrismaSteelItems.PRISMA_STEEL_HELMET) + .add(AshenSteelItems.ASHEN_STEEL_HELMET); + + valueLookupBuilder(ItemTags.CHEST_ARMOR_ENCHANTABLE) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(ModItems.BERSERKERS_PAULDRON); + + valueLookupBuilder(ItemTags.LEG_ARMOR_ENCHANTABLE) + .add(PrismaSteelItems.PRISMA_STEEL_LEGGINGS) + .add(AshenSteelItems.ASHEN_STEEL_LEGGINGS); + + valueLookupBuilder(ItemTags.FOOT_ARMOR_ENCHANTABLE) + .add(PrismaSteelItems.PRISMA_STEEL_BOOTS) + .add(AshenSteelItems.ASHEN_STEEL_BOOTS) + .add(ModItems.WILDFIRE_BOOTS); + + valueLookupBuilder(ItemTags.TRIM_MATERIALS) .add(PrismaSteelItems.PRISMA_STEEL) .add(AshenSteelItems.ASHEN_STEEL); @@ -153,5 +184,17 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { valueLookupBuilder(ConventionalItemTags.MUSIC_DISCS) .add(ModItems.CRAB_RAVE_MUSIC_DISC); + + valueLookupBuilder(ConventionalItemTags.ENCHANTABLES) + .add(PrismaSteelItems.PRISMA_STEEL_HELMET) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(PrismaSteelItems.PRISMA_STEEL_LEGGINGS) + .add(PrismaSteelItems.PRISMA_STEEL_BOOTS) + .add(AshenSteelItems.ASHEN_STEEL_HELMET) + .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) + .add(AshenSteelItems.ASHEN_STEEL_LEGGINGS) + .add(AshenSteelItems.ASHEN_STEEL_BOOTS) + .add(ModItems.BERSERKERS_PAULDRON) + .add(ModItems.WILDFIRE_BOOTS); } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index 0417d23..7cde208 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -9,6 +9,7 @@ import com.acethewildfire.acesbs.trim.ModTrimPatterns; import com.acethewildfire.acesbs.util.ModTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; import net.minecraft.block.Blocks; import net.minecraft.data.recipe.RecipeExporter; import net.minecraft.data.recipe.RecipeGenerator; @@ -73,6 +74,36 @@ public class ModRecipeProvider extends FabricRecipeProvider { .criterion(hasItem(Items.STICK), conditionsFromItem(Items.STICK)) .offerTo(recipeExporter); + createShaped(RecipeCategory.COMBAT, ModItems.BERSERKERS_PAULDRON, 1) + .pattern("ISB") + .pattern("ICS") + .pattern("EEE") + .input('I', ConventionalItemTags.IRON_INGOTS) + .input('S', Items.STRING) + .input('B', Items.BONE) + .input('C', Items.LEATHER_CHESTPLATE) + .input('E', ModItems.STABLE_ENTROPY) + .criterion(hasItem(Items.BONE), conditionsFromItem(Items.BONE)) + .offerTo(recipeExporter); + + createShaped(RecipeCategory.COMBAT, ModItems.SOVS_PLATE_CARRIER, 1) + .pattern(" S ") + .pattern("SCS") + .pattern(" S ") + .input('S', PrismaSteelItems.PRISMA_STEEL) + .input('C', Items.IRON_CHESTPLATE) + .criterion(hasItem(PrismaSteelItems.PRISMA_STEEL), conditionsFromItem(PrismaSteelItems.PRISMA_STEEL)) + .offerTo(recipeExporter); + + createShaped(RecipeCategory.COMBAT, ModItems.WILDFIRE_BOOTS, 1) + .pattern(" ") + .pattern("A A") + .pattern("ABA") + .input('A', ModItems.INFERNAL_ASHES) + .input('B', Items.IRON_BOOTS) + .criterion(hasItem(ModItems.INFERNAL_ASHES), conditionsFromItem(ModItems.INFERNAL_ASHES)) + .offerTo(recipeExporter); + createShapeless(RecipeCategory.FOOD, ModItems.BRICKED_UP, 1) .input(Items.BRICK, 1) .input(ModItems.STABLE_ENDTROPY, 1) diff --git a/src/main/java/com/acethewildfire/acesbs/effect/BrickedUpEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/BrickedUpEffect.java index 7d84da7..6f58a59 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/BrickedUpEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/BrickedUpEffect.java @@ -9,6 +9,7 @@ import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; +import net.minecraft.text.Text; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -17,6 +18,11 @@ public class BrickedUpEffect extends StatusEffect { super(category, color); } + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + @Override public boolean applyUpdateEffect(ServerWorld world, LivingEntity entity, int amplifier) { diff --git a/src/main/java/com/acethewildfire/acesbs/effect/CigaretteEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/CigaretteEffect.java index 05d5ccc..8e1cc2d 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/CigaretteEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/CigaretteEffect.java @@ -5,12 +5,18 @@ import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.Text; public class CigaretteEffect extends StatusEffect { public CigaretteEffect(StatusEffectCategory category, int color) { super(category, color); } + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + @Override public boolean applyUpdateEffect(ServerWorld world, LivingEntity entity, int amplifier) { StatusEffectInstance effect = entity.getStatusEffect(ModEffects.CIGARETTE); diff --git a/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java index 149d7dd..c788798 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/InfernalFireEffect.java @@ -5,6 +5,7 @@ import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.particle.ParticleTypes; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.Text; import net.minecraft.world.World; import java.util.Random; @@ -14,6 +15,11 @@ public class InfernalFireEffect extends StatusEffect { super(category, color); } + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + Random r = new Random(); @Override diff --git a/src/main/java/com/acethewildfire/acesbs/effect/JitteryEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/JitteryEffect.java index 478d232..04d72c8 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/JitteryEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/JitteryEffect.java @@ -1,10 +1,12 @@ package com.acethewildfire.acesbs.effect; +import com.acethewildfire.acesbs.AcesBS; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.Text; import java.util.Random; @@ -20,6 +22,11 @@ public class JitteryEffect extends StatusEffect { int maxDelay = 20; int times = 2; + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + @Override public boolean applyUpdateEffect(ServerWorld world, LivingEntity entity, int amplifier) { StatusEffectInstance effect = entity.getStatusEffect(ModEffects.JITTERY); @@ -33,9 +40,11 @@ public class JitteryEffect extends StatusEffect { times = r.nextInt(2,5); } else if (delay >= maxDelay) { // Dance - double randomVelocityX = r.nextDouble(-0.3, 0.3); - double randomVelocityZ = r.nextDouble(-0.3, 0.3); - entity.addVelocity(randomVelocityX, 0, randomVelocityZ); + AcesBS.LOGGER.info("DANCE!"); + double randomVelocityX = r.nextDouble(-0.5 * (amplifier + 1), 0.5 * (amplifier + 1)); + double randomVelocityZ = r.nextDouble(-0.5 * (amplifier + 1), 0.5 * (amplifier + 1)); + entity.addVelocity(randomVelocityX, 0.3, randomVelocityZ); + entity.velocityModified = true; //Decrement times times--; diff --git a/src/main/java/com/acethewildfire/acesbs/effect/LemonEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/LemonEffect.java index 1d09b50..29d4e1e 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/LemonEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/LemonEffect.java @@ -4,12 +4,18 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.Text; public class LemonEffect extends StatusEffect { public LemonEffect(StatusEffectCategory category, int color) { super(category, color); } + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + @Override public boolean applyUpdateEffect(ServerWorld world, LivingEntity entity, int amplifier) { diff --git a/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java b/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java index 0493be5..6667a1c 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/ModEffects.java @@ -29,7 +29,7 @@ public class ModEffects { public static final RegistryEntry CIGARETTE = registerStatusEffect("cigarette", new CigaretteEffect(StatusEffectCategory.BENEFICIAL, 0xE6A74F) .addAttributeModifier(EntityAttributes.MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "cigarette"), - 1F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)); + 0.50F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)); public static final RegistryEntry WITHDRAWAL = registerStatusEffect("withdrawal", new WithdrawalEffect(StatusEffectCategory.HARMFUL, 0x4A412A) diff --git a/src/main/java/com/acethewildfire/acesbs/effect/WithdrawalEffect.java b/src/main/java/com/acethewildfire/acesbs/effect/WithdrawalEffect.java index 6d21a05..6b0e583 100644 --- a/src/main/java/com/acethewildfire/acesbs/effect/WithdrawalEffect.java +++ b/src/main/java/com/acethewildfire/acesbs/effect/WithdrawalEffect.java @@ -4,12 +4,18 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffectCategory; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.Text; public class WithdrawalEffect extends StatusEffect { protected WithdrawalEffect(StatusEffectCategory category, int color) { super(category, color); } + @Override + public Text getName() { + return Text.translatable(this.getTranslationKey()); + } + @Override public boolean applyUpdateEffect(ServerWorld world, LivingEntity entity, int amplifier) { return true; diff --git a/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonRenderer.java b/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonRenderer.java index e54bd69..636a0e3 100644 --- a/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonRenderer.java +++ b/src/main/java/com/acethewildfire/acesbs/entity/client/CombustibleLemonRenderer.java @@ -17,7 +17,8 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RotationAxis; public class CombustibleLemonRenderer extends EntityRenderer { - protected CombustibleLemonModel model; + + private final CombustibleLemonModel model; public CombustibleLemonRenderer(EntityRendererFactory.Context ctx) { super(ctx); @@ -30,24 +31,16 @@ public class CombustibleLemonRenderer extends EntityRenderer new Item(setting.pickaxe(ModToolMaterials.ASHEN_STEEL, 1.0F, -2.8F))); public static final Item ASHEN_STEEL_HAMMER = ModItems.registerItem("ashen_steel_hammer", - setting -> new HammerItem(ModToolMaterials.ASHEN_STEEL, 7.0F, -3.4F, setting)); + setting -> new HammerItem(ModToolMaterials.ASHEN_STEEL, 9.0F, -3.4F, setting)); public static final Item ASHEN_STEEL_AXE = ModItems.registerItem("ashen_steel_axe", setting -> new AxeItem(ModToolMaterials.ASHEN_STEEL, 6.0F, -3.1F, setting)); public static final Item ASHEN_STEEL_HOE = ModItems.registerItem("ashen_steel_hoe", diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModToolMaterials.java b/src/main/java/com/acethewildfire/acesbs/item/ModToolMaterials.java index 9919c16..445241a 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModToolMaterials.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModToolMaterials.java @@ -5,15 +5,16 @@ import com.google.common.base.Suppliers; import net.minecraft.block.Block; import net.minecraft.item.ToolMaterial; import net.minecraft.recipe.Ingredient; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.TagKey; import java.util.function.Supplier; public class ModToolMaterials { - public static ToolMaterial PRISMA_STEEL = new ToolMaterial(ModTags.Blocks.INCORRECT_FOR_PRISMA_STEEL_TOOL, - 750, 8.0F, 2.0F, 22, ModTags.Items.PRISMA_REPAIR); - public static ToolMaterial ASHEN_STEEL = new ToolMaterial(ModTags.Blocks.INCORRECT_FOR_ASHEN_STEEL_TOOL, - 750, 8.0F, 2.0F, 22, ModTags.Items.ASHEN_REPAIR); + public static ToolMaterial PRISMA_STEEL = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, + 1561, 8.0F, 3.0F, 22, ModTags.Items.PRISMA_REPAIR); + public static ToolMaterial ASHEN_STEEL = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, + 1561, 8.0F, 3.0F, 22, ModTags.Items.ASHEN_REPAIR); } diff --git a/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java b/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java index 8d1a7a4..ce5ca48 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/PrismaSteelItems.java @@ -17,7 +17,7 @@ public class PrismaSteelItems { public static final Item PRISMA_STEEL_PICKAXE = ModItems.registerItem("prisma_steel_pickaxe", setting -> new Item(setting.pickaxe(ModToolMaterials.PRISMA_STEEL, 1.0F, -2.8F))); public static final Item PRISMA_STEEL_HAMMER = ModItems.registerItem("prisma_steel_hammer", - setting -> new HammerItem(ModToolMaterials.PRISMA_STEEL, 7.0F, -3.4F, setting)); + setting -> new HammerItem(ModToolMaterials.PRISMA_STEEL, 9.0F, -3.4F, setting)); public static final Item PRISMA_STEEL_AXE = ModItems.registerItem("prisma_steel_axe", setting -> new AxeItem(ModToolMaterials.PRISMA_STEEL, 6.0F, -3.1F, setting)); public static final Item PRISMA_STEEL_HOE = ModItems.registerItem("prisma_steel_hoe", diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java b/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java index 2f508d8..2ac7e27 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/ModArmorItem.java @@ -2,8 +2,11 @@ package com.acethewildfire.acesbs.item.custom; import com.acethewildfire.acesbs.item.ModArmorMaterials; import com.google.common.collect.ImmutableMap; +import net.fabricmc.fabric.api.item.v1.EnchantingContext; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.EquippableComponent; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.Enchantments; import net.minecraft.entity.Entity; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.effect.StatusEffectInstance; @@ -13,6 +16,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.equipment.ArmorMaterial; import net.minecraft.item.equipment.EquipmentType; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.registry.tag.TagKey; import net.minecraft.server.world.ServerWorld; import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; @@ -26,6 +31,8 @@ public class ModArmorItem extends Item { .put(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, List.of(new StatusEffectInstance(StatusEffects.SPEED, 400, 1, false, false), new StatusEffectInstance(StatusEffects.JUMP_BOOST, 400, 0, false, false))) + .put(ModArmorMaterials.WILDFIRE_ARMOR_MATERIAL, + List.of(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE, 400, 0, false, false))) // For more materials just add more puts // .put(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, // List.of(new StatusEffectInstance(StatusEffects.SPEED, 400, 2, false, false), @@ -42,9 +49,7 @@ public class ModArmorItem extends Item { if(!world.isClient()) { if(entity instanceof PlayerEntity player) { - if(hasFullSuitOfArmorOn(player)) { - evaluateArmorEffects(player); - } + evaluateArmorEffects(player); } } @@ -79,17 +84,18 @@ public class ModArmorItem extends Item { EquippableComponent equippableComponentBreastplate = player.getEquippedStack(EquipmentSlot.CHEST).getItem().getComponents().get(DataComponentTypes.EQUIPPABLE); EquippableComponent equippableComponentHelmet = player.getEquippedStack(EquipmentSlot.HEAD).getItem().getComponents().get(DataComponentTypes.EQUIPPABLE); - return (equippableComponentBoots != null && equippableComponentBoots.assetId().get().equals(material.assetId())) && (equippableComponentLeggings != null && equippableComponentLeggings.assetId().get().equals(material.assetId())) && - (equippableComponentBreastplate != null && equippableComponentBreastplate.assetId().get().equals(material.assetId())) && (equippableComponentHelmet != null && equippableComponentHelmet.assetId().get().equals(material.assetId())); - } + ArmorMaterial prismaSteelArmorMaterial = ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL; + ArmorMaterial wildfireArmorMaterial = ModArmorMaterials.WILDFIRE_ARMOR_MATERIAL; - private boolean hasFullSuitOfArmorOn(PlayerEntity player) { - ItemStack boots = player.getEquippedStack(EquipmentSlot.FEET); - ItemStack leggings = player.getEquippedStack(EquipmentSlot.LEGS); - ItemStack breastplate = player.getEquippedStack(EquipmentSlot.CHEST); - ItemStack helmet = player.getEquippedStack(EquipmentSlot.HEAD); + if (material == prismaSteelArmorMaterial){ + // Check whole armor + return (equippableComponentBoots != null && equippableComponentBoots.assetId().get().equals(material.assetId())) && (equippableComponentLeggings != null && equippableComponentLeggings.assetId().get().equals(material.assetId())) && + (equippableComponentBreastplate != null && equippableComponentBreastplate.assetId().get().equals(material.assetId())) && (equippableComponentHelmet != null && equippableComponentHelmet.assetId().get().equals(material.assetId())); + } else if (material == wildfireArmorMaterial) { + // Just check boots + return (equippableComponentBoots != null && equippableComponentBoots.assetId().get().equals(material.assetId())); + } - return !helmet.isEmpty() && !breastplate.isEmpty() - && !leggings.isEmpty() && !boots.isEmpty(); + return false; } } \ No newline at end of file