diff --git a/src/main/java/ellpeck/actuallyadditions/PLANNED.txt b/src/main/java/ellpeck/actuallyadditions/PLANNED.txt index f50d7c29d..c48dce756 100644 --- a/src/main/java/ellpeck/actuallyadditions/PLANNED.txt +++ b/src/main/java/ellpeck/actuallyadditions/PLANNED.txt @@ -73,7 +73,6 @@ -Ring of Thorns: Hurts Attackers when they hit you with a Projectile -Ring of Water Walking -Ring of Aquadive: Fast underwater movement - -Ring of Water Absorption: Removes Water around -Ring of Unarmoring: Attacker lose parts of their Armor -Food Cannon diff --git a/src/main/java/ellpeck/actuallyadditions/items/InitItems.java b/src/main/java/ellpeck/actuallyadditions/items/InitItems.java index 3520a14a4..1368f2ffd 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/InitItems.java +++ b/src/main/java/ellpeck/actuallyadditions/items/InitItems.java @@ -110,6 +110,7 @@ public class InitItems{ public static Item itemGrowthRing; public static Item itemMagnetRing; + public static Item itemWaterRemovalRing; public static void init(){ ModUtil.LOGGER.info("Initializing Items..."); @@ -120,6 +121,9 @@ public class InitItems{ itemMagnetRing = new ItemMagnetRing(); ItemUtil.register(itemMagnetRing); + itemWaterRemovalRing = new ItemWaterRemovalRing(); + ItemUtil.register(itemWaterRemovalRing); + itemHelmEmerald = new ItemArmorAA("itemHelmEmerald", InitArmorMaterials.armorMaterialEmerald, 0, "gemEmerald", "armorEmerald"); itemChestEmerald = new ItemArmorAA("itemChestEmerald", InitArmorMaterials.armorMaterialEmerald, 1, "gemEmerald", "armorEmerald"); itemPantsEmerald = new ItemArmorAA("itemPantsEmerald", InitArmorMaterials.armorMaterialEmerald, 2, "gemEmerald", "armorEmerald"); diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemWaterRemovalRing.java b/src/main/java/ellpeck/actuallyadditions/items/ItemWaterRemovalRing.java new file mode 100644 index 000000000..eb3d9d1ba --- /dev/null +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemWaterRemovalRing.java @@ -0,0 +1,85 @@ +package ellpeck.actuallyadditions.items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.actuallyadditions.util.INameableItem; +import ellpeck.actuallyadditions.util.ModUtil; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class ItemWaterRemovalRing extends ItemEnergy implements INameableItem{ + + private static final int RANGE = 2; + private static final int ENERGY_USED_PER_BLOCK = 30; + + public ItemWaterRemovalRing(){ + super(1000000, 5000, 2); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5){ + if(!(entity instanceof EntityPlayer) || world.isRemote) return; + + EntityPlayer player = (EntityPlayer)entity; + ItemStack equipped = player.getCurrentEquippedItem(); + + if(equipped != null && equipped == stack && this.getEnergyStored(stack) >= ENERGY_USED_PER_BLOCK){ + + //Setting everything to air + for(int x = -RANGE; x < RANGE+1; x++){ + for(int z = -RANGE; z < RANGE+1; z++){ + for(int y = -RANGE; y < RANGE+1; y++){ + int theX = (int)player.posX+x; + int theY = (int)player.posY+y; + int theZ = (int)player.posZ+z; + if(this.getEnergyStored(stack) >= ENERGY_USED_PER_BLOCK){ + //Remove Water + if(world.getBlock(theX, theY, theZ) == Blocks.water || world.getBlock(theX, theY, theZ) == Blocks.flowing_water){ + world.setBlockToAir(theX, theY, theZ); + + if(!player.capabilities.isCreativeMode){ + this.extractEnergy(stack, ENERGY_USED_PER_BLOCK, false); + } + } + //Remove Lava + else if(world.getBlock(theX, theY, theZ) == Blocks.lava || world.getBlock(theX, theY, theZ) == Blocks.flowing_lava){ + world.setBlockToAir(theX, theY, theZ); + + if(!player.capabilities.isCreativeMode){ + this.extractEnergy(stack, ENERGY_USED_PER_BLOCK*2, false); + } + } + } + } + } + } + } + } + + @Override + public EnumRarity getRarity(ItemStack stack){ + return EnumRarity.epic; + } + + @Override + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER+":"+this.getName()); + } + + @Override + public String getName(){ + return "itemWaterRemovalRing"; + } +} diff --git a/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz1.png b/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz1.png new file mode 100644 index 000000000..77f6a1976 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz1.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz2.png b/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz2.png new file mode 100644 index 000000000..c5a94d98f Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/armor/armorQuartz2.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemAxeQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemAxeQuartz.png new file mode 100644 index 000000000..ade0458ad Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemAxeQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemBootsQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemBootsQuartz.png new file mode 100644 index 000000000..febe1beab Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemBootsQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemChestQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemChestQuartz.png new file mode 100644 index 000000000..b1d3c6829 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemChestQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemGrowthRing.png b/src/main/resources/assets/actuallyadditions/textures/items/itemGrowthRing.png new file mode 100644 index 000000000..d0d465e1e Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemGrowthRing.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemHelmQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemHelmQuartz.png new file mode 100644 index 000000000..57ab7f798 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemHelmQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemHoeQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemHoeQuartz.png new file mode 100644 index 000000000..7dce10d41 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemHoeQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemPantsQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemPantsQuartz.png new file mode 100644 index 000000000..8ea4efa6c Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemPantsQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemPickaxeQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemPickaxeQuartz.png new file mode 100644 index 000000000..e059307b6 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemPickaxeQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemShovelQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemShovelQuartz.png new file mode 100644 index 000000000..55a0bf62e Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemShovelQuartz.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemSuctionRing.png b/src/main/resources/assets/actuallyadditions/textures/items/itemSuctionRing.png new file mode 100644 index 000000000..6ae1b4a6b Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemSuctionRing.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemSwordQuartz.png b/src/main/resources/assets/actuallyadditions/textures/items/itemSwordQuartz.png new file mode 100644 index 000000000..4ae95a417 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/items/itemSwordQuartz.png differ