bauxite, achievement stuff, fixes

This commit is contained in:
Bob 2023-05-28 21:53:58 +02:00
parent e120654403
commit 727a158ed1
48 changed files with 398 additions and 189 deletions

View File

@ -1,6 +1,6 @@
mod_version=1.0.27
# Empty build number makes a release type
mod_build_number=4607
mod_build_number=4613
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\

View File

@ -7,7 +7,8 @@ public class BlockEnums {
ASBESTOS,
HEMATITE,
MALACHITE,
LIMESTONE
LIMESTONE,
BAUXITE
}
public static enum EnumBiomeType {

View File

@ -33,14 +33,20 @@ public class WorldConfig {
public static int bedrockOilSpawn = 200;
public static int meteoriteSpawn = 500;
public static int bedrockIronSpawn = 200;
public static int bedrockIronSpawn = 100;
public static int bedrockCopperSpawn = 200;
public static int bedrockBoraxSpawn = 300;
public static int bedrockAsbestosSpawn = 300;
public static int bedrockNiobiumSpawn = 300;
public static int bedrockTitaniumSpawn = 400;
public static int bedrockTungstenSpawn = 300;
public static int bedrockGoldSpawn = 500;
public static int bedrockBoraxSpawn = 50;
public static int bedrockAsbestosSpawn = 50;
public static int bedrockNiobiumSpawn = 50;
public static int bedrockTitaniumSpawn = 100;
public static int bedrockTungstenSpawn = 100;
public static int bedrockGoldSpawn = 50;
public static int bedrockUraniumSpawn = 35;
public static int bedrockThoriumSpawn = 50;
public static int bedrockCoalSpawn = 200;
public static int bedrockNiterSpawn = 50;
public static int bedrockFluoriteSpawn = 50;
public static int bedrockRedstoneSpawn = 50;
public static int ironClusterSpawn = 4;
public static int titaniumClusterSpawn = 2;
@ -133,14 +139,20 @@ public class WorldConfig {
bedrockOilSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.22_bedrockOilSpawnRate", "Spawns a bedrock oil node every nTH chunk", 200);
meteoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.23_meteoriteSpawnRate", "Spawns a fallen meteorite every nTH chunk", 200);
bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronSpawn", "Spawns a bedrock iron deposit every nTH chunk", 200);
bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperSpawn", "Spawns a bedrock copper deposit every nTH chunk", 200);
bedrockBoraxSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B02_bedrockBoraxSpawn", "Spawns a bedrock borax deposit every nTH chunk", 300);
bedrockAsbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B03_bedrockAsbestosSpawn", "Spawns a bedrock asbestos deposit every nTH chunk", 300);
bedrockNiobiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B04_bedrockNiobiumSpawn", "Spawns a bedrock niobium deposit every nTH chunk", 300);
bedrockTitaniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B05_bedrockTitaniumSpawn", "Spawns a bedrock titanium deposit every nTH chunk", 500);
bedrockTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B06_bedrockTungstenSpawn", "Spawns a bedrock tungsten deposit every nTH chunk", 300);
bedrockGoldSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B07_bedrockGoldSpawn", "Spawns a bedrock gold deposit every nTH chunk", 500);
bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronWeight", "Spawn weight for iron bedrock ore", 100);
bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperWeight", "Spawn weight for copper bedrock ore", 200);
bedrockBoraxSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B02_bedrockBoraxWeight", "Spawn weight for borax bedrock ore", 50);
bedrockAsbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B03_bedrockAsbestosWeight", "Spawn weight for asbestos bedrock ore", 50);
bedrockNiobiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B04_bedrockNiobiumWeight", "Spawn weight for niobium bedrock ore", 50);
bedrockTitaniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B05_bedrockTitaniumWeight", "Spawn weight for titanium bedrock ore", 100);
bedrockTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B06_bedrockTungstenWeight", "Spawn weight for tungsten bedrock ore", 100);
bedrockGoldSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B07_bedrockGoldWeight", "Spawn weight for gold bedrock ore", 50);
bedrockUraniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B08_bedrockUraniumWeight", "Spawn weight for uranium bedrock ore", 35);
bedrockThoriumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B09_bedrockThoriumWeight", "Spawn weight for thorium bedrock ore", 50);
bedrockCoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B10_bedrockCoalWeight", "Spawn weight for coal bedrock ore", 200);
bedrockNiterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B11_bedrockNiterWeight", "Spawn weight for niter bedrock ore", 50);
bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50);
bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50);
ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4);
titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2);

View File

@ -454,6 +454,10 @@ public class MineralRecipes {
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SULFUR), new ItemStack(ModItems.sulfur));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_CALCIUM), new ItemStack(ModItems.powder_calcium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_BISMUTH), new ItemStack(ModItems.powder_bismuth));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_RADIUM), new ItemStack(ModItems.powder_ra226));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_TECHNETIUM), new ItemStack(ModItems.billet_technetium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_POLONIUM), new ItemStack(ModItems.billet_polonium));
add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_URANIUM), new ItemStack(ModItems.powder_uranium));
}
//Bundled 1/9 recipes

View File

@ -78,6 +78,8 @@ public class Gun20GaugeFactory {
config.reloadSound = GunConfiguration.RSOUND_SHOTGUN;
config.firingSound = "hbm:weapon.revolverShootAlt";
config.firingPitch = 0.75F;
config.hasSights = true;
config.zoomFOV = 0.75F;
config.name = "win1887";
config.manufacturer = EnumGunManufacturer.WINCHESTER;
@ -95,6 +97,8 @@ public class Gun20GaugeFactory {
config.reloadSound = GunConfiguration.RSOUND_SHOTGUN;
config.firingSound = "hbm:weapon.revolverShootAlt";
config.firingPitch = 0.75F;
config.hasSights = true;
config.zoomFOV = 0.75F;
config.name = "win1887Inox";
config.manufacturer = EnumGunManufacturer.WINCHESTER;

View File

@ -3,6 +3,7 @@ package com.hbm.inventory;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.util.AchievementHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
@ -27,40 +28,7 @@ public class SlotCraftingOutput extends Slot {
//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_smooth) || 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_gascent))
player.triggerAchievement(MainRegistry.achGasCent);
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 == Item.getItemFromBlock(ModBlocks.machine_silex))
player.triggerAchievement(MainRegistry.achSILEX);
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);
AchievementHandler.fire(player, stack);
}
@Override

View File

@ -133,6 +133,7 @@ public class Fluids {
public static FluidType FISHOIL;
public static FluidType SUNFLOWEROIL;
public static FluidType NITROGLYCERIN;
public static FluidType REDMUD;
private static final HashMap<Integer, FluidType> idMapping = new HashMap();
private static final HashMap<String, FluidType> nameMapping = new HashMap();
@ -276,7 +277,8 @@ public class Fluids {
ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID);
FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID);
SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID);
NITROGLYCERIN = new FluidType(112, "NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID);
NITROGLYCERIN = new FluidType("NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID);
REDMUD = new FluidType(113, "REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000));
// ^ ^ ^ ^ ^ ^ ^ ^
//ADD NEW FLUIDS HERE
@ -384,6 +386,7 @@ public class Fluids {
metaOrder.add(PAIN);
metaOrder.add(DEATH);
metaOrder.add(WATZ);
metaOrder.add(REDMUD);
metaOrder.add(EGG);
metaOrder.add(CHOLESTEROL);
//solutions and working fluids
@ -415,6 +418,7 @@ public class Fluids {
MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false))
.addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0))));
ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0))));
REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2))));
double eff_steam_boil = 1.0D;
double eff_steam_heatex = 0.25D;

View File

@ -56,6 +56,7 @@ public class CokerRecipes extends SerializableRecipe {
registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER);
registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null);
registerRecipe(REDMUD, 1_000, new ItemStack(Items.iron_ingot, 2), new FluidStack(MERCURY, 50));
registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600));
registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200));
}

View File

@ -9,6 +9,8 @@ import static com.hbm.inventory.OreDictManager.*;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.BlockEnums.EnumStoneType;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.AStack;
@ -43,6 +45,7 @@ public class CombinationRecipes extends SerializableRecipe {
recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100)));
recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 50)));
recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250)));
recipes.put(KEY_LOG, new Pair(new ItemStack(Items.coal, 1 ,1), new FluidStack(Fluids.WOODOIL, 250)));
recipes.put(KEY_SAPLING, new Pair(null, new FluidStack(Fluids.WOODOIL, 50)));

View File

@ -67,6 +67,7 @@ public class SolidificationRecipes extends SerializableRecipe {
registerRecipe(SALIENT, 1280, new ItemStack(ModItems.bio_wafer, 8)); //4 (food val) * 2 (sat mod) * 2 (constant) * 10 (quanta) * 8 (batch size)
registerRecipe(ENDERJUICE, 100, Items.ender_pearl);
registerRecipe(WATZ, 1000, ModItems.ingot_mud);
registerRecipe(REDMUD, 1000, Items.iron_ingot);
registerRecipe(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE));
registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK));

View File

@ -40,4 +40,16 @@ public class ItemEnums {
ROPE,
MUSTARDWILLOW
}
public static enum EnumAchievementType {
GOFISH,
ACID,
BALLS,
DIGAMMASEE,
DIGAMMAFEEL,
DIGAMMAKNOW,
DIGAMMAKAUAIMOHO,
DIGAMMAUPONTOP,
DIGAMMAFOROURRIGHT
}
}

View File

@ -2436,18 +2436,13 @@ public class ModItems {
public static Item nothing;
public static Item void_anim;
public static Item achievement_icon;
public static Item bob_metalworks;
public static Item bob_assembly;
public static Item bob_chemistry;
public static Item bob_oil;
public static Item bob_nuclear;
public static Item digamma_see;
public static Item digamma_feel;
public static Item digamma_know;
public static Item digamma_kauai_moho;
public static Item digamma_up_on_top;
public static Item mysteryshovel;
public static Item memory;
@ -5452,16 +5447,12 @@ public class ModItems {
void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim");
achievement_icon = new ItemEnumMulti(ItemEnums.EnumAchievementType.class, true, true).setUnlocalizedName("achievement_icon");
bob_metalworks = new Item().setUnlocalizedName("bob_metalworks").setTextureName(RefStrings.MODID + ":bob_metalworks");
bob_assembly = new Item().setUnlocalizedName("bob_assembly").setTextureName(RefStrings.MODID + ":bob_assembly");
bob_chemistry = new Item().setUnlocalizedName("bob_chemistry").setTextureName(RefStrings.MODID + ":bob_chemistry");
bob_oil = new Item().setUnlocalizedName("bob_oil").setTextureName(RefStrings.MODID + ":bob_oil");
bob_nuclear = new Item().setUnlocalizedName("bob_nuclear").setTextureName(RefStrings.MODID + ":bob_nuclear");
digamma_see = new Item().setUnlocalizedName("digamma_see").setTextureName(RefStrings.MODID + ":digamma_see");
digamma_feel = new Item().setUnlocalizedName("digamma_feel").setTextureName(RefStrings.MODID + ":digamma_feel");
digamma_know = new Item().setUnlocalizedName("digamma_know").setTextureName(RefStrings.MODID + ":digamma_know");
digamma_kauai_moho = new Item().setUnlocalizedName("digamma_kauai_moho").setTextureName(RefStrings.MODID + ":digamma_kauai_moho");
digamma_up_on_top = new Item().setUnlocalizedName("digamma_up_on_top").setTextureName(RefStrings.MODID + ":digamma_up_on_top");
mysteryshovel = new ItemMS().setUnlocalizedName("mysteryshovel").setFull3D().setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cursed_shovel");
memory = new ItemBattery(Long.MAX_VALUE / 100L, 100000000000000L, 100000000000000L).setUnlocalizedName("memory").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mo8_anim");
@ -8055,16 +8046,12 @@ public class ModItems {
GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName());
GameRegistry.registerItem(nothing, nothing.getUnlocalizedName());
GameRegistry.registerItem(void_anim, void_anim.getUnlocalizedName());
GameRegistry.registerItem(achievement_icon, achievement_icon.getUnlocalizedName());
GameRegistry.registerItem(bob_metalworks, bob_metalworks.getUnlocalizedName());
GameRegistry.registerItem(bob_assembly, bob_assembly.getUnlocalizedName());
GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName());
GameRegistry.registerItem(bob_oil, bob_oil.getUnlocalizedName());
GameRegistry.registerItem(bob_nuclear, bob_nuclear.getUnlocalizedName());
GameRegistry.registerItem(digamma_see, digamma_see.getUnlocalizedName());
GameRegistry.registerItem(digamma_feel, digamma_feel.getUnlocalizedName());
GameRegistry.registerItem(digamma_know, digamma_know.getUnlocalizedName());
GameRegistry.registerItem(digamma_kauai_moho, digamma_kauai_moho.getUnlocalizedName());
GameRegistry.registerItem(digamma_up_on_top, digamma_up_on_top.getUnlocalizedName());
GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName());
GameRegistry.registerItem(memory, memory.getUnlocalizedName());

View File

@ -92,7 +92,9 @@ public class ItemBedrockOre extends ItemEnumMulti {
NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite
TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium
TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten
GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH); //occurs with copper, lead and rare bismuthide
GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH), //occurs with copper, lead and rare bismuthide
URANIUM("Uranium", 0x868D82, B_LEAD, B_RADIUM, B_POLONIUM), //uranium and its decay products
THORIUM("Thorium", 0x7D401D, B_SILICON, B_URANIUM, B_TECHNETIUM); //thorium occours with uraninite and decay products
public String oreName;
public int color;

View File

@ -31,7 +31,11 @@ public class ItemByproduct extends ItemEnumMulti {
B_ALUMINIUM(0xE8F2F9),
B_SULFUR(0xEAD377),
B_CALCIUM(0xCFCFA6),
B_BISMUTH(0x8D8577);
B_BISMUTH(0x8D8577),
B_RADIUM(0xE9FAF6),
B_TECHNETIUM(0xCADFDF),
B_POLONIUM(0xCADFDF),
B_URANIUM(0x868D82);
public int color;

View File

@ -63,6 +63,10 @@ public class ItemBoltgun extends Item implements IAnimatedItem {
player.inventory.decrStackSize(i, 1);
player.inventoryContainer.detectAndSendChanges();
EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), 10F);
if(!entity.isEntityAlive() && entity instanceof EntityPlayer) {
((EntityPlayer) entity).triggerAchievement(MainRegistry.achGoFish);
}
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "vanillaExt");

View File

@ -11,6 +11,10 @@ import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
import com.hbm.handler.ToolAbility;
import com.hbm.handler.ToolAbility.*;
import com.hbm.main.MainRegistry;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.PlayerInformPacket;
import com.hbm.util.ChatBuilder;
import com.hbm.handler.WeaponAbility;
import api.hbm.item.IDepthRockTool;
@ -22,14 +26,12 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemTool;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
@ -239,18 +241,17 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc
while(getCurrentAbility(stack) != null && !getCurrentAbility(stack).isAllowed()) {
player.addChatComponentMessage(new ChatComponentText("[Ability ").appendSibling(new ChatComponentTranslation(getCurrentAbility(stack).getName(), new Object[0]))
.appendSibling(new ChatComponentText(getCurrentAbility(stack).getExtension() + " is blacklisted!]")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Ability ").nextTranslation(getCurrentAbility(stack).getName()).next(getCurrentAbility(stack).getExtension() + " is blacklisted!]").colorAll(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player);
i++;
setAbility(stack, i % this.breakAbility.size());
}
if(getCurrentAbility(stack) != null) {
player.addChatComponentMessage(new ChatComponentText("[Enabled ").appendSibling(new ChatComponentTranslation(getCurrentAbility(stack).getName(), new Object[0]))
.appendSibling(new ChatComponentText(getCurrentAbility(stack).getExtension() + "]")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Enabled ").nextTranslation(getCurrentAbility(stack).getName()).next(getCurrentAbility(stack).getExtension() + "]").colorAll(EnumChatFormatting.YELLOW).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player);
} else {
player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GOLD + "[Tool ability deactivated]"));
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player);
}
world.playSoundAtEntity(player, "random.orb", 0.25F, getCurrentAbility(stack) == null ? 0.75F : 1.25F);

View File

@ -8,14 +8,12 @@ import com.hbm.blocks.generic.BlockMotherOfAllOres;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.config.GeneralConfig;
import com.hbm.config.WorldConfig;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.main.MainRegistry;
import com.hbm.saveddata.TomSaveData;
import com.hbm.tileentity.machine.storage.TileEntitySafe;
import com.hbm.tileentity.machine.storage.TileEntitySoyuzCapsule;
import com.hbm.util.WeightedRandomGeneric;
import com.hbm.world.dungeon.AncientTomb;
import com.hbm.world.dungeon.Antenna;
import com.hbm.world.dungeon.ArcticVault;
@ -32,6 +30,7 @@ import com.hbm.world.dungeon.Silo;
import com.hbm.world.dungeon.Spaceship;
import com.hbm.world.dungeon.Vertibird;
import com.hbm.world.feature.BedrockOre;
import com.hbm.world.feature.BedrockOre.BedrockOreDefinition;
import com.hbm.world.feature.DepthDeposit;
import com.hbm.world.feature.Dud;
import com.hbm.world.feature.Geyser;
@ -49,6 +48,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityChest;
import net.minecraft.tileentity.TileEntitySkull;
import net.minecraft.util.WeightedRandom;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
@ -154,18 +154,16 @@ public class HbmWorldGen implements IWorldGenerator {
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.aluminiumClusterSpawn, 6, 15, 35, ModBlocks.cluster_aluminium);
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperClusterSpawn, 6, 15, 20, ModBlocks.cluster_copper);
//DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.hematiteSpawn, 10, 4, 80, ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal());
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 10, 6, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal());
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 12, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal());
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.IRON, 1, WorldConfig.bedrockIronSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.COPPER, 1, WorldConfig.bedrockCopperSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.BORAX, new FluidStack(Fluids.SULFURIC_ACID, 500), 3, WorldConfig.bedrockBoraxSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.ASBESTOS, 2, WorldConfig.bedrockAsbestosSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.NIOBIUM, new FluidStack(Fluids.ACID, 1_000), 2, WorldConfig.bedrockNiobiumSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.TITANIUM, new FluidStack(Fluids.SULFURIC_ACID, 500), 2, WorldConfig.bedrockTitaniumSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.TUNGSTEN, new FluidStack(Fluids.ACID, 1_000), 2, WorldConfig.bedrockTungstenSpawn);
DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.GOLD, 1, WorldConfig.bedrockGoldSpawn);
if(rand.nextInt(3) == 0) {
WeightedRandomGeneric<BedrockOreDefinition> item = (WeightedRandomGeneric<BedrockOreDefinition>) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOres);
BedrockOreDefinition def = item.get();
int randPosX = i + rand.nextInt(2) + 8;
int randPosZ = j + rand.nextInt(2) + 8;
BedrockOre.generate(world, randPosX, randPosZ, def.stack, def.acid, def.color, def.tier);
}
for(int k = 0; k < WorldConfig.randomSpawn; k++) {
BlockMotherOfAllOres.shuffleOverride(rand);

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4607)";
public static final String VERSION = "1.0.27 BETA (4613)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -61,6 +61,7 @@ import com.hbm.handler.imc.*;
import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.hazard.HazardRegistry;
import com.hbm.inventory.*;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.*;
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
@ -69,6 +70,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemFertilizer;
import com.hbm.items.weapon.ItemGenericGrenade;
import com.hbm.items.ItemAmmoEnums.Ammo4Gauge;
import com.hbm.items.ItemEnums.EnumAchievementType;
import com.hbm.lib.HbmWorld;
import com.hbm.lib.Library;
import com.hbm.lib.RefStrings;
@ -79,6 +81,7 @@ import com.hbm.tileentity.TileMappings;
import com.hbm.tileentity.bomb.TileEntityNukeCustom;
import com.hbm.tileentity.machine.*;
import com.hbm.tileentity.machine.rbmk.RBMKDials;
import com.hbm.util.AchievementHandler;
import com.hbm.util.ArmorUtil;
import com.hbm.util.Compat;
import com.hbm.util.StatHelper;
@ -187,6 +190,7 @@ public class MainRegistry {
public static Achievement achSlimeball;
public static Achievement achSulfuric;
public static Achievement achWitchtaunter;
public static Achievement achGoFish;
public static Achievement achNo9;
public static Achievement achInferno;
public static Achievement bobHidden;
@ -657,6 +661,7 @@ public class MainRegistry {
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, Fluids.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat();
achGoFish = new Achievement("achievement.goFish", "goFish", 5, 10, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.GOFISH), null).initIndependentStat().setSpecial().registerStat();
achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, 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();
@ -668,8 +673,8 @@ public class MainRegistry {
achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VAMPIRE), null).initIndependentStat().setSpecial().registerStat();
achNo9 = new Achievement("achievement.no9", "no9", -8, 12, ModItems.no9, null).initIndependentStat().registerStat();
achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, Items.slime_ball, null).initIndependentStat().registerStat();
achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, ModItems.bucket_sulfuric_acid, achSlimeball).initIndependentStat().setSpecial().registerStat();
achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.ACID), null).initIndependentStat().registerStat();
achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.BALLS), achSlimeball).initIndependentStat().setSpecial().registerStat();
achInferno = new Achievement("achievement.inferno", "inferno", -8, 10, ModItems.canister_napalm, null).initIndependentStat().setSpecial().registerStat();
bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat();
@ -689,11 +694,11 @@ public class MainRegistry {
achSomeWounds = new Achievement("achievement.someWounds", "someWounds", -2, 10, ModItems.injector_knife, null).initIndependentStat().registerStat();
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();
digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -1, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMASEE), null).initIndependentStat().registerStat();
digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 1, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAFEEL), digammaSee).initIndependentStat().registerStat();
digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 3, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAKNOW), digammaFeel).initIndependentStat().registerStat().setSpecial();
digammaKauaiMoho = new Achievement("achievement.digammaKauaiMoho", "digammaKauaiMoho", 5, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAKAUAIMOHO), digammaKnow).initIndependentStat().registerStat().setSpecial();
digammaUpOnTop = new Achievement("achievement.digammaUpOnTop", "digammaUpOnTop", 7, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.DIGAMMAUPONTOP), digammaKauaiMoho).initIndependentStat().registerStat().setSpecial();
//progression achieves
achBurnerPress = new Achievement("achievement.burnerPress", "burnerPress", 0, 0, new ItemStack(ModBlocks.machine_press), null).initIndependentStat().registerStat();
@ -732,6 +737,7 @@ public class MainRegistry {
achSacrifice,
achImpossible,
achTOB,
achGoFish,
achFreytag,
achPotato,
achC44,
@ -847,6 +853,7 @@ public class MainRegistry {
FluidContainerRegistry.register();
TileEntityMachineReactorLarge.registerAll();
BlockToolConversion.registerRecipes();
AchievementHandler.register();
proxy.registerMissileItems();
@ -860,9 +867,11 @@ public class MainRegistry {
new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur
new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos
new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal());
new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal()).setScaleH(0.04D).setScaleV(0.25D).setThreshold(230);
new OreLayer3D(ModBlocks.stone_resource, EnumStoneType.BAUXITE.ordinal()).setScaleH(0.03D).setScaleV(0.15D).setThreshold(300);
//new BiomeCave().setThreshold(1.5D).setRangeMult(20).setYLevel(40).setMaxRange(20);
//new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70);
BedrockOre.init();
Compat.handleRailcraftNonsense();
SuicideThreadDump.register();
@ -1104,6 +1113,11 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.gun_revolver_lead_ammo");
ignoreMappings.add("hbm:item.gun_revolver_schrabidium_ammo");
ignoreMappings.add("hbm:item.tank_waste");
ignoreMappings.add("hbm:item.digamma_see");
ignoreMappings.add("hbm:item.digamma_feel");
ignoreMappings.add("hbm:item.digamma_know");
ignoreMappings.add("hbm:item.digamma_kauai_moho");
ignoreMappings.add("hbm:item.digamma_up_on_top");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -63,6 +63,7 @@ import com.hbm.packet.PlayerInformPacket;
import com.hbm.potion.HbmPotion;
import com.hbm.saveddata.AuxSavedData;
import com.hbm.tileentity.network.RTTYSystem;
import com.hbm.util.AchievementHandler;
import com.hbm.util.ArmorUtil;
import com.hbm.util.ContaminationUtil;
import com.hbm.util.EnchantmentUtil;
@ -1111,31 +1112,12 @@ public class ModEventHandler {
@SubscribeEvent
public void itemCrafted(PlayerEvent.ItemCraftedEvent e) {
Item item = e.crafting.getItem();
if(item == ModItems.gun_mp40) {
e.player.addStat(MainRegistry.achFreytag, 1);
}
if(item == ModItems.piston_selenium || item == ModItems.gun_b92) {
e.player.addStat(MainRegistry.achSelenium, 1);
}
if(item == ModItems.battery_potatos) {
e.player.addStat(MainRegistry.achPotato, 1);
}
if(item == ModItems.gun_revolver_pip) {
e.player.addStat(MainRegistry.achC44, 1);
}
if(item == Item.getItemFromBlock(ModBlocks.machine_press)) {
e.player.triggerAchievement(MainRegistry.achBurnerPress);
}
if(item == ModItems.rbmk_fuel_empty) {
e.player.triggerAchievement(MainRegistry.achRBMK);
}
AchievementHandler.fire(e.player, e.crafting);
}
@SubscribeEvent
public void itemSmelted(PlayerEvent.ItemSmeltedEvent e) {
AchievementHandler.fire(e.player, e.smelting);
if(!e.player.worldObj.isRemote && e.smelting.getItem() == Items.iron_ingot && e.player.getRNG().nextInt(64) == 0) {

View File

@ -24,8 +24,9 @@ public class ServerProxy {
public static final int ID_HUD = 5;
public static final int ID_DETONATOR = 6;
public static final int ID_FLUID_ID = 7;
public static final int ID_GUN_MODE = 8;
public static final int ID_GAS_HAZARD = 9;
public static final int ID_TOOLABILITY = 8;
public static final int ID_GUN_MODE = 9;
public static final int ID_GAS_HAZARD = 10;
public void registerRenderInfo() { }
public void registerTileEntitySpecialRenderer() { }

View File

@ -1,12 +1,9 @@
package com.hbm.packet;
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.ItemAmmoEnums;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.util.AchievementHandler;
import com.hbm.util.InventoryUtil;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
@ -14,7 +11,6 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
public class AnvilCraftPacket implements IMessage {
@ -65,15 +61,7 @@ public class AnvilCraftPacket implements IMessage {
if(InventoryUtil.doesPlayerHaveAStacks(p, recipe.input, true)) {
InventoryUtil.giveChanceStacksToPlayer(p, recipe.output);
if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_difurnace_off))
p.triggerAchievement(MainRegistry.achBlastFurnace);
if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_assembler))
p.triggerAchievement(MainRegistry.achAssembly);
if(recipe.output.get(0).stack.getItem() == ModItems.billet_pu_mix)
p.triggerAchievement(MainRegistry.achChicagoPile);
if(recipe.output.get(0).stack.getItem() == ModItems.ammo_4gauge && recipe.output.get(0).stack.getItemDamage() == ItemAmmoEnums.Ammo4Gauge.VAMPIRE.ordinal())
p.triggerAchievement(MainRegistry.achWitchtaunter);
AchievementHandler.fire(p, recipe.output.get(0).stack);
} else {
break;

View File

@ -67,6 +67,9 @@ public class ItemRenderWeaponFFMaresLeg implements IItemRenderer {
GL11.glTranslated(-0.71, 0.375, 0);
GL11.glRotated(25, 1, 0, 0);
GL11.glRotated(1, 0, 1, 0);
GL11.glRotated(-3, 0, 0, 1);
GL11.glRotated(0.2, 0, 1, 0);
GL11.glTranslated(-0.006, -0.005, 0.4);
}
double[] recoil = HbmAnimations.getRelevantTransformation("LEVER_RECOIL");

View File

@ -60,6 +60,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
fuelMaxCons.put(Fluids.GAS, 50D); // natgas doesn't burn well so it burns faster to compensate
fuelMaxCons.put(Fluids.SYNGAS, 10D); // syngas just fucks
fuelMaxCons.put(Fluids.OXYHYDROGEN, 100D); // oxyhydrogen is terrible so it needs to burn a ton for the bare minimum
fuelMaxCons.put(Fluids.REFORMGAS, 2.5D); // halved because it's too powerful
// default to 5 if not in list
}
@ -121,7 +122,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
NBTTagCompound data = new NBTTagCompound();
data.setLong("power", this.power); //set first to get an unmodified view of how much power was generated before deductions from the net
data.setLong("power", Math.min(this.power, this.maxPower)); //set first to get an unmodified view of how much power was generated before deductions from the net
//do net/battery deductions first...
power = Library.chargeItemsFromTE(slots, 0, power, maxPower);
@ -141,9 +142,6 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
//steam
this.sendFluid(tanks[3], worldObj, xCoord + dir.offsetZ * 6, yCoord + 1, zCoord - dir.offsetX * 6, rot.getOpposite());
//if(audio != null) // audio shouldn't even exist serverside
// audio.updatePitch((float) (0.45 + 0.05 * rpm / 10));
data.setInteger("rpm", this.rpm);
data.setInteger("temp", this.temp);
data.setInteger("state", this.state);

View File

@ -1,9 +1,12 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.lib.Library;
import api.hbm.energy.IEnergyConductor;
import api.hbm.energy.IEnergyConnector;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection;
@ -17,7 +20,41 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery {
@Override
public void updateEntity() {
super.updateEntity();
if(!worldObj.isRemote) {
long prevPower = this.power;
power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower());
//////////////////////////////////////////////////////////////////////
this.transmitPowerFairly();
//////////////////////////////////////////////////////////////////////
byte comp = this.getComparatorPower();
if(comp != this.lastRedstone)
this.markDirty();
this.lastRedstone = comp;
power = Library.chargeTEFromItems(slots, 0, power, getMaxPower());
long avg = (power / 2 + prevPower / 2);
this.delta = avg - this.log[0];
for(int i = 1; i < this.log.length; i++) {
this.log[i - 1] = this.log[i];
}
this.log[19] = avg;
NBTTagCompound nbt = new NBTTagCompound();
nbt.setLong("power", avg);
nbt.setLong("delta", delta);
nbt.setShort("redLow", redLow);
nbt.setShort("redHigh", redHigh);
nbt.setByte("priority", (byte) this.priority.ordinal());
this.networkPack(nbt, 20);
}
if(worldObj.isRemote) {
this.prevRotation = this.rotation;

View File

@ -0,0 +1,67 @@
package com.hbm.util;
import java.util.HashMap;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ItemAmmoEnums;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement;
public class AchievementHandler {
public static HashMap<ComparableStack, Achievement> craftingAchievements = new HashMap();
public static void register() {
craftingAchievements.put(new ComparableStack(ModItems.gun_mp40), MainRegistry.achFreytag);
craftingAchievements.put(new ComparableStack(ModItems.piston_selenium), MainRegistry.achSelenium);
craftingAchievements.put(new ComparableStack(ModItems.gun_b92), MainRegistry.achSelenium);
craftingAchievements.put(new ComparableStack(ModItems.battery_potatos), MainRegistry.achPotato);
craftingAchievements.put(new ComparableStack(ModItems.gun_revolver_pip), MainRegistry.achC44);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_press), MainRegistry.achBurnerPress);
craftingAchievements.put(new ComparableStack(ModItems.rbmk_fuel_empty), MainRegistry.achRBMK);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_chemplant), MainRegistry.achChemplant);
craftingAchievements.put(new ComparableStack(ModBlocks.concrete_smooth), MainRegistry.achConcrete);
craftingAchievements.put(new ComparableStack(ModBlocks.concrete_asbestos), MainRegistry.achConcrete);
craftingAchievements.put(new ComparableStack(ModItems.ingot_polymer), MainRegistry.achPolymer);
craftingAchievements.put(new ComparableStack(ModItems.ingot_desh), MainRegistry.achDesh);
craftingAchievements.put(new ComparableStack(ModItems.gem_tantalium), MainRegistry.achTantalum);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_gascent), MainRegistry.achGasCent);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_centrifuge), MainRegistry.achCentrifuge);
craftingAchievements.put(new ComparableStack(ModItems.ingot_schrabidium), MainRegistry.achSchrab);
craftingAchievements.put(new ComparableStack(ModItems.nugget_schrabidium), MainRegistry.achSchrab);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_crystallizer), MainRegistry.achAcidizer);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_silex), MainRegistry.achSILEX);
craftingAchievements.put(new ComparableStack(ModItems.nugget_technetium), MainRegistry.achTechnetium);
craftingAchievements.put(new ComparableStack(ModBlocks.struct_watz_core), MainRegistry.achWatz);
craftingAchievements.put(new ComparableStack(ModItems.nugget_bismuth), MainRegistry.achBismuth);
craftingAchievements.put(new ComparableStack(ModItems.nugget_am241), MainRegistry.achBreeding);
craftingAchievements.put(new ComparableStack(ModItems.nugget_am242), MainRegistry.achBreeding);
craftingAchievements.put(new ComparableStack(ModItems.missile_nuclear), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.missile_nuclear_cluster), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.missile_doomsday), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_10_nuclear), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_10_nuclear_large), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_nuclear), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_nuclear_shark), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_boxcar), MainRegistry.achRedBalloons);
craftingAchievements.put(new ComparableStack(ModBlocks.struct_iter_core), MainRegistry.achFusion);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_difurnace_off), MainRegistry.achBlastFurnace);
craftingAchievements.put(new ComparableStack(ModBlocks.machine_assembler), MainRegistry.achAssembly);
craftingAchievements.put(new ComparableStack(ModItems.billet_pu_mix), MainRegistry.achChicagoPile);
craftingAchievements.put(new ComparableStack(ModItems.ammo_4gauge, 1, ItemAmmoEnums.Ammo4Gauge.VAMPIRE.ordinal()), MainRegistry.achWitchtaunter);
}
public static void fire(EntityPlayer player, ItemStack stack) {
if(player.worldObj.isRemote) return;
ComparableStack comp = new ComparableStack(stack).makeSingular();
Achievement achievement = craftingAchievements.get(comp);
if(achievement != null) {
player.triggerAchievement(achievement);
}
}
}

View File

@ -1,10 +1,15 @@
package com.hbm.util;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import net.minecraft.util.ChatComponentStyle;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
public class ChatBuilder {
@ -46,6 +51,24 @@ public class ChatBuilder {
return this;
}
/** Will recursively go over all IChatComponents added to the root and then set the style */
public ChatBuilder colorAll(EnumChatFormatting format) {
List list = new ArrayList();
list.add(text);
ListIterator it = list.listIterator();
while(it.hasNext()) {
Object o = it.next();
IChatComponent component = (IChatComponent) o;
component.getChatStyle().setColor(format);
for(Object s : component.getSiblings()) it.add(s);
}
return this;
}
public ChatComponentText flush() {
return this.text;
}

View File

@ -0,0 +1,17 @@
package com.hbm.util;
import net.minecraft.util.WeightedRandom;
public class WeightedRandomGeneric<T> extends WeightedRandom.Item {
T item;
public WeightedRandomGeneric(T o, int weight) {
super(weight);
item = o;
}
public T get() {
return item;
}
}

View File

@ -1,15 +1,49 @@
package com.hbm.world.feature;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre;
import com.hbm.config.WorldConfig;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.util.WeightedRandomGeneric;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class BedrockOre {
public static List<WeightedRandomGeneric<BedrockOreDefinition>> weightedOres = new ArrayList();
public static void init() {
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn);
registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn);
registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.coal, 4), 1, 0x202020), WorldConfig.bedrockCoalSpawn);
registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn);
registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.fluorite, 4), 1, 0xd0d0d0), WorldConfig.bedrockFluoriteSpawn);
registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn);
}
public static void registerBedrockOre(BedrockOreDefinition def, int weight) {
WeightedRandomGeneric<BedrockOreDefinition> weighted = new WeightedRandomGeneric<BedrockOreDefinition>(def, weight);
weightedOres.add(weighted);
}
public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color, int tier) {
@ -49,4 +83,33 @@ public class BedrockOre {
}
}
}
public static class BedrockOreDefinition {
public ItemStack stack;
public FluidStack acid;
public int tier;
public int color;
public BedrockOreDefinition(ItemStack stack, int tier, int color) {
this(stack, tier, color, null);
}
public BedrockOreDefinition(ItemStack stack, int tier, int color, FluidStack acid) {
this.stack = stack;
this.tier = tier;
this.color = color;
this.acid = acid;
}
public BedrockOreDefinition(EnumBedrockOre type, int tier) {
this(type, tier, null);
}
public BedrockOreDefinition(EnumBedrockOre type, int tier, FluidStack acid) {
this.stack = DictFrame.fromOne(ModItems.ore_bedrock, type);
this.color = type.color;
this.tier = tier;
this.acid = acid;
}
}
}

View File

@ -80,7 +80,7 @@ public class OilSpot {
world.setBlock(rX, y, rZ, ModBlocks.stone_cracked);
break;
} else if(ground.getMaterial() == Material.leaves) {
} else if(ground.getMaterial() == Material.leaves && (meta & 8) != 0 && (meta & 4) == 0) {
world.setBlockToAir(rX, y, rZ);
break;
}

View File

@ -16,6 +16,10 @@ public class OreLayer3D {
NoiseGeneratorPerlin noiseY;
NoiseGeneratorPerlin noiseZ;
double scaleH;
double scaleV;
double threshold;
Block block;
int meta;
int dim = 0;
@ -30,6 +34,21 @@ public class OreLayer3D {
this.dim = dim;
return this;
}
public OreLayer3D setScaleH(double scale) {
this.scaleH = scale;
return this;
}
public OreLayer3D setScaleV(double scale) {
this.scaleV = scale;
return this;
}
public OreLayer3D setThreshold(double threshold) {
this.threshold = threshold;
return this;
}
@SubscribeEvent
public void onDecorate(DecorateBiomeEvent.Pre event) {
@ -44,9 +63,6 @@ public class OreLayer3D {
int cX = event.chunkX;
int cZ = event.chunkZ;
double scaleH = 0.04D;
double scaleV = 0.25D;
for(int x = cX + 8; x < cX + 24; x++) {
for(int z = cZ + 8; z < cZ + 24; z++) {
@ -55,7 +71,7 @@ public class OreLayer3D {
double nY = this.noiseY.func_151601_a(x * scaleH, z * scaleH);
double nZ = this.noiseZ.func_151601_a(x * scaleH, y * scaleV);
if(nX * nY * nZ > 220) {
if(nX * nY * nZ > threshold) {
Block target = world.getBlock(x, y, z);
if(target.isNormalCube() && target.getMaterial() == Material.rock) {

View File

@ -3,15 +3,10 @@ package com.hbm.world.generator;
import java.util.List;
import java.util.Random;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.RecipesCommon.MetaBlock;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.world.feature.BedrockOre;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenFlowers;
@ -25,11 +20,8 @@ public class DungeonToolbox {
return;
for(int i = x; i < x + sx; i++) {
for(int j = y; j < y + sy; j++) {
for(int k = z; k < z + sz; k++) {
MetaBlock b = getRandom(blocks, world.rand);
world.setBlock(i, j, k, b.block, b.meta, 2);
}
@ -93,24 +85,6 @@ public class DungeonToolbox {
(new WorldGenMinable(ore, meta, amount, target)).generate(world, rand, x, y, z);
}
}
public static void generateBedrockOreWithChance(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, int tier, int chance) {
if(chance > 0 && rand.nextInt(chance) == 0) generateBedrockOre(world, rand, chunkX, chunkZ, ore, null, tier);
}
public static void generateBedrockOreWithChance(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, FluidStack stack, int tier, int chance) {
if(chance > 0 && rand.nextInt(chance) == 0) generateBedrockOre(world, rand, chunkX, chunkZ, ore, stack, tier);
}
public static void generateBedrockOre(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, int tier) {
generateBedrockOre(world, rand, chunkX, chunkZ, ore, null, tier);
}
public static void generateBedrockOre(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, FluidStack stack, int tier) {
int randPosX = chunkX + rand.nextInt(16) + 8;
int randPosZ = chunkZ + rand.nextInt(16) + 8;
BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.ore_bedrock, 1, ore.ordinal()), stack, ore.color, tier);
}
private static WorldGenFlowers genFlowers = new WorldGenFlowers(null);
public static void generateFlowers(World world, Random rand, int chunkX, int chunkZ, Block flower, int meta) {

View File

@ -18,22 +18,24 @@ achievement.c44.desc=Galvanisch verzinkt! ...das macht in der Übersetzung sowas
achievement.c44=Kapitel 44
achievement.chemistry.desc=Bobmazon Level 3 (Betonziegel)
achievement.chemistry=Chemie
achievement.digammaFeel.desc=the hollow within.
achievement.digammaFeel=The Terror of Feeling
achievement.digammaFeel.desc=Meine Augen bluten
achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD
achievement.digammaKauaiMoho.desc=Alles ist schrecklich, hier ist etwas heiße Schoki.
achievement.digammaKauaiMoho=Sing, sing mir das Lied der Kauai Moho
achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO
achievement.digammaKnow.desc=what this world is about.
achievement.digammaKnow=The Terror of Knowing
achievement.digammaSee.desc=into the abyss.
achievement.digammaSee=The Terror of Seeing
achievement.digammaUpOnTop.desc=Bewundere meinen Sohn, er ist mein Klon.
achievement.digammaUpOnTop=Bewundere mich, bewundere mein Heim
achievement.digammaKnow=THE TERROR OF KNOWING
achievement.digammaSee.desc=Es ist Dunkel, bring eine Taschenlampe.
achievement.digammaSee=ENTER THE ABYSS
achievement.digammaUpOnTop.desc=Admire my son, he's my clone.
achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME
achievement.fiend.desc=Sei gemein.
achievement.fiend2.desc=Sei gemeiner.
achievement.fiend2=Unhold 2: Noch unholdiger
achievement.fiend=Unhold
achievement.freytag.desc=Leibgarde Herold
achievement.freytag=Freytag
achievement.goFish.desc=Kreuzigung auf See
achievement.goFish=Go Fish
achievement.hidden.desc=Töte einen Enderman mit einem fallenden Güterwagon wärend du brennst und mehr als 250 RADs hast.
achievement.hidden=Versteckter Katalog
achievement.horizonsBonus.desc=junge was ist denn mit dir verkehrt
@ -679,6 +681,7 @@ hbmfluid.plasma_xm=Xenon-Quecksilber-Plasma
hbmfluid.puf6=Plutoniumhexafluorid
hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel
hbmfluid.reclaimed=Wiederaufbetreitetes Industrieöl
hbmfluid.redmud=Rotschlamm
hbmfluid.reformate=Reformat
hbmfluid.reformgas=Reformatgas
hbmfluid.salient=Saftiges Grün
@ -2473,6 +2476,8 @@ item.ore.iron=Eisen
item.ore.niobium=Niob
item.ore.titanium=Titan
item.ore.tungsten=Wolfram
item.ore.thorium=Thorium
item.ore.uranium=Uran
item.ore_bedrock.name=Bedrock-%serz
item.ore_byproduct.b_aluminium.name=Kristallines Aluminiumfragment
item.ore_byproduct.b_bismuth.name=Kristallines Bismutfragment
@ -2481,9 +2486,13 @@ item.ore_byproduct.b_copper.name=Kristallines Kupferfragment
item.ore_byproduct.b_iron.name=Kristallines Eisenfragment
item.ore_byproduct.b_lead.name=Kristallines Bleifragment
item.ore_byproduct.b_lithium.name=Kristallines Lithiumfragment
item.ore_byproduct.b_polonium.name=Kristallines Poloniumfragment
item.ore_byproduct.b_radium.name=Kristallines Radiumfragment
item.ore_byproduct.b_silicon.name=Kristallines Siliziumfragment
item.ore_byproduct.b_sulfur.name=Kristallines Schwefelfragment
item.ore_byproduct.b_technetium.name=Kristallines Technetiumfragment
item.ore_byproduct.b_titanium.name=Kristallines Titanfragment
item.ore_byproduct.b_uranium.name=Kristallines Uranfragment
item.ore_centrifuged.name=Zentrifugiertes %serz
item.ore_cleaned.name=Gereinigtes %serz
item.ore_deepcleaned.name=Tiefengereinigtes %serz
@ -2491,7 +2500,7 @@ item.ore_enriched.name=Reiches %serz
item.ore_nitrated.name=Nitriertes %serz
item.ore_nitrocrystalline.name=Nitrokristallines %serz
item.ore_purified.name=Pures %serz
item.ore_radcleaaned.name=Strahlengereinigtes %serz
item.ore_radcleaned.name=Strahlengereinigtes %serz
item.ore_seared.name=Geätztes %serz
item.ore_separated.name=Separiertes %serz
item.overfuse.name=Singularitätsschraubenzieher
@ -4242,6 +4251,7 @@ tile.stone_depth_nether.name=Nether-Tiefenfels
tile.stone_gneiss.name=Graphitschiefer
tile.stone_porous.name=Poröser Stein
tile.stone_resource.asbestos.name=Chrysotil
tile.stone_resource.bauxite.name=Bauxit
tile.stone_resource.hematite.name=Hämatit
tile.stone_resource.limestone.name=Kalkstein
tile.stone_resource.malachite.name=Malachit

View File

@ -36,16 +36,16 @@ 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.digammaFeel.desc=My eyes are bleeding
achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD
achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy.
achievement.digammaKauaiMoho=Sing, sing me the song of the Kauai Moho
achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO
achievement.digammaKnow.desc=what this world is about.
achievement.digammaKnow=The Terror of Knowing
achievement.digammaSee.desc=into the abyss.
achievement.digammaSee=The Terror of Seeing
achievement.digammaKnow=THE TERROR OF KNOWING
achievement.digammaSee.desc=It's a bit dark, bring a flashlight.
achievement.digammaSee=ENTER THE ABYSS
achievement.digammaUpOnTop.desc=Admire my son, he's my clone.
achievement.digammaUpOnTop=Admire Me, Admire my Home
achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME
achievement.fiend.desc=Be mean.
achievement.fiend2.desc=Be meaner.
achievement.fiend2=Delinquent 2: Delinquent Harder
@ -56,6 +56,8 @@ achievement.fusion.desc=A dance of deuterons, tritons, and energy.
achievement.fusion=Fusion
achievement.gasCent.desc=Unenriched Uranium hates him!
achievement.gasCent=The Zippe Style
achievement.goFish.desc=Nautical Crucifixion
achievement.goFish=Go Fish
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
@ -1251,6 +1253,7 @@ hbmfluid.plasma_xm=Xenon-Mercury Plasma
hbmfluid.puf6=Plutonium Hexafluoride
hbmfluid.radiosolvent=High-Performance Solvent
hbmfluid.reclaimed=Reclaimed Industrial Oil
hbmfluid.redmud=Red Mud
hbmfluid.reformate=Reformate
hbmfluid.reformgas=Reformate Gas
hbmfluid.salient=Salient Green
@ -3152,6 +3155,8 @@ item.ore.iron=Iron
item.ore.niobium=Niobium
item.ore.titanium=Titanium
item.ore.tungsten=Tungsten
item.ore.thorium=Thorium
item.ore.uranium=Uranium
item.ore_bedrock.name=%s Bedrock Ore
item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment
item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment
@ -3160,9 +3165,13 @@ item.ore_byproduct.b_copper.name=Crystalline Copper Fragment
item.ore_byproduct.b_iron.name=Crystalline Iron Fragment
item.ore_byproduct.b_lead.name=Crystalline Lead Fragment
item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment
item.ore_byproduct.b_polonium.name=Crystalline Polonium Fragment
item.ore_byproduct.b_radium.name=Crystalline Radium Fragment
item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment
item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment
item.ore_byproduct.b_technetium.name=Crystalline Technetium Fragment
item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment
item.ore_byproduct.b_uranium.name=Crystalline Uranium Fragment
item.ore_centrifuged.name=Centrifuged %s Ore
item.ore_cleaned.name=Cleaned %s Ore
item.ore_deepcleaned.name=Deep Cleaned %s Ore
@ -3170,7 +3179,7 @@ item.ore_enriched.name=Enriched %s Ore
item.ore_nitrated.name=Nitrated %s Ore
item.ore_nitrocrystalline.name=Nitrocrystalline %s Ore
item.ore_purified.name=Purified %s Ore
item.ore_raadcleaned.name=Radiation-Cleaned %s Ore
item.ore_radcleaned.name=Radiation-Cleaned %s Ore
item.ore_seared.name=Seared %s Ore
item.ore_separated.name=Separated %s Ore
item.overfuse.name=Singularity Screwdriver
@ -5062,6 +5071,7 @@ tile.stone_depth_nether.name=Nether Depth Rock
tile.stone_gneiss.name=Graphitic Schist
tile.stone_porous.name=Porous Stone
tile.stone_resource.asbestos.name=Chrysotile
tile.stone_resource.bauxite.name=Bauxite
tile.stone_resource.hematite.name=Hematite
tile.stone_resource.limestone.name=Limestone
tile.stone_resource.malachite.name=Malachite

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B