mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
239 lines
7.5 KiB
Java
239 lines
7.5 KiB
Java
package com.hbm.items.special;
|
|
|
|
import java.util.List;
|
|
|
|
import com.hbm.blocks.ModBlocks;
|
|
import com.hbm.entity.effect.EntityVortex;
|
|
import com.hbm.entity.missile.EntityMIRV;
|
|
import com.hbm.entity.projectile.EntityBoxcar;
|
|
import com.hbm.explosion.ExplosionChaos;
|
|
import com.hbm.explosion.ExplosionLarge;
|
|
import com.hbm.items.ModItems;
|
|
import com.hbm.lib.ModDamageSource;
|
|
import com.hbm.main.MainRegistry;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.potion.Potion;
|
|
import net.minecraft.potion.PotionEffect;
|
|
import net.minecraft.util.ChatComponentText;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemGlitch extends Item {
|
|
|
|
public ItemGlitch()
|
|
{
|
|
this.maxStackSize = 1;
|
|
this.setMaxDamage(1);
|
|
}
|
|
|
|
|
|
@Override
|
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
|
|
|
stack.damageItem(5, player);
|
|
|
|
if(!world.isRemote)
|
|
switch(itemRand.nextInt(31)) {
|
|
case 0:
|
|
player.addChatMessage(new ChatComponentText("Sorry nothing."));
|
|
break;
|
|
case 1:
|
|
player.addChatMessage(new ChatComponentText("Prometheus was punished by the gods by giving the gift of knowledge to man. He was cast into the bowels of the earth and pecked by birds."));
|
|
break;
|
|
case 2:
|
|
player.attackEntityFrom(ModDamageSource.radiation, 1000);
|
|
break;
|
|
case 3:
|
|
player.attackEntityFrom(ModDamageSource.boxcar, 1000);
|
|
break;
|
|
case 4:
|
|
player.attackEntityFrom(ModDamageSource.blackhole, 1000);
|
|
break;
|
|
case 5:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.block_meteor_treasure.getItemDropped(0, itemRand, 0)));
|
|
break;
|
|
case 6:
|
|
for(int i = 0; i < 3; i++)
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.block_meteor_treasure.getItemDropped(0, itemRand, 0)));
|
|
break;
|
|
case 7:
|
|
for(int i = 0; i < 10; i++)
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.block_meteor_treasure.getItemDropped(0, itemRand, 0)));
|
|
break;
|
|
case 8:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_container, 10));
|
|
player.addChatMessage(new ChatComponentText("Oh, and by the way: The polaroid shifts reality. Things can be different if the polaroid is broken."));
|
|
break;
|
|
case 9:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.nuke_advanced_kit, 1));
|
|
break;
|
|
case 10:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.nuke_starter_kit, 1));
|
|
break;
|
|
case 11:
|
|
EntityBoxcar pip = new EntityBoxcar(world);
|
|
pip.posX = player.posX;
|
|
pip.posY = player.posY + 50;
|
|
pip.posZ = player.posZ;
|
|
world.spawnEntityInWorld(pip);
|
|
break;
|
|
case 12:
|
|
for(int i = 0; i < 10; i++) {
|
|
EntityBoxcar pippo = new EntityBoxcar(world);
|
|
pippo.posX = player.posX + itemRand.nextGaussian() * 25;
|
|
pippo.posY = player.posY + 50;
|
|
pippo.posZ = player.posZ + itemRand.nextGaussian() * 25;
|
|
world.spawnEntityInWorld(pippo);
|
|
}
|
|
break;
|
|
case 13:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_pip));
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_sparkle));
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter));
|
|
player.addChatMessage(new ChatComponentText("Congratz, you're the wasteland hero now, now throw yourself into some fire or something for this weird achievement. Get going already, I'm not even being paid to tell you this."));
|
|
break;
|
|
case 14:
|
|
player.inventory.dropAllItems();
|
|
ExplosionChaos.burn(world, (int)player.posX, (int)player.posY, (int)player.posZ, 5);
|
|
break;
|
|
case 15:
|
|
for(int i = 0; i < 36; i++)
|
|
player.inventory.addItemStackToInventory(new ItemStack(Blocks.dirt, 64));
|
|
break;
|
|
case 16:
|
|
player.addChatMessage(new ChatComponentText("v yvxr lbhe nggvghqr!"));
|
|
break;
|
|
case 17:
|
|
player.addChatMessage(new ChatComponentText("89% of magic tricks are not magic. Technically, they are sorcery."));
|
|
break;
|
|
case 18:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action));
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action_ammo, 12));
|
|
player.addChatMessage(new ChatComponentText("Here ya go."));
|
|
break;
|
|
case 19:
|
|
player.addChatMessage(new ChatComponentText("Indigo - Purple - Pink - Indigo"));
|
|
break;
|
|
case 20:
|
|
player.addChatMessage(new ChatComponentText("These colors are everywhere. Everywhere."));
|
|
break;
|
|
case 21:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear));
|
|
player.addChatMessage(new ChatComponentText("73616d706c652074657874!"));
|
|
break;
|
|
case 22:
|
|
player.addChatMessage(new ChatComponentText("Budget cuts, no effect for you."));
|
|
break;
|
|
case 23:
|
|
player.addChatMessage(new ChatComponentText("oof"));
|
|
break;
|
|
case 24:
|
|
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 9));
|
|
player.addChatMessage(new ChatComponentText("Tank!"));
|
|
break;
|
|
case 25:
|
|
player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 9));
|
|
player.addChatMessage(new ChatComponentText("More devastating than a falling boxcar!"));
|
|
break;
|
|
case 26:
|
|
player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 60 * 20, 9));
|
|
player.addChatMessage(new ChatComponentText("Ha!"));
|
|
break;
|
|
case 27:
|
|
EntityVortex vortex = new EntityVortex(world, 2.5F);
|
|
vortex.posX = player.posX;
|
|
vortex.posY = player.posY - 15;
|
|
vortex.posZ = player.posZ;
|
|
world.spawnEntityInWorld(vortex);
|
|
break;
|
|
case 28:
|
|
EntityMIRV mirv = new EntityMIRV(world);
|
|
mirv.posX = player.posX;
|
|
mirv.posY = player.posY + 100;
|
|
mirv.posZ = player.posZ;
|
|
world.spawnEntityInWorld(mirv);
|
|
player.addChatMessage(new ChatComponentText("Watch your head..."));
|
|
break;
|
|
case 29:
|
|
ExplosionLarge.spawnBurst(world, player.posX, player.posY, player.posZ, 27, 3);
|
|
player.addChatMessage(new ChatComponentText("Bam!"));
|
|
break;
|
|
case 30:
|
|
player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_dineutronium));
|
|
player.addChatMessage(new ChatComponentText("Stare at it. No really, stare at it until you understand. Stare at it more. Stop reading this text, STARE AT IT!"));
|
|
break;
|
|
}
|
|
|
|
player.inventoryContainer.detectAndSendChanges();
|
|
|
|
return stack;
|
|
}
|
|
|
|
@Override
|
|
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
|
|
{
|
|
list.add("It's a gamble!");
|
|
list.add("");
|
|
switch(MainRegistry.polaroidID) {
|
|
case 1:
|
|
list.add("Click-click-click!");
|
|
break;
|
|
case 2:
|
|
list.add("Creek!");
|
|
break;
|
|
case 3:
|
|
list.add("Bzzzt!");
|
|
break;
|
|
case 4:
|
|
list.add("TS staring off into space.");
|
|
break;
|
|
case 5:
|
|
list.add("BANG!!");
|
|
break;
|
|
case 6:
|
|
list.add("Woop!");
|
|
break;
|
|
case 7:
|
|
list.add("Poow!");
|
|
break;
|
|
case 8:
|
|
list.add("Pft!");
|
|
break;
|
|
case 9:
|
|
list.add("GF fgnevat bss vagb fcnpr.");
|
|
break;
|
|
case 10:
|
|
list.add("Backup memory #8 on 1.44 million bytes.");
|
|
break;
|
|
case 11:
|
|
list.add("PTANG!");
|
|
break;
|
|
case 12:
|
|
list.add("Bzzt-zrrt!");
|
|
break;
|
|
case 13:
|
|
list.add("Clang, click-brrthththrtrtrtrtrtr!");
|
|
break;
|
|
case 14:
|
|
list.add("KABLAM!");
|
|
break;
|
|
case 15:
|
|
list.add("PLENG!");
|
|
break;
|
|
case 16:
|
|
list.add("Wheeeeeeee-");
|
|
break;
|
|
case 17:
|
|
list.add("Thump.");
|
|
break;
|
|
case 18:
|
|
list.add("BANG! Choo-chooo! B A N G ! ! !");
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|