Skip to content

Commit

Permalink
Added 4 new artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
GirafiStudios committed Jan 30, 2021
1 parent 9ad10f5 commit 140e48d
Show file tree
Hide file tree
Showing 31 changed files with 362 additions and 122 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.teammetallurgy.atum.blocks.lighting;

import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.client.particle.NebuFlameParticle;
import net.minecraft.block.WallTorchBlock;
import net.minecraft.particles.IParticleData;
import net.minecraft.particles.ParticleTypes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.blocks.lighting.AtumTorchBlock;
import com.teammetallurgy.atum.blocks.machines.tileentity.GodforgeTileEntity;
import com.teammetallurgy.atum.client.particle.NebuFlameParticle;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.entity.LivingEntity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import javax.annotation.Nonnull;

@OnlyIn(Dist.CLIENT)
public class AtumsProtectionModel extends AbstractShieldModel {
public class AtemsProtectionModel extends AbstractShieldModel {
private final ModelRenderer shieldCore;
private final ModelRenderer handleCore;
private final ModelRenderer gemStone;
Expand All @@ -24,7 +24,7 @@ public class AtumsProtectionModel extends AbstractShieldModel {
private final ModelRenderer handleSide1;
private final ModelRenderer handleSide2;

public AtumsProtectionModel() {
public AtemsProtectionModel() {
this.textureWidth = 32;
this.textureHeight = 32;
this.handleCore = new ModelRenderer(this, 20, 0);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package com.teammetallurgy.atum.client.particle;

import com.teammetallurgy.atum.api.God;
import net.minecraft.client.particle.*;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particles.IParticleData;
import net.minecraft.util.math.MathHelper;

import javax.annotation.Nonnull;
import java.util.HashMap;

public class NebuFlameParticle extends DeceleratingParticle {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import com.teammetallurgy.atum.client.ClientHandler;
import com.teammetallurgy.atum.client.model.TefnutsCallModel;
import com.teammetallurgy.atum.client.model.shield.AbstractShieldModel;
import com.teammetallurgy.atum.client.model.shield.AtumsProtectionModel;
import com.teammetallurgy.atum.client.model.shield.AtemsProtectionModel;
import com.teammetallurgy.atum.client.model.shield.BrigandShieldModel;
import com.teammetallurgy.atum.client.model.shield.StoneguardShieldModel;
import com.teammetallurgy.atum.init.AtumItems;
Expand All @@ -33,10 +33,10 @@

public class ItemStackRenderer extends ItemStackTileEntityRenderer {
private static final Map<String, ResourceLocation> SHIELD_CACHE = Maps.newHashMap();
private static final RenderMaterial ATUMS_PROTECTION_MATERIAL = getShieldMaterial("atems_protection");
private static final RenderMaterial ATEMS_PROTECTION_MATERIAL = getShieldMaterial("atems_protection");
private static final RenderMaterial BRIGAND_SHIELD_MATERIAL = getShieldMaterial("brigand_shield");
private static final RenderMaterial STONEGUARD_SHIELD_MATERIAL = getShieldMaterial("stoneguard_shield");
private static final AtumsProtectionModel ATUMS_PROTECTION = new AtumsProtectionModel();
private static final AtemsProtectionModel ATEMS_PROTECTION = new AtemsProtectionModel();
private static final BrigandShieldModel BRIGAND_SHIELD = new BrigandShieldModel();
private static final StoneguardShieldModel STONEGUARD_SHIELD = new StoneguardShieldModel();
private final TefnutsCallModel tefnutsCall = new TefnutsCallModel();
Expand All @@ -59,7 +59,9 @@ public void func_239207_a_(@Nonnull ItemStack stack, @Nonnull ItemCameraTransfor
} else if (item == AtumItems.STONEGUARD_SHIELD) {
renderShield(stack, STONEGUARD_SHIELD, STONEGUARD_SHIELD_MATERIAL, matrixStack, buffer, combinedLight, combinedOverlay);
} else if (item == AtumItems.ATEMS_PROTECTION) {
renderShield(stack, ATUMS_PROTECTION, ATUMS_PROTECTION_MATERIAL, matrixStack, buffer, combinedLight, combinedOverlay);
renderShield(stack, ATEMS_PROTECTION, ATEMS_PROTECTION_MATERIAL, matrixStack, buffer, combinedLight, combinedOverlay);
} else if (item == AtumItems.NEPTHYS_CONSECRATION) {
renderShield(stack, ATEMS_PROTECTION, ATEMS_PROTECTION_MATERIAL, matrixStack, buffer, combinedLight, combinedOverlay); //TODO
} else if (item == AtumItems.TEFNUTS_CALL) {
matrixStack.push();
matrixStack.scale(1.0F, -1.0F, -1.0F);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.client.renderer.entity.model.LlamaSpitModel;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector3f;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.teammetallurgy.atum.entity.ai.goal.OpenAnyDoorGoal;
import com.teammetallurgy.atum.entity.ai.pathfinding.ClimberGroundPathNavigator;
import com.teammetallurgy.atum.entity.undead.UndeadBaseEntity;
import com.teammetallurgy.atum.init.AtumItems;
import net.minecraft.block.BlockState;
import net.minecraft.entity.*;
Expand Down
18 changes: 13 additions & 5 deletions src/main/java/com/teammetallurgy/atum/init/AtumItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,36 @@
import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.items.*;
import com.teammetallurgy.atum.items.artifacts.anput.AnputsGroundingItem;
import com.teammetallurgy.atum.items.artifacts.anput.AnputsHungerItem;
import com.teammetallurgy.atum.items.artifacts.osiris.OsirisMercyItem;
import com.teammetallurgy.atum.items.artifacts.anubis.AnubisWrathItem;
import com.teammetallurgy.atum.items.artifacts.atem.*;
import com.teammetallurgy.atum.items.artifacts.anput.AnputsGroundingItem;
import com.teammetallurgy.atum.items.artifacts.geb.GebsMightItem;
import com.teammetallurgy.atum.items.artifacts.geb.GebsToilItem;
import com.teammetallurgy.atum.items.artifacts.geb.GebsUndoingItem;
import com.teammetallurgy.atum.items.artifacts.horus.HorusAscensionItem;
import com.teammetallurgy.atum.items.artifacts.horus.HorusSoaringItem;
import com.teammetallurgy.atum.items.artifacts.isis.IsisDivisionItem;
import com.teammetallurgy.atum.items.artifacts.isis.IsisHealingItem;
import com.teammetallurgy.atum.items.artifacts.montu.MontusBlastItem;
import com.teammetallurgy.atum.items.artifacts.montu.MontusStrikeItem;
import com.teammetallurgy.atum.items.artifacts.isis.IsisDivisionItem;
import com.teammetallurgy.atum.items.artifacts.nepthys.NepthysBanishingItem;
import com.teammetallurgy.atum.items.artifacts.nepthys.NepthysConsecrationItem;
import com.teammetallurgy.atum.items.artifacts.nepthys.NepthysGuardItem;
import com.teammetallurgy.atum.items.artifacts.nuit.NuitsIreItem;
import com.teammetallurgy.atum.items.artifacts.nuit.NuitsQuarterItem;
import com.teammetallurgy.atum.items.artifacts.nuit.NuitsVanishingItem;
import com.teammetallurgy.atum.items.artifacts.geb.GebsUndoingItem;
import com.teammetallurgy.atum.items.artifacts.osiris.OsirisBlessingItem;
import com.teammetallurgy.atum.items.artifacts.osiris.OsirisMercyItem;
import com.teammetallurgy.atum.items.artifacts.ptah.PtahsDecadenceItem;
import com.teammetallurgy.atum.items.artifacts.ra.RaArmor;
import com.teammetallurgy.atum.items.artifacts.ra.RasFuryItem;
import com.teammetallurgy.atum.items.artifacts.ra.RasStep;
import com.teammetallurgy.atum.items.artifacts.seth.SethsStingItem;
import com.teammetallurgy.atum.items.artifacts.seth.SethsVenomItem;
import com.teammetallurgy.atum.items.artifacts.shu.ShusBreathItem;
import com.teammetallurgy.atum.items.artifacts.shu.ShusExileItem;
import com.teammetallurgy.atum.items.artifacts.shu.ShusSwiftnessItem;
import com.teammetallurgy.atum.items.artifacts.osiris.OsirisBlessingItem;
import com.teammetallurgy.atum.items.artifacts.tefnut.TefnutsCallItem;
import com.teammetallurgy.atum.items.artifacts.tefnut.TefnutsRainItem;
import com.teammetallurgy.atum.items.food.CrunchyScarabItem;
Expand Down Expand Up @@ -132,6 +136,9 @@ public class AtumItems {
public static final Item ISIS_HEALING = registerItem(new IsisHealingItem(), "isis_healing");
public static final MontusBlastItem MONTUS_BLAST = (MontusBlastItem) registerItem(new MontusBlastItem(), "montus_blast");
public static final Item MONTUS_STRIKE = registerItem(new MontusStrikeItem(), "montus_strike");
public static final Item NEPTHYS_BANISHING = registerItem(new NepthysBanishingItem(), "nepthys_banishing");
public static final Item NEPTHYS_CONSECRATION = registerItem(new NepthysConsecrationItem(), "nepthys_consecration");
public static final Item NEPTHYS_GUARD = registerItem(new NepthysGuardItem(), "nepthys_guard");
public static final Item NUITS_IRE = registerItem(new NuitsIreItem(), "nuits_ire");
public static final Item NUITS_QUARTER = registerItem(new NuitsQuarterItem(), "nuits_quarter");
public static final Item NUITS_VANISHING = registerItem(new NuitsVanishingItem(), "nuits_vanishing");
Expand All @@ -143,6 +150,7 @@ public class AtumItems {
public static final Item LEGS_OF_RA = registerItem(new RaArmor(EquipmentSlotType.LEGS), "legs_of_ra");
public static final Item FEET_OF_RA = registerItem(new RaArmor(EquipmentSlotType.FEET), "feet_of_ra");
public static final RasFuryItem RAS_FURY = (RasFuryItem) registerItem(new RasFuryItem(), "ras_fury");
public static final Item RAS_STEP = registerItem(new RasStep(), "ras_step");
public static final Item SETHS_STING = registerItem(new SethsStingItem(), "seths_sting");
public static final SethsVenomItem SETHS_VENOM = (SethsVenomItem) registerItem(new SethsVenomItem(), "seths_venom");
public static final ShusBreathItem SHUS_BREATH = (ShusBreathItem) registerItem(new ShusBreathItem(), "shus_breath");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.teammetallurgy.atum.items.tools;
package com.teammetallurgy.atum.items.artifacts;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.init.AtumItems;
Expand All @@ -8,7 +8,6 @@
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import top.theillusivec4.curios.api.type.capability.ICurioItem;

import javax.annotation.Nonnull;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.teammetallurgy.atum.items.artifacts;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.integration.curios.ISimpleCurioItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;

import javax.annotation.Nonnull;

public class RingItem extends Item implements ISimpleCurioItem {

public RingItem(Properties properties) {
super(properties.rarity(Rarity.RARE).group(Atum.GROUP));
}

public RingItem() {
this(new Item.Properties());
}

@Override
public boolean isEnchantable(@Nonnull ItemStack stack) {
return false;
}

@Override
public boolean canRightClickEquip(@Nonnull ItemStack stack) {
return true;
}
}
Original file line number Diff line number Diff line change
@@ -1,27 +1,13 @@
package com.teammetallurgy.atum.items.artifacts.atem;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.api.IArtifact;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.init.AtumParticles;
import com.teammetallurgy.atum.items.tools.AtumShieldItem;
import net.minecraft.entity.CreatureAttribute;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.Rarity;
import net.minecraft.util.DamageSource;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod.EventBusSubscriber(modid = Atum.MOD_ID)
public class AtemsProtectionItem extends AtumShieldItem implements IArtifact {
private static boolean isBlocking = false;

public AtemsProtectionItem() {
super(500, new Item.Properties().rarity(Rarity.RARE));
Expand All @@ -32,27 +18,4 @@ public AtemsProtectionItem() {
public God getGod() {
return God.ATEM;
}

@SubscribeEvent
public static void onUse(LivingEntityUseItemEvent.Tick event) {
LivingEntity entity = event.getEntityLiving();
if (entity instanceof PlayerEntity && entity.getHeldItem(entity.getActiveHand()).getItem() == AtumItems.ATEMS_PROTECTION) {
isBlocking = true;
}
}

@SubscribeEvent
public static void onHurt(LivingHurtEvent event) {
Entity source = event.getSource().getImmediateSource();
if (source instanceof LivingEntity && isBlocking && ((LivingEntity) source).getCreatureAttribute() == CreatureAttribute.UNDEAD /*&& random.nextFloat() <= 0.50F*/) {
LivingEntity entity = event.getEntityLiving();
source.setFire(8);
source.attackEntityFrom(DamageSource.GENERIC, 2.0F);
if (entity.world instanceof ServerWorld) {
ServerWorld serverWorld = (ServerWorld) entity.world;
serverWorld.spawnParticle(AtumParticles.LIGHT_SPARKLE, entity.getPosX(), entity.getPosY() + 1.0D, entity.getPosZ(), 40, 0.1D, 0.0D, 0.1D, 0.01D);
}
isBlocking = false;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,70 +4,18 @@
import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.api.IArtifact;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.init.AtumParticles;
import it.unimi.dsi.fastutil.objects.Object2FloatMap;
import it.unimi.dsi.fastutil.objects.Object2FloatOpenHashMap;
import net.minecraft.entity.CreatureAttribute;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.item.SwordItem;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

import javax.annotation.Nonnull;

@Mod.EventBusSubscriber(modid = Atum.MOD_ID)
public class AtemsWillItem extends SwordItem implements IArtifact {
private static final Object2FloatMap<PlayerEntity> COOLDOWN = new Object2FloatOpenHashMap<>();

public AtemsWillItem() {
super(AtumMats.NEBU, 3, -2.4F, new Item.Properties().group(Atum.GROUP));
super(AtumMats.NEBU, 3, -2.4F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
public God getGod() {
return God.ATEM;
}

@Override
@Nonnull
public Rarity getRarity(@Nonnull ItemStack stack) {
return Rarity.RARE;
}

@SubscribeEvent(priority = EventPriority.LOWEST)
public static void onAttack(AttackEntityEvent event) {
PlayerEntity player = event.getPlayer();
if (player.world.isRemote) return;
if (event.getTarget() instanceof LivingEntity && ((LivingEntity) event.getTarget()).getCreatureAttribute() == CreatureAttribute.UNDEAD) {
if (player.getHeldItemMainhand().getItem() == AtumItems.ATEMS_WILL) {
COOLDOWN.put(player, player.getCooledAttackStrength(0.5F));
}
}
}

@SubscribeEvent
public static void onHurt(LivingHurtEvent event) {
Entity trueSource = event.getSource().getTrueSource();
if (trueSource instanceof PlayerEntity && COOLDOWN.containsKey(trueSource)) {
if (COOLDOWN.getFloat(trueSource) == 1.0F) {
LivingEntity target = event.getEntityLiving();
event.setAmount(event.getAmount() * 2);
if (target.world instanceof ServerWorld) {
ServerWorld serverWorld = (ServerWorld) target.world;
serverWorld.spawnParticle(AtumParticles.LIGHT_SPARKLE, target.getPosX() + (random.nextDouble() - 0.5D) * (double) target.getWidth(), target.getPosY() + (target.getHeight() / 2), target.getPosZ() + (random.nextDouble() - 0.5D) * (double) target.getWidth(), 16, 0.25D, 0.05D, 0.25D, 0.01D);
}
}
COOLDOWN.removeFloat(trueSource);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.teammetallurgy.atum.api.God;
import com.teammetallurgy.atum.api.IArtifact;
import com.teammetallurgy.atum.init.AtumParticles;
import com.teammetallurgy.atum.items.tools.AmuletItem;
import com.teammetallurgy.atum.items.artifacts.AmuletItem;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import net.minecraft.entity.LivingEntity;
Expand Down

0 comments on commit 140e48d

Please sign in to comment.