Achievements!

now with an actual progression and even more witty descriptions
This commit is contained in:
Vaern 2021-12-21 17:28:00 -08:00
parent 67c5555876
commit 97d0a67eef
16 changed files with 282 additions and 107 deletions

View File

@ -15,6 +15,7 @@ import com.hbm.interfaces.Spaghetti;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -115,6 +116,9 @@ public class EntityNukeExplosionMK3 extends Entity {
if(!this.did)
{
for(Object player : this.worldObj.playerEntities)
((EntityPlayer)player).triggerAchievement(MainRegistry.achManhattan);
if(GeneralConfig.enableExtendedLogging && !worldObj.isRemote)
MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized mk3 explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!");

View File

@ -11,6 +11,7 @@ import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -51,6 +52,9 @@ public class EntityNukeExplosionMK4 extends Entity {
return;
}
for(Object player : this.worldObj.playerEntities)
((EntityPlayer)player).triggerAchievement(MainRegistry.achManhattan);
if(!worldObj.isRemote && fallout && explosion != null) {
//float radMax = (float) (length / 2F * Math.pow(length, 2) / 35F);

View File

@ -1,7 +1,13 @@
package com.hbm.inventory;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class SlotMachineOutput extends Slot {
@ -11,7 +17,48 @@ public class SlotMachineOutput extends Slot {
}
@Override
public boolean isItemValid(ItemStack p_75214_1_) {
public boolean isItemValid(ItemStack stack) {
return false;
}
//ugly but nothing to be done
public static void checkAchievements(EntityPlayer player, ItemStack stack) {
Item item = stack.getItem();
if(item == Item.getItemFromBlock(ModBlocks.machine_chemplant))
player.triggerAchievement(MainRegistry.achChemplant);
if(item == Item.getItemFromBlock(ModBlocks.concrete) || item == Item.getItemFromBlock(ModBlocks.concrete_asbestos))
player.triggerAchievement(MainRegistry.achConcrete);
if(item == ModItems.ingot_polymer)
player.triggerAchievement(MainRegistry.achPolymer);
if(item == ModItems.ingot_desh)
player.triggerAchievement(MainRegistry.achDesh);
if(item == ModItems.gem_tantalium)
player.triggerAchievement(MainRegistry.achTantalum);
if(item == Item.getItemFromBlock(ModBlocks.machine_centrifuge))
player.triggerAchievement(MainRegistry.achCentrifuge);
if(item == ModItems.ingot_schrabidium || item == ModItems.nugget_schrabidium)
player.triggerAchievement(MainRegistry.achSchrab);
if(item == Item.getItemFromBlock(ModBlocks.machine_crystallizer))
player.triggerAchievement(MainRegistry.achAcidizer);
if(item == ModItems.nugget_technetium)
player.triggerAchievement(MainRegistry.achTechnetium);
if(item == Item.getItemFromBlock(ModBlocks.watz_core))
player.triggerAchievement(MainRegistry.achWatz);
if(item == ModItems.nugget_bismuth)
player.triggerAchievement(MainRegistry.achBismuth);
if(item == ModItems.nugget_am241 || item == ModItems.nugget_am242)
player.triggerAchievement(MainRegistry.achBreeding);
if(item == ModItems.missile_nuclear || item == ModItems.missile_nuclear_cluster || item == ModItems.missile_doomsday || item == ModItems.mp_warhead_10_nuclear || item == ModItems.mp_warhead_10_nuclear_large || item == ModItems.mp_warhead_15_nuclear || item == ModItems.mp_warhead_15_nuclear_shark || item == ModItems.mp_warhead_15_boxcar)
player.triggerAchievement(MainRegistry.achRedBalloons);
if(item == Item.getItemFromBlock(ModBlocks.struct_iter_core))
player.triggerAchievement(MainRegistry.achFusion);
}
@Override
public void onPickupFromSlot(EntityPlayer player, ItemStack stack) {
checkAchievements(player, stack);
this.onSlotChanged();
}
}

View File

@ -48,6 +48,7 @@ public class ContainerCentrifuge extends Container {
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
SlotMachineOutput.checkAchievements(p_82846_1_, var5);
if (par2 <= 5) {
if (!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true))

View File

@ -44,6 +44,7 @@ public class ContainerCrystallizer extends Container {
if(var4 != null && var4.getHasStack()) {
ItemStack var5 = var4.getStack();
var3 = var5.copy();
SlotMachineOutput.checkAchievements(p_82846_1_, var5);
if(par2 <= diFurnace.getSizeInventory() - 1) {
if(!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true)) {

View File

@ -65,6 +65,7 @@ private TileEntityMachineAssembler assembler;
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
SlotMachineOutput.checkAchievements(p_82846_1_, var5);
if (par2 <= 17) {
if (!this.mergeItemStack(var5, 18, this.inventorySlots.size(), true))

View File

@ -76,6 +76,7 @@ private TileEntityMachineChemplant nukeBoy;
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
SlotMachineOutput.checkAchievements(p_82846_1_, var5);
if (par2 <= 20) {
if (!this.mergeItemStack(var5, 21, this.inventorySlots.size(), true))

View File

@ -1,5 +1,6 @@
package com.hbm.inventory.container;
import com.hbm.inventory.SlotMachineOutput;
import com.hbm.items.ModItems;
import com.hbm.tileentity.machine.TileEntitySILEX;
@ -26,12 +27,12 @@ public class ContainerSILEX extends Container {
//Output
this.addSlotToContainer(new Slot(te, 4, 116, 90));
//Output Queue
this.addSlotToContainer(new Slot(te, 5, 134, 72));
this.addSlotToContainer(new Slot(te, 6, 152, 72));
this.addSlotToContainer(new Slot(te, 7, 134, 90));
this.addSlotToContainer(new Slot(te, 8, 152, 90));
this.addSlotToContainer(new Slot(te, 9, 134, 108));
this.addSlotToContainer(new Slot(te, 10, 152, 108));
this.addSlotToContainer(new SlotMachineOutput(te, 5, 134, 72));
this.addSlotToContainer(new SlotMachineOutput(te, 6, 152, 72));
this.addSlotToContainer(new SlotMachineOutput(te, 7, 134, 90));
this.addSlotToContainer(new SlotMachineOutput(te, 8, 152, 90));
this.addSlotToContainer(new SlotMachineOutput(te, 9, 134, 108));
this.addSlotToContainer(new SlotMachineOutput(te, 10, 152, 108));
for(int i = 0; i < 3; i++)
{
@ -55,6 +56,7 @@ public class ContainerSILEX extends Container {
if(var4 != null && var4.getHasStack()) {
ItemStack var5 = var4.getStack();
var3 = var5.copy();
SlotMachineOutput.checkAchievements(p_82846_1_, var5);
if(par2 <= silex.getSizeInventory() - 1) {
if(!this.mergeItemStack(var5, silex.getSizeInventory(), this.inventorySlots.size(), true)) {

View File

@ -283,11 +283,11 @@ public class GUIScreenBobmazon extends GuiScreen {
public enum Requirement {
STEEL(MainRegistry.bobMetalworks),
ASSEMBLY(MainRegistry.bobAssembly),
CHEMICS(MainRegistry.bobChemistry),
OIL(MainRegistry.bobOil),
NUCLEAR(MainRegistry.bobNuclear),
STEEL(MainRegistry.achBlastFurnace),
ASSEMBLY(MainRegistry.achAssembly),
CHEMICS(MainRegistry.achChemplant),
OIL(MainRegistry.achDesh),
NUCLEAR(MainRegistry.achTechnetium),
HIDDEN(MainRegistry.bobHidden);
private Requirement(Achievement achievement) {

View File

@ -175,27 +175,16 @@ public class MainRegistry {
public static Achievement achImpossible;
public static Achievement achTOB;
public static Achievement achFreytag;
public static Achievement achSelenium;
public static Achievement achPotato;
public static Achievement achC44;
public static Achievement achC20_5;
public static Achievement achSpace;
public static Achievement achFOEQ;
public static Achievement achFiend;
public static Achievement achFiend2;
public static Achievement achSoyuz;
public static Achievement achRadPoison;
public static Achievement achRadDeath;
public static Achievement achStratum;
public static Achievement achMeltdown;
public static Achievement achOmega12;
public static Achievement achRadium;
public static Achievement achSomeWounds;
public static Achievement bobMetalworks;
public static Achievement bobAssembly;
public static Achievement bobChemistry;
public static Achievement bobOil;
public static Achievement bobNuclear;
public static Achievement bobHidden;
public static Achievement horizonsStart;
public static Achievement horizonsEnd;
@ -210,7 +199,37 @@ public class MainRegistry {
public static Achievement digammaKnow;
public static Achievement digammaKauaiMoho;
public static Achievement digammaUpOnTop;
public static Achievement achBurnerPress;
public static Achievement achBlastFurnace;
public static Achievement achAssembly;
public static Achievement achSelenium;
public static Achievement achChemplant;
public static Achievement achConcrete;
public static Achievement achPolymer;
public static Achievement achDesh;
public static Achievement achTantalum;
public static Achievement achRedBalloons;
public static Achievement achManhattan;
public static Achievement achCentrifuge;
public static Achievement achFOEQ;
public static Achievement achSoyuz;
public static Achievement achSpace;
public static Achievement achSchrab;
public static Achievement achAcidizer;
public static Achievement achRadium;
public static Achievement achTechnetium;
public static Achievement achZIRNOXBoom;
public static Achievement achChicagoPile;
public static Achievement achWatz;
public static Achievement achWatzBoom;
public static Achievement achRBMK;
public static Achievement achRBMKBoom;
public static Achievement achBismuth;
public static Achievement achBreeding;
public static Achievement achFusion;
public static Achievement achMeltdown;
public static int generalOverride = 0;
public static int polaroidID = 1;
@ -757,75 +776,84 @@ public class MainRegistry {
@EventHandler
public static void load(FMLInitializationEvent event) {
achSacrifice = new Achievement("achievement.sacrifice", "sacrifice", 0, -2, ModItems.burnt_bark, null).initIndependentStat().setSpecial().registerStat();
achImpossible = new Achievement("achievement.impossible", "impossible", 2, -2, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat();
achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 0, 0, new ItemStack(ModItems.fluid_icon, 1, FluidType.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat();
achSacrifice = new Achievement("achievement.sacrifice", "sacrifice", -3, 1, ModItems.burnt_bark, null).initIndependentStat().setSpecial().registerStat();
achImpossible = new Achievement("achievement.impossible", "impossible", 18, 10, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat();
achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 3, 10, new ItemStack(ModItems.fluid_icon, 1, FluidType.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat();
achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat();
achSelenium = new Achievement("achievement.selenium", "selenium", -2, -4, ModItems.ingot_starmetal, null).initIndependentStat().setSpecial().registerStat();
achPotato = new Achievement("achievement.potato", "potato", -2, -2, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat();
achC44 = new Achievement("achievement.c44", "c44", 2, -4, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat();
achC20_5 = new Achievement("achievement.c20_5", "c20_5", 4, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat();
achSpace = new Achievement("achievement.space", "space", 4, -2, ModItems.missile_carrier, null).initIndependentStat().setSpecial().registerStat();
achFOEQ = new Achievement("achievement.FOEQ", "FOEQ", 4, 0, ModItems.sat_foeq, null).initIndependentStat().setSpecial().registerStat();
achFiend = new Achievement("achievement.fiend", "fiend", 6, -2, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat();
achFiend2 = new Achievement("achievement.fiend2", "fiend2", 6, 0, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat();
achSoyuz = new Achievement("achievement.soyuz", "soyuz", -2, 0, Items.baked_potato, null).initIndependentStat().setSpecial().registerStat();
achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat();
achFiend = new Achievement("achievement.fiend", "fiend", -6, 8, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat();
achFiend2 = new Achievement("achievement.fiend2", "fiend2", -4, 9, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat();
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
achMeltdown = new Achievement("achievement.meltdown", "meltdown", -4, 0, new ItemStack(ModBlocks.iter), null).initIndependentStat().setSpecial().registerStat();
achOmega12 = new Achievement("achievement.omega12", "omega12", -4, 2, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
achRadium = new Achievement("achievement.radium", "radium", -4, 4, ModItems.coffee_radium, null).initIndependentStat().setSpecial().registerStat();
achOmega12 = new Achievement("achievement.omega12", "omega12", 17, -1, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat();
bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat();
bobChemistry = new Achievement("achievement.chemistry", "chemistry", 2, 2, ModItems.bob_chemistry, bobAssembly).initIndependentStat().registerStat();
bobOil = new Achievement("achievement.oil", "oil", 4, 2, ModItems.bob_oil, bobChemistry).initIndependentStat().registerStat();
bobNuclear = new Achievement("achievement.nuclear", "nuclear", 6, 2, ModItems.bob_nuclear, bobOil).initIndependentStat().registerStat();
bobHidden = new Achievement("achievement.hidden", "hidden", 8, 2, ModItems.gun_dampfmaschine, bobNuclear).initIndependentStat().registerStat();
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat();
horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -2, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat();
horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", 0, 4, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat();
horizonsBonus = new Achievement("achievement.horizonsBonus", "horizonsBonus", 2, 4, ModItems.sat_gerald, horizonsEnd).initIndependentStat().registerStat().setSpecial();
horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat();
horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", -3, 4, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat();
horizonsBonus = new Achievement("achievement.horizonsBonus", "horizonsBonus", -1, 4, ModItems.sat_gerald, horizonsEnd).initIndependentStat().registerStat().setSpecial();
bossCreeper = new Achievement("achievement.bossCreeper", "bossCreeper", 8, 0, ModItems.coin_creeper, null).initIndependentStat().registerStat();
bossMeltdown = new Achievement("achievement.bossMeltdown", "bossMeltdown", 9, -1, ModItems.coin_radiation, bossCreeper).initIndependentStat().registerStat();
bossMaskman = new Achievement("achievement.bossMaskman", "bossMaskman", 9, 1, ModItems.coin_maskman, bossCreeper).initIndependentStat().registerStat();
bossWorm = new Achievement("achievement.bossWorm", "bossWorm", 11, 1, ModItems.coin_worm, bossMaskman).initIndependentStat().registerStat().setSpecial();
bossUFO = new Achievement("achievement.bossUFO", "bossUFO", 13, 1, ModItems.coin_ufo, bossWorm).initIndependentStat().registerStat().setSpecial();
bossCreeper = new Achievement("achievement.bossCreeper", "bossCreeper", -7, 1, ModItems.coin_creeper, null).initIndependentStat().registerStat();
bossMeltdown = new Achievement("achievement.bossMeltdown", "bossMeltdown", -8, 3, ModItems.coin_radiation, bossCreeper).initIndependentStat().registerStat();
bossMaskman = new Achievement("achievement.bossMaskman", "bossMaskman", -8, -1, ModItems.coin_maskman, bossCreeper).initIndependentStat().registerStat();
bossWorm = new Achievement("achievement.bossWorm", "bossWorm", -8, -3, ModItems.coin_worm, bossMaskman).initIndependentStat().registerStat().setSpecial();
bossUFO = new Achievement("achievement.bossUFO", "bossUFO", -6, -3, ModItems.coin_ufo, bossWorm).initIndependentStat().registerStat().setSpecial();
achRadPoison = new Achievement("achievement.radPoison", "radPoison", -2, 6, ModItems.geiger_counter, null).initIndependentStat().registerStat();
achRadDeath = new Achievement("achievement.radDeath", "radDeath", 0, 6, Items.skull, achRadPoison).initIndependentStat().registerStat().setSpecial();
achSomeWounds = new Achievement("achievement.someWounds", "someWounds", -2, 10, ModItems.injector_knife, null).initIndependentStat().registerStat();
digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -2, 8, ModItems.digamma_see, null).initIndependentStat().registerStat();
digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 0, 8, ModItems.digamma_feel, digammaSee).initIndependentStat().registerStat();
digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 2, 8, ModItems.digamma_know, digammaFeel).initIndependentStat().registerStat().setSpecial();
digammaKauaiMoho = new Achievement("achievement.digammaKauaiMoho", "digammaKauaiMoho", 4, 8, ModItems.digamma_kauai_moho, digammaKnow).initIndependentStat().registerStat().setSpecial();
digammaUpOnTop = new Achievement("achievement.digammaUpOnTop", "digammaUpOnTop", 6, 8, ModItems.digamma_up_on_top, digammaKauaiMoho).initIndependentStat().registerStat().setSpecial();
digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -1, 8, ModItems.digamma_see, null).initIndependentStat().registerStat();
digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 1, 8, ModItems.digamma_feel, digammaSee).initIndependentStat().registerStat();
digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 3, 8, ModItems.digamma_know, digammaFeel).initIndependentStat().registerStat().setSpecial();
digammaKauaiMoho = new Achievement("achievement.digammaKauaiMoho", "digammaKauaiMoho", 5, 8, ModItems.digamma_kauai_moho, digammaKnow).initIndependentStat().registerStat().setSpecial();
digammaUpOnTop = new Achievement("achievement.digammaUpOnTop", "digammaUpOnTop", 7, 8, ModItems.digamma_up_on_top, digammaKauaiMoho).initIndependentStat().registerStat().setSpecial();
//progression achieves
achBurnerPress = new Achievement("achievement.burnerPress", "burnerPress", 0, 0, new ItemStack(ModBlocks.machine_press), null).initIndependentStat().registerStat();
achBlastFurnace = new Achievement("achievement.blastFurnace", "blastFurnace", 1, 3, new ItemStack(ModBlocks.machine_difurnace_off), achBurnerPress).initIndependentStat().registerStat();
achAssembly = new Achievement("achievement.assembly", "assembly", 3, -1, new ItemStack(ModBlocks.machine_assembler), achBurnerPress).initIndependentStat().registerStat();
achSelenium = new Achievement("achievement.selenium", "selenium", 3, 2, ModItems.ingot_starmetal, achBurnerPress).initIndependentStat().setSpecial().registerStat();
achChemplant = new Achievement("achievement.chemplant", "chemplant", 6, -1, new ItemStack(ModBlocks.machine_chemplant), achAssembly).initIndependentStat().registerStat();
achConcrete = new Achievement("achievement.concrete", "concrete", 6, -4, new ItemStack(ModBlocks.concrete), achChemplant).initIndependentStat().registerStat();
achPolymer = new Achievement("achievement.polymer", "polymer", 9, -1, ModItems.ingot_polymer, achChemplant).initIndependentStat().registerStat();
achDesh = new Achievement("achievement.desh", "desh", 9, 2, ModItems.ingot_desh, achChemplant).initIndependentStat().registerStat();
achTantalum = new Achievement("achievement.tantalum", "tantalum", 7, 3, ModItems.gem_tantalium, achChemplant).initIndependentStat().setSpecial().registerStat();
achCentrifuge = new Achievement("achievement.centrifuge", "centrifuge", 12, -2, new ItemStack(ModBlocks.machine_centrifuge), achPolymer).initIndependentStat().registerStat();
achFOEQ = new Achievement("achievement.FOEQ", "FOEQ", 5, 5, ModItems.sat_foeq, achDesh).initIndependentStat().setSpecial().registerStat();
achSoyuz = new Achievement("achievement.soyuz", "soyuz", 7, 6, Items.baked_potato, achDesh).initIndependentStat().setSpecial().registerStat();
achSpace = new Achievement("achievement.space", "space", 9, 7, ModItems.missile_carrier, achDesh).initIndependentStat().setSpecial().registerStat();
achSchrab = new Achievement("achievement.schrab", "schrab", 11, 3, ModItems.ingot_schrabidium, achDesh).initIndependentStat().registerStat();
achAcidizer = new Achievement("achievement.acidizer", "acidizer", 11, 5, new ItemStack(ModBlocks.machine_crystallizer), achDesh).initIndependentStat().registerStat();
achRadium = new Achievement("achievement.radium", "radium", 13, -4, ModItems.coffee_radium, achCentrifuge).initIndependentStat().setSpecial().registerStat();
achTechnetium = new Achievement("achievement.technetium", "technetium", 15, -2, ModItems.ingot_tcalloy, achCentrifuge).initIndependentStat().registerStat();
achZIRNOXBoom = new Achievement("achievement.ZIRNOXBoom", "ZIRNOXBoom", 14, -1, ModItems.debris_element, achCentrifuge).initIndependentStat().setSpecial().registerStat();
achChicagoPile = new Achievement("achievement.chicagoPile", "chicagoPile", 13, 0, ModItems.pile_rod_plutonium, achCentrifuge).initIndependentStat().registerStat();
achWatz = new Achievement("achievement.watz", "watz", 14, 3, ModItems.pellet_schrabidium, achSchrab).initIndependentStat().registerStat();
achWatzBoom = new Achievement("achievement.watzBoom", "watzBoom", 14, 5, ModItems.bucket_mud, achWatz).initIndependentStat().setSpecial().registerStat();
achRBMK = new Achievement("achievement.RBMK", "RBMK", 9, -5, ModItems.rbmk_fuel_ueu, achConcrete).initIndependentStat().registerStat();
achRBMKBoom = new Achievement("achievement.RBMKBoom", "RBMKBoom", 9, -7, ModItems.debris_fuel, achRBMK).initIndependentStat().setSpecial().registerStat();
achBismuth = new Achievement("achievement.bismuth", "bismuth", 11, -6, ModItems.ingot_bismuth, achRBMK).initIndependentStat().registerStat();
achBreeding = new Achievement("achievement.breeding", "breeding", 7, -6, ModItems.ingot_am_mix, achRBMK).initIndependentStat().setSpecial().registerStat();
achFusion = new Achievement("achievement.fusion", "fusion", 13, -7, new ItemStack(ModBlocks.iter), achBismuth).initIndependentStat().setSpecial().registerStat();
achMeltdown = new Achievement("achievement.meltdown", "meltdown", 15, -7, ModItems.crystal_energy, achFusion).initIndependentStat().setSpecial().registerStat();
achRedBalloons = new Achievement("achievement.redBalloons", "redBalloons", 11, 0, ModItems.missile_nuclear, achPolymer).initIndependentStat().setSpecial().registerStat();
achManhattan = new Achievement("achievement.manhattan", "manhattan", 11, -4, new ItemStack(ModBlocks.nuke_boy), achPolymer).initIndependentStat().setSpecial().registerStat();
AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[] {
achSacrifice,
achImpossible,
achTOB,
achFreytag,
achSelenium,
achPotato,
achC44,
achC20_5,
achSpace,
achFOEQ,
achFiend,
achFiend2,
achSoyuz,
achStratum,
achMeltdown,
achOmega12,
achRadium,
bobMetalworks,
bobAssembly,
bobChemistry,
bobOil,
bobNuclear,
bobHidden,
horizonsStart,
horizonsEnd,
@ -842,7 +870,37 @@ public class MainRegistry {
digammaFeel,
digammaKnow,
digammaKauaiMoho,
digammaUpOnTop
digammaUpOnTop,
achBurnerPress,
achBlastFurnace,
achAssembly,
achSelenium,
achChemplant,
achConcrete,
achPolymer,
achDesh,
achTantalum,
achCentrifuge,
achFOEQ,
achSoyuz,
achSpace,
achSchrab,
achAcidizer,
achRadium,
achTechnetium,
achZIRNOXBoom,
achChicagoPile,
achWatz,
achWatzBoom,
achRBMK,
achRBMKBoom,
achBismuth,
achBreeding,
achFusion,
achMeltdown,
achRedBalloons,
achManhattan
}));
// MUST be initialized AFTER achievements!!

View File

@ -1210,20 +1210,11 @@ public class ModEventHandler {
if(item == ModItems.gun_revolver_pip) {
e.player.addStat(MainRegistry.achC44, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_difurnace_off)) {
e.player.addStat(MainRegistry.bobMetalworks, 1);
if(item == Item.getItemFromBlock(ModBlocks.machine_press)) {
e.player.triggerAchievement(MainRegistry.achBurnerPress);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_assembler)) {
e.player.addStat(MainRegistry.bobAssembly, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.brick_concrete)) {
e.player.addStat(MainRegistry.bobChemistry, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_boiler_electric_off)) {
e.player.addStat(MainRegistry.bobOil, 1);
}
if(item == ModItems.ingot_uranium_fuel) {
e.player.addStat(MainRegistry.bobNuclear, 1);
if(item == ModItems.rbmk_fuel_empty) {
e.player.triggerAchievement(MainRegistry.achRBMK);
}
}
@ -1246,7 +1237,13 @@ public class ModEventHandler {
e.player.inventoryContainer.detectAndSendChanges();
}
}
@SubscribeEvent
public void onItemPickup(PlayerEvent.ItemPickupEvent event) {
if(event.pickedUp.getEntityItem().getItem() == ModItems.canned_jizz)
event.player.triggerAchievement(MainRegistry.achC20_5);
}
@SubscribeEvent
public void onBlockBreak(BreakEvent event) {
@ -1270,6 +1267,11 @@ public class ModEventHandler {
event.world.setBlock(x, y, z, ModBlocks.gas_coal);
}
}
if(event.block == ModBlocks.pink_log && !((EntityPlayerMP) event.getPlayer()).func_147099_x().hasAchievementUnlocked(MainRegistry.achImpossible)) {
event.getPlayer().triggerAchievement(MainRegistry.achImpossible);
event.setExpToDrop(3000);
}
}
private static final String hash = "41eb77f138ce350932e33b6b26b233df9aad0c0c80c6a49cb9a54ddd8fae3f83";

View File

@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.container.ContainerAnvil;
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.util.InventoryUtil;
@ -65,9 +66,11 @@ public class AnvilCraftPacket implements IMessage {
InventoryUtil.giveChanceStacksToPlayer(p, recipe.output);
if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_difurnace_off))
p.triggerAchievement(MainRegistry.bobMetalworks);
p.triggerAchievement(MainRegistry.achBlastFurnace);
if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_assembler))
p.triggerAchievement(MainRegistry.bobAssembly);
p.triggerAchievement(MainRegistry.achAssembly);
if(recipe.output.get(0).stack.getItem() == ModItems.billet_pu_mix)
p.triggerAchievement(MainRegistry.achChicagoPile);
} else {
break;

View File

@ -22,6 +22,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemZirnoxBreedingRod;
import com.hbm.items.machine.ItemZirnoxRod;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
@ -357,12 +358,19 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
worldObj.createExplosion(null, this.xCoord, this.yCoord + 3, this.zCoord, 12.0F, true);
zirnoxDebris();
ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35);
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class,
AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.achZIRNOXBoom);
}
if(MobConfig.enableElementals) {
@SuppressWarnings("unchecked")
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100));
List<EntityPlayer> players2 = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100));
for(EntityPlayer player : players) {
for(EntityPlayer player : players2) {
player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).setBoolean("radMark", true);
}
}

View File

@ -30,6 +30,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -649,6 +650,13 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F);
}
else {
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class,
AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.achWatzBoom);
}
if (rand.nextInt(10) != 0) {
for (int i = -3; i <= 3; i++)
for (int j = -5; j <= 5; j++)

View File

@ -29,6 +29,7 @@ import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@ -47,15 +48,6 @@ import net.minecraftforge.common.util.ForgeDirection;
*/
public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacketReceiver {
/*
*
*
*
*
*
*
*/
public double heat;
public int water;
@ -469,6 +461,13 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke
worldObj.playSoundEffect(avgX + 0.5, yCoord + 1, avgZ + 0.5, "hbm:block.rbmk_explosion", 50.0F, 1.0F);
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class,
AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50));
for(EntityPlayer player : players) {
player.triggerAchievement(MainRegistry.achRBMKBoom);
}
if(RBMKBase.digamma) {
EntitySpear spear = new EntitySpear(worldObj);
spear.posX = avgX + 0.5;

View File

@ -1,7 +1,15 @@
achievement.acidizer.desc=oof ow my skin
achievement.acidizer=Acidic
achievement.assembly.desc=Wait, it's already 1 am?
achievement.assembly=The Factory Grows
achievement.FOEQ.desc=Send a relay into martian...I mean dunaian orbit.
achievement.FOEQ=Pegasi and Missile Silos
achievement.assembly.desc=Bobmazon Level 2 (Assembly Machine)
achievement.assembly=Fabrication
achievement.breeding.desc=Thank you, god bless you, and god bless the United States of America.
achievement.breeding=Ironic
achievement.bismuth.desc=Remember when people complained about this for a month? I do.
achievement.bismuth=Bismuth
achievement.blastFurnace.desc=They salvaged a sunken dreadnought for Explorer 1.
achievement.blastFurnace=Coal and Iron
achievement.bossCreeper.desc='There is nuclear creepers? Those are a thing?!'
achievement.bossCreeper=Bomb On Four Legs
achievement.bossMaskman.desc=Bonk the big boy.
@ -12,12 +20,22 @@ achievement.bossWorm.desc=The Fabstaff. My ass. You do the math.
achievement.bossWorm=Disassembling Balls-O-Tron
achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the bloockship?
achievement.bossUFO=Ayy Lmao
achievement.burnerPress.desc=Pressure pushing down on me, on you
achievement.burnerPress=Under Pressure
achievement.c20_5.desc=???
achievement.c20_5=Chapter [TWENTY POINT FIVE]
achievement.c44.desc=Galvanized! I mean, zinc!
achievement.c44=Chapter 44
achievement.chemistry.desc=Bobmazon Level 3 (Concrete Bricks)
achievement.chemistry=Chemistry
achievement.centrifuge.desc=centrifugal force is fake don't @ me
achievement.centrifuge=Centripetal Force
achievement.chemplant.desc=Now you're thinking with chemicals!
achievement.chemplant=The Factory Grows Pt. 2
achievement.chicagoPile.desc="How were the natives?" / "Very friendly."
achievement.chicagoPile=The navigator landed in the New World
achievement.concrete.desc=A Bolshevik's favorite.
achievement.concrete=Old Reliable
achievement.desh.desc="Come on then, you lot. Places to go!"
achievement.desh=Le Verrier
achievement.digammaFeel.desc=the hollow within.
achievement.digammaFeel=The Terror of Feeling
achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy.
@ -34,6 +52,8 @@ achievement.fiend2=Delinquent 2: Delinquent Harder
achievement.fiend=Delinquent
achievement.freytag.desc=Herold's life guards
achievement.freytag=Freytag
achievement.fusion.desc=A dance of deuterons, tritons, and energy.
achievement.fusion=Fusion
achievement.hidden.desc=Kill a tainted creeper with a falling boxcar.
achievement.hidden=Hidden Catalog
achievement.horizonsBonus.desc=honest to god what the hell is wrong with you
@ -44,16 +64,14 @@ achievement.horizonsStart.desc=Send a lad to the moon.
achievement.horizonsStart=Apogee
achievement.impossible.desc=You can't get this achievement.
achievement.impossible=Literally impossible
achievement.manhattan.desc=8:15, August 6th, 1945
achievement.manhattan=The Manhattan Project
achievement.meltdown.desc=You got this far, how could you mess this up?
achievement.meltdown=Rapid Unscheduled Disassembly
achievement.metalworks.desc=Bobmazon Level 1 (Blast Furnace)
achievement.metalworks=Metalworks
achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel)
achievement.nuclear=Atomic Science
achievement.oil.desc=Bobmazon Level 4 (Electric Boiler)
achievement.oil=Petroleum
achievement.omega12.desc=Solve the problem of continued life on this wretched planet.
achievement.omega12=Omega-12 Particle Accelerator
achievement.polymer.desc=Delicious, delicious microplastics.
achievement.polymer=Teflon
achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH
achievement.potato=Rogue AI
achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity.
@ -62,8 +80,16 @@ achievement.radium.desc=YOU'RE FIRED FOR POURING RADIUM IN MY COFFEE!
achievement.radium=MISTER INCREDIBLE
achievement.radPoison.desc=Suffer the effects of radiation poisoning.
achievement.radPoison=Yay, Radiation!
achievement.RBMKBoom.desc=What is the cost of lies?
achievement.RBMKBoom=It is 15,000.
achievement.RBMK.desc=He's delusional, get him to the infirmary.
achievement.RBMK=3.6 Roentegen?
achievement.redBalloons.desc="This is what we've waited for. This is it, boys, this is war."
achievement.redBalloons=99 Red Balloons
achievement.sacrifice.desc=Face the fire and live.
achievement.sacrifice=Sororicide
achievement.schrab.desc=Regardless, I wouldn't look at it for too long.
achievement.schrab=Island of Stability
achievement.selenium.desc=Yeah.
achievement.selenium=XVIII The Moon
achievement.stratum.desc=Hit the brakes, Mitts.
@ -74,8 +100,18 @@ achievement.soyuz.desc=Become crunchy.
achievement.soyuz=Baked Potato
achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars.
achievement.space=The Final Front-ah forget it
achievement.tantalum.desc=An elusive, yet ever-needed element.
achievement.tantalum="Tantalium"
achievement.tasteofblood.desc=is not part of any testing protocol.
achievement.tasteofblood=The Taste of Blood
achievement.technetium.desc=Haha, charade you are
achievement.technetium=Big Man, Pig Man
achievement.watzBoom.desc=Drain your septic tank next time.
achievement.watzBoom=Disgusting
achievement.watz.desc=Fólkvangr fields possibly included.
achievement.watz=The Power of Element-126
achievement.ZIRNOXBoom.desc=cope, seethe, mald
achievement.ZIRNOXBoom=CIRNOX
armor.blastProtection=Damage modifier of %s against explosions
armor.cap=Hard damage cap of %s