Skip to content

Commit

Permalink
Initial work on Nebu stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
GirafiStudios committed Nov 24, 2020
1 parent 5a91234 commit 654a75f
Show file tree
Hide file tree
Showing 77 changed files with 443 additions and 109 deletions.
53 changes: 50 additions & 3 deletions src/main/java/com/teammetallurgy/atum/api/AtumMats.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.IArmorMaterial;
import net.minecraft.item.IItemTier;
import net.minecraft.item.Items;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.SoundEvents;
Expand Down Expand Up @@ -204,8 +203,56 @@ public int getEnchantability() {

@Override
@Nonnull
public Ingredient getRepairMaterial() { //TODO Add nebu
return Ingredient.fromItems(Items.NETHERITE_INGOT);
public Ingredient getRepairMaterial() {
return Ingredient.fromItems(AtumItems.NEBU_INGOT);
}
};
public static final IArmorMaterial NEBU_ARMOR = new IArmorMaterial() {
private final int[] MAX_DAMAGE_ARRAY = new int[]{13, 15, 16, 11};
private final int MAX_DAMAGE_FACTOR = 37;

@Override
public int getDurability(@Nonnull EquipmentSlotType slotType) {
return MAX_DAMAGE_ARRAY[slotType.getIndex()] * MAX_DAMAGE_FACTOR;
}

@Override
public int getDamageReductionAmount(@Nonnull EquipmentSlotType slotType) {
int[] damageReduction = new int[]{3, 6, 8, 3};
return damageReduction[slotType.getIndex()];
}

@Override
public int getEnchantability() {
return 25;
}

@Override
@Nonnull
public SoundEvent getSoundEvent() {
return SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND;
}

@Override
@Nonnull
public Ingredient getRepairMaterial() {
return Ingredient.fromItems(AtumItems.NEBU_INGOT);
}

@Override
@Nonnull
public String getName() {
return "nebu";
}

@Override
public float getToughness() {
return 3.0F;
}

@Override
public float getKnockbackResistance() {
return 0.0F;
}
};

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.teammetallurgy.atum.client.particle;

import net.minecraft.client.particle.*;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.util.math.MathHelper;

import javax.annotation.Nonnull;

public class NebuFlameParticle extends DeceleratingParticle {

public NebuFlameParticle(ClientWorld world, double x, double y, double z, double motionX, double motionY, double motionZ) {
super(world, x, y, z, motionX, motionY, motionZ);
}

@Override
@Nonnull
public IParticleRenderType getRenderType() {
return IParticleRenderType.PARTICLE_SHEET_OPAQUE;
}

@Override
public void move(double x, double y, double z) {
this.setBoundingBox(this.getBoundingBox().offset(x, y, z));
this.resetPositionToBB();
}

@Override
public float getScale(float scaleFactor) {
float f = ((float) this.age + scaleFactor) / (float) this.maxAge;
return this.particleScale * (1.0F - f * f * 0.5F);
}

@Override
public int getBrightnessForRender(float partialTick) {
float f = ((float) this.age + partialTick) / (float) this.maxAge;
f = MathHelper.clamp(f, 0.0F, 1.0F);
int i = super.getBrightnessForRender(partialTick);
int j = i & 255;
int k = i >> 16 & 255;
j = j + (int) (f * 15.0F * 16.0F);
if (j > 240) {
j = 240;
}

return j | k << 16;
}

public static class Nebu implements IParticleFactory<BasicParticleType> {
private final IAnimatedSprite spriteSet;

public Nebu(IAnimatedSprite spriteSet) {
this.spriteSet = spriteSet;
}

@Override
public Particle makeParticle(@Nonnull BasicParticleType type, @Nonnull ClientWorld world, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) {
NebuFlameParticle nebuFireParticle = new NebuFlameParticle(world, x, y, z, xSpeed, ySpeed, zSpeed);
nebuFireParticle.selectSpriteRandomly(this.spriteSet);
return nebuFireParticle;
}
}
}
4 changes: 3 additions & 1 deletion src/main/java/com/teammetallurgy/atum/init/AtumBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,11 @@ public class AtumBlocks {
public static final Block DIAMOND_ORE = registerBlock(new AtumOresBlock(create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(2)), "diamond_ore");
public static final Block EMERALD_ORE = registerBlock(new AtumOresBlock(create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(2)), "emerald_ore");
public static final Block REDSTONE_ORE = registerBlock(new RedstoneOreBlock(create(Material.ROCK).tickRandomly().setLightLevel(s -> 9).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(2)), "redstone_ore");
public static final Block KHNUMITE_RAW = registerBlock(new Block(create(Material.CLAY).hardnessAndResistance(0.6F).sound(SoundType.GROUND).harvestTool(ToolType.SHOVEL).harvestLevel(0)), "khnumite_raw");
public static final Block BONE_ORE = registerBlock(new AtumOresBlock(create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(0)), "bone_ore");
public static final Block RELIC_ORE = registerBlock(new AtumOresBlock(create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(1)), "relic_ore");
public static final Block KHNUMITE_RAW = registerBlock(new Block(create(Material.CLAY).hardnessAndResistance(0.6F).sound(SoundType.GROUND).harvestTool(ToolType.SHOVEL).harvestLevel(0)), "khnumite_raw");
public static final Block NEBU_ORE = registerBlock(new AtumOresBlock(create(Material.ROCK).hardnessAndResistance(3.0F, 3.0F).harvestTool(ToolType.PICKAXE).harvestLevel(2)), "nebu_ore");
public static final Block NEBU_BLOCK = registerBlock(new Block(AbstractBlock.Properties.create(Material.IRON, MaterialColor.GOLD).setRequiresTool().hardnessAndResistance(3.0F, 6.0F).sound(SoundType.METAL)), "nebu_block");
public static final Block DIRTY_BONE = registerBlock(new RotatedPillarBlock(create(Material.ROCK, MaterialColor.SAND).hardnessAndResistance(2.0F)), "dirty_bone_block");
public static final Block DIRTY_BONE_SLAB = registerBlock(new SlabBlock(create(Material.ROCK, MaterialColor.SAND).hardnessAndResistance(2.0F)), "dirty_bone_slab");
public static final Block BONE_LADDER = registerBlock(new AtumLadderBlock(), "bone_ladder");
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/teammetallurgy/atum/init/AtumItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ public class AtumItems {
public static final Item KHNUMITE = registerItem(new SimpleItem(), "khnumite");
public static final Item DIRTY_COIN = registerItem(new CoinItem(), "coin_dirty");
public static final Item GOLD_COIN = registerItem(new CoinItem(), "coin_gold");
public static final Item NEBU_DROP = registerItem(new SimpleItem(), "nebu_drop");
public static final Item NEBU_INGOT = registerItem(new SimpleItem(), "nebu_ingot");
public static final RelicItem IDOL_RELICS = registerRelic(RelicItem.Type.IDOL);
public static final RelicItem IDOL_NECKLACES = registerRelic(RelicItem.Type.NECKLACE);
public static final RelicItem IDOL_RINGS = registerRelic(RelicItem.Type.RING);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,14 @@
public class AtumParticles {
public static final BasicParticleType ANUBIS = registerParticle("anubis");
public static final BasicParticleType ANUBIS_SKULL = registerParticle("anubis_skull");
public static final BasicParticleType EMPTY = registerParticle("empty");
public static final BasicParticleType GAS = registerParticle("gas");
public static final BasicParticleType GEB = registerParticle("geb");
public static final BasicParticleType HORUS = registerParticle("horus");
public static final BasicParticleType ISIS = registerParticle("isis");
public static final BasicParticleType LIGHT_SPARKLE = registerParticle("light_sparkle");
public static final BasicParticleType MONTU = registerParticle("montu");
public static final BasicParticleType NEBU_FLAME = registerParticle("nebu_flame");
public static final BasicParticleType NUIT_BLACK = registerParticle("nuit_black");
public static final BasicParticleType NUIT_WHITE = registerParticle("nuit_white");
public static final BasicParticleType RA_FIRE = registerParticle("ra_fire");
Expand All @@ -34,7 +36,6 @@ public class AtumParticles {
public static final BasicParticleType TAR = registerParticle("tar");
public static final BasicParticleType TEFNUT = registerParticle("tefnut");
public static final BasicParticleType TEFNUT_DROP = registerParticle("tefnut_drop");
public static final BasicParticleType EMPTY = registerParticle("empty");

@SubscribeEvent
public static void registerParticleFactories(ParticleFactoryRegisterEvent event) {
Expand All @@ -46,6 +47,7 @@ public static void registerParticleFactories(ParticleFactoryRegisterEvent event)
registerFactory(ISIS, SwirlParticle.Isis::new);
registerFactory(LIGHT_SPARKLE, LightSparkleParticle.Factory::new);
registerFactory(MONTU, MontuParticle.Factory::new);
registerFactory(NEBU_FLAME, NebuFlameParticle.Nebu::new);
registerFactory(NUIT_BLACK, SwirlParticle.NuitBlack::new);
registerFactory(NUIT_WHITE, SwirlParticle.NuitWhite::new);
registerFactory(RA_FIRE, RaFireParticle.Factory::new);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.teammetallurgy.atum.items.artifacts.anput;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.items.tools.DaggerItem;
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.ItemTier;
import net.minecraft.item.Rarity;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
Expand All @@ -27,7 +27,7 @@ public class AnputsHungerItem extends DaggerItem {
private static int hungerTimer = 80;

public AnputsHungerItem() {
super(ItemTier.DIAMOND, new Item.Properties().rarity(Rarity.RARE));
super(AtumMats.NEBU, new Item.Properties().rarity(Rarity.RARE));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.entity.stone.StoneBaseEntity;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.init.AtumParticles;
Expand Down Expand Up @@ -52,8 +53,7 @@ public class AnubisWrathItem extends SwordItem {
private float attackDamage = 5.0F;

public AnubisWrathItem() {
super(ItemTier.DIAMOND, 0, 0.0F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
int tier = getTier(new ItemStack(this));
super(AtumMats.NEBU, 0, 0.0F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.teammetallurgy.atum.items.artifacts.atem;

import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.client.model.armor.AtemArmorModel;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.items.TexturedArmorItem;
Expand All @@ -18,8 +19,8 @@

public class AtemArmor extends TexturedArmorItem {

public AtemArmor(IArmorMaterial material, String name, EquipmentSlotType slot) {
super(material, name, slot, new Item.Properties().rarity(Rarity.RARE));
public AtemArmor(String name, EquipmentSlotType slot) {
super(AtumMats.NEBU_ARMOR, name, slot, new Item.Properties().rarity(Rarity.RARE));
this.setHasRender();
}

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

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.init.AtumItems;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.*;
import net.minecraft.item.FishingRodItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Rarity;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World;
Expand Down Expand Up @@ -34,6 +38,6 @@ public void addInformation(@Nonnull ItemStack stack, @Nullable World world, List

@Override
public boolean getIsRepairable(@Nonnull ItemStack toRepair, @Nonnull ItemStack repair) {
return repair.getItem() == Items.DIAMOND;
return repair.getItem() == AtumItems.NEBU_INGOT;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class AtemsProtectionItem extends AtumShieldItem {

public AtemsProtectionItem() {
super(500, new Item.Properties().rarity(Rarity.RARE));
this.setRepairItem(Items.DIAMOND);
this.setRepairItem(AtumItems.NEBU_INGOT);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.teammetallurgy.atum.items.artifacts.atem;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.init.AtumParticles;
import it.unimi.dsi.fastutil.objects.Object2FloatMap;
Expand All @@ -26,7 +27,7 @@ public class AtemsWillItem extends SwordItem {
private static final Object2FloatMap<PlayerEntity> cooldown = new Object2FloatOpenHashMap<>();

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

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
public class BodyOfAtemItem extends AtemArmor {

public BodyOfAtemItem() {
super(ArmorMaterial.DIAMOND, "atem_armor", EquipmentSlotType.CHEST);
super("atem_armor", EquipmentSlotType.CHEST);
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class EyesOfAtemItem extends AtemArmor {
private static EffectInstance savedNightVision;

public EyesOfAtemItem() {
super(ArmorMaterial.DIAMOND, "atem_armor", EquipmentSlotType.HEAD);
super("atem_armor", EquipmentSlotType.HEAD);
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
public class FeetOfAtemItem extends AtemArmor {

public FeetOfAtemItem() {
super(ArmorMaterial.DIAMOND, "atem_armor", EquipmentSlotType.FEET);
super("atem_armor", EquipmentSlotType.FEET);
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class LegsOfAtemItem extends AtemArmor {
private static final AttributeModifier SPEED_BOOST = new AttributeModifier(UUID.fromString("2aa9e06c-cc77-4c0a-b832-58d8aaef1500"), "Legs of Atem speed boost", 0.02D, AttributeModifier.Operation.ADDITION);

public LegsOfAtemItem() {
super(ArmorMaterial.DIAMOND, "atem_armor", EquipmentSlotType.LEGS);
super("atem_armor", EquipmentSlotType.LEGS);
}

@SubscribeEvent
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.teammetallurgy.atum.items.artifacts.geb;

import com.teammetallurgy.atum.entity.projectile.arrow.ArrowSlownessEntity;
import com.teammetallurgy.atum.init.AtumItems;
import com.teammetallurgy.atum.items.tools.BaseBowItem;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ArrowEntity;
Expand All @@ -18,7 +19,7 @@ public class GebsGroundingItem extends BaseBowItem {

public GebsGroundingItem() {
super(new Item.Properties().rarity(Rarity.RARE).maxDamage(650));
this.setRepairItem(Items.DIAMOND);
this.setRepairItem(AtumItems.NEBU_INGOT);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.teammetallurgy.atum.items.artifacts.geb;

import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.init.AtumParticles;
import com.teammetallurgy.atum.items.tools.HammerItem;
import net.minecraft.entity.LivingEntity;
Expand All @@ -16,7 +17,7 @@
public class GebsMightItem extends HammerItem {

public GebsMightItem() {
super(ItemTier.DIAMOND, new Item.Properties().rarity(Rarity.RARE));
super(AtumMats.NEBU, new Item.Properties().rarity(Rarity.RARE));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.teammetallurgy.atum.items.artifacts.geb;

import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.api.AtumMats;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ExperienceOrbEntity;
Expand All @@ -16,7 +17,7 @@
public class GebsToilItem extends ShovelItem {

public GebsToilItem() {
super(ItemTier.DIAMOND, 2.0F, -3.0F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
super(AtumMats.NEBU, 2.0F, -3.0F, new Item.Properties().rarity(Rarity.RARE).group(Atum.GROUP));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.teammetallurgy.atum.items.artifacts.horus;

import com.teammetallurgy.atum.api.AtumMats;
import com.teammetallurgy.atum.entity.stone.StoneBaseEntity;
import com.teammetallurgy.atum.init.AtumParticles;
import com.teammetallurgy.atum.items.tools.GauntletItem;
Expand All @@ -20,7 +21,7 @@
public class HorusAscensionItem extends GauntletItem {

public HorusAscensionItem() {
super(ItemTier.DIAMOND, new Item.Properties().rarity(Rarity.RARE));
super(AtumMats.NEBU, new Item.Properties().rarity(Rarity.RARE));
}

@Override
Expand Down

0 comments on commit 654a75f

Please sign in to comment.