mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
e0433a3174
@ -1,5 +1,7 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
@ -28,6 +30,8 @@ import net.minecraft.world.World;
|
||||
public class NTMAnvil extends BlockFalling implements ITooltipProvider {
|
||||
|
||||
public final int tier;
|
||||
|
||||
public static final HashMap<Integer, List<NTMAnvil>> tierMap = new HashMap();
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@ -38,6 +42,27 @@ public class NTMAnvil extends BlockFalling implements ITooltipProvider {
|
||||
this.setHardness(5.0F);
|
||||
this.setResistance(100.0F);
|
||||
this.tier = tier;
|
||||
|
||||
List<NTMAnvil> anvils = tierMap.get((Integer)tier);
|
||||
if(anvils == null)
|
||||
anvils = new ArrayList();
|
||||
anvils.add(this);
|
||||
tierMap.put((Integer)tier, anvils);
|
||||
}
|
||||
|
||||
public static List<ItemStack> getAnvilsFromTier(int tier) {
|
||||
List<NTMAnvil> anvils = tierMap.get((Integer)tier);
|
||||
|
||||
if(anvils != null) {
|
||||
List<ItemStack> stacks = new ArrayList();
|
||||
|
||||
for(NTMAnvil anvil : anvils)
|
||||
stacks.add(new ItemStack(anvil));
|
||||
|
||||
return stacks;
|
||||
}
|
||||
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockBobble.BobbleType;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.IItemAbility;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
@ -20,6 +22,7 @@ import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityXPOrb;
|
||||
import net.minecraft.entity.monster.EntityCreeper;
|
||||
import net.minecraft.entity.monster.EntityMagmaCube;
|
||||
import net.minecraft.entity.monster.EntityMob;
|
||||
import net.minecraft.entity.monster.EntitySkeleton;
|
||||
import net.minecraft.entity.monster.EntitySlime;
|
||||
import net.minecraft.entity.monster.EntityZombie;
|
||||
@ -316,4 +319,35 @@ public abstract class WeaponAbility {
|
||||
return I18n.format(getName());
|
||||
}
|
||||
}
|
||||
|
||||
public static class BobbleAbility extends WeaponAbility {
|
||||
|
||||
@Override
|
||||
public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) {
|
||||
|
||||
if(victim instanceof EntityMob && ((EntityMob) victim).getHealth() <= 0.0F) {
|
||||
|
||||
EntityMob mob = (EntityMob) victim;
|
||||
|
||||
int chance = 1000;
|
||||
|
||||
if(mob.getMaxHealth() > 20) {
|
||||
chance = 750;
|
||||
}
|
||||
|
||||
if(world.rand.nextInt(chance) == 0)
|
||||
mob.entityDropItem(new ItemStack(ModBlocks.bobblehead, 1, world.rand.nextInt(BobbleType.values().length - 1) + 1), 0.0F);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "weapon.ability.bobble";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return I18n.format(getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,25 +2,27 @@ package com.hbm.handler.nei;
|
||||
|
||||
import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.machine.NTMAnvil;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
import com.hbm.inventory.gui.GUIAnvil;
|
||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
|
||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe;
|
||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput;
|
||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes.OverlayType;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.ItemStackUtil;
|
||||
|
||||
import codechicken.lib.gui.GuiDraw;
|
||||
import codechicken.nei.NEIServerUtils;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
@ -31,22 +33,87 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
public class RecipeSet extends TemplateRecipeHandler.CachedRecipe {
|
||||
|
||||
PositionedStack output;
|
||||
List<PositionedStack> input = new ArrayList();
|
||||
List<PositionedStack> output = new ArrayList();
|
||||
PositionedStack anvil;
|
||||
int tier;
|
||||
OverlayType shape;
|
||||
|
||||
public RecipeSet(ItemStack output, int tier) {
|
||||
this.output = new PositionedStack(output, 111, 24);
|
||||
public RecipeSet(List<Object> in, List<Object> out, int tier) {
|
||||
|
||||
//not the prettiest of solutions but certainly the most pleasant to work with
|
||||
int inLine = 1;
|
||||
int outLine = 1;
|
||||
int inOX = 0;
|
||||
int inOY = 0;
|
||||
int outOX = 0;
|
||||
int outOY = 0;
|
||||
int anvX = 0;
|
||||
int anvY = 31;
|
||||
|
||||
if(in.size() == 1 && out.size() == 1) {
|
||||
shape = OverlayType.SMITHING;
|
||||
inOX = 48;
|
||||
inOY = 24;
|
||||
outOX = 102;
|
||||
outOY = 24;
|
||||
anvX = 75;
|
||||
} else if(in.size() == 1 && out.size() > 1) {
|
||||
shape = OverlayType.RECYCLING;
|
||||
outLine = 6;
|
||||
inOX = 12;
|
||||
inOY = 24;
|
||||
outOX = 48;
|
||||
outOY = 6;
|
||||
anvX = 30;
|
||||
} else if(in.size() > 1 && out.size() == 1) {
|
||||
shape = OverlayType.CONSTRUCTION;
|
||||
inLine = 6;
|
||||
inOX = 12;
|
||||
inOY = 6;
|
||||
outOX = 138;
|
||||
outOY = 24;
|
||||
anvX = 120;
|
||||
} else {
|
||||
shape = OverlayType.NONE;
|
||||
inLine = 4;
|
||||
outLine = 4;
|
||||
inOX = 3;
|
||||
inOY = 6;
|
||||
outOX = 93;
|
||||
outOY = 6;
|
||||
anvX = 75;
|
||||
}
|
||||
|
||||
for(int i = 0; i < in.size(); i++) {
|
||||
this.input.add(new PositionedStack(in.get(i), inOX + 18 * (i % inLine), inOY + 18 * (i / inLine)));
|
||||
}
|
||||
|
||||
for(int i = 0; i < out.size(); i++) {
|
||||
this.output.add(new PositionedStack(out.get(i), outOX + 18 * (i % outLine), outOY + 18 * (i / outLine)));
|
||||
}
|
||||
|
||||
this.anvil = new PositionedStack(NTMAnvil.getAnvilsFromTier(tier), anvX, anvY);
|
||||
|
||||
this.tier = tier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PositionedStack> getIngredients() {
|
||||
return getCycledIngredients(cycleticks / 48, Arrays.asList(output));
|
||||
return getCycledIngredients(cycleticks / 48, input);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PositionedStack getResult() {
|
||||
return output;
|
||||
return output.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PositionedStack> getOtherStacks() {
|
||||
List<PositionedStack> other = new ArrayList();
|
||||
other.addAll(output);
|
||||
other.add(anvil);
|
||||
return getCycledIngredients(cycleticks / 48, other);
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,7 +129,7 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||
List<AnvilConstructionRecipe> recipes = AnvilRecipes.getConstruction();
|
||||
|
||||
for(AnvilConstructionRecipe recipe : recipes) {
|
||||
this.arecipes.add(new RecipeSet(recipe.output.get(0).stack.copy(), recipe.tierLower));
|
||||
this.addRecipeToList(recipe);
|
||||
}
|
||||
} else {
|
||||
super.loadCraftingRecipes(outputId, results);
|
||||
@ -78,7 +145,8 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
for(AnvilOutput out : recipe.output) {
|
||||
if(NEIServerUtils.areStacksSameTypeCrafting(out.stack, result)) {
|
||||
this.arecipes.add(new RecipeSet(recipe.output.get(0).stack.copy(), recipe.tierLower));
|
||||
this.addRecipeToList(recipe);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -96,39 +164,92 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||
|
||||
@Override
|
||||
public void loadUsageRecipes(ItemStack ingredient) {
|
||||
|
||||
List<AnvilConstructionRecipe> recipes = AnvilRecipes.getConstruction();
|
||||
|
||||
for(AnvilConstructionRecipe recipe : recipes) {
|
||||
|
||||
outer:
|
||||
for(AStack in : recipe.input) {
|
||||
|
||||
List<ItemStack> stacks = in.extractForNEI();
|
||||
for(ItemStack stack : stacks) {
|
||||
if(NEIServerUtils.areStacksSameTypeCrafting(stack, ingredient)) {
|
||||
this.addRecipeToList(recipe);
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addRecipeToList(AnvilConstructionRecipe recipe) {
|
||||
|
||||
List<Object> ins = new ArrayList();
|
||||
for(AStack input : recipe.input) {
|
||||
ins.add(input.extractForNEI());
|
||||
}
|
||||
|
||||
List<Object> outs = new ArrayList();
|
||||
for(AnvilOutput output : recipe.output) {
|
||||
|
||||
ItemStack stack = output.stack.copy();
|
||||
if(output.chance != 1) {
|
||||
ItemStackUtil.addTooltipToStack(stack, EnumChatFormatting.RED + "" + (((int)(output.chance * 1000)) / 10D) + "%");
|
||||
}
|
||||
|
||||
outs.add(stack);
|
||||
}
|
||||
|
||||
this.arecipes.add(new RecipeSet(ins, outs, recipe.tierLower));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadTransferRects() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawExtras(int recipe) {
|
||||
|
||||
RecipeSet rec = (RecipeSet) this.arecipes.get(recipe);
|
||||
|
||||
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
for(int j = 0; j < 3; j++)
|
||||
fontRenderer.drawString("Tier " + rec.tier + " anvil", 51 + i, 50 + j, 0x000000);
|
||||
fontRenderer.drawString("Tier " + rec.tier + " anvil", 52, 51, 0xffffff);
|
||||
}
|
||||
//hey asshole, stop nulling my fucking lists
|
||||
transferRectsGui = new LinkedList<RecipeTransferRect>();
|
||||
guiGui = new LinkedList<Class<? extends GuiContainer>>();
|
||||
|
||||
@Override
|
||||
public int recipiesPerPage() {
|
||||
return 1;
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(11, 42, 36, 18), "ntmAnvil"));
|
||||
transferRectsGui.add(new RecipeTransferRect(new Rectangle(65, 42, 36, 18), "ntmAnvil"));
|
||||
|
||||
guiGui.add(GUIAnvil.class);
|
||||
RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuiTexture() {
|
||||
return RefStrings.MODID + ":textures/gui/nei/gui_nei_anvil.png";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void drawBackground(int recipeIndex) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GuiDraw.changeTexture(getGuiTexture());
|
||||
drawTexturedModalRect(0, 0, 5, 11, 166, 120);
|
||||
public void drawBackground(int recipe) {
|
||||
super.drawBackground(recipe);
|
||||
|
||||
RecipeSet set = (RecipeSet) this.arecipes.get(recipe);
|
||||
|
||||
switch(set.shape) {
|
||||
case NONE:
|
||||
drawTexturedModalRect(2, 5, 5, 87, 72, 54); //in
|
||||
drawTexturedModalRect(92, 5, 5, 87, 72, 54); //out
|
||||
drawTexturedModalRect(74, 14, 131, 96, 18, 36); //operation
|
||||
break;
|
||||
case SMITHING:
|
||||
drawTexturedModalRect(47, 23, 113, 105, 18, 18); //in
|
||||
drawTexturedModalRect(101, 23, 113, 105, 18, 18); //out
|
||||
drawTexturedModalRect(74, 14, 149, 96, 18, 36); //operation
|
||||
break;
|
||||
case CONSTRUCTION:
|
||||
drawTexturedModalRect(11, 5, 5, 87, 108, 54); //in
|
||||
drawTexturedModalRect(137, 23, 113, 105, 18, 18); //out
|
||||
drawTexturedModalRect(119, 14, 167, 96, 18, 36); //operation
|
||||
break;
|
||||
case RECYCLING:
|
||||
drawTexturedModalRect(11, 23, 113, 105, 18, 18); //in
|
||||
drawTexturedModalRect(47, 5, 5, 87, 108, 54); //out
|
||||
drawTexturedModalRect(29, 14, 185, 96, 18, 36); //operation
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,6 +140,9 @@ public class HazardRegistry {
|
||||
HazardSystem.register(Items.gunpowder, makeData(EXPLOSIVE, 1F));
|
||||
HazardSystem.register(Blocks.tnt, makeData(EXPLOSIVE, 4F));
|
||||
HazardSystem.register(Items.pumpkin_pie, makeData(EXPLOSIVE, 4F));
|
||||
|
||||
HazardSystem.register(ModItems.ball_dynamite, makeData(EXPLOSIVE, 2F));
|
||||
HazardSystem.register(ModItems.stick_dynamite, makeData(EXPLOSIVE, 1F));
|
||||
|
||||
HazardSystem.register("dustCoal", makeData(COAL, powder));
|
||||
HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny));
|
||||
|
||||
@ -260,7 +260,7 @@ public class AssemblerRecipes {
|
||||
makeRecipe(new ComparableStack(ModBlocks.seal_frame, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 3), new ComparableStack(ModItems.wire_aluminium, 4), new OreDictStack(REDSTONE.dust(), 2), new ComparableStack(ModBlocks.steel_roof, 5), },50);
|
||||
makeRecipe(new ComparableStack(ModBlocks.seal_controller, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 3), new OreDictStack(POLYMER.ingot(), 4), new OreDictStack(MINGRADE.ingot(), 1), new OreDictStack(REDSTONE.dust(), 4), new ComparableStack(ModBlocks.steel_roof, 5), },100);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_centrifuge, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(IRON.ingot(), 4), new OreDictStack(STEEL.plate(), 2), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.wire_red_copper, 8), },250);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(POLYMER.ingot(), 2), new OreDictStack(DESH.ingot(), 1), new OreDictStack(STEEL.plate(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.wire_gold, 4), },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_tower, 1), new OreDictStack(STEEL.ingot(), 8), new OreDictStack(DESH.ingot(), 2), new ComparableStack(ModItems.coil_tungsten, 4), new ComparableStack(ModItems.wire_red_copper, 32) },300);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(PB.plate(), 6), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(CU.plate(), 2), },150);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(Blocks.piston, 4), new OreDictStack(STEEL.ingot(), 6), new OreDictStack(MINGRADE.ingot(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.wire_red_copper, 6), },200);
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 6), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250);
|
||||
|
||||
@ -50,9 +50,9 @@ public class BreederRecipes {
|
||||
recipes.put(new ComparableStack(ModItems.rod_neptunium), new BreederRecipe(ModItems.rod_pu238, 3));
|
||||
recipes.put(new ComparableStack(ModItems.rod_dual_neptunium), new BreederRecipe(ModItems.rod_dual_pu238, 3));
|
||||
recipes.put(new ComparableStack(ModItems.rod_quad_neptunium), new BreederRecipe(ModItems.rod_quad_pu238, 3));
|
||||
recipes.put(new ComparableStack(ModItems.rod_pu238), new BreederRecipe(ModItems.rod_pu239, 2));
|
||||
recipes.put(new ComparableStack(ModItems.rod_dual_pu238), new BreederRecipe(ModItems.rod_dual_pu239, 2));
|
||||
recipes.put(new ComparableStack(ModItems.rod_quad_pu238), new BreederRecipe(ModItems.rod_quad_pu239, 2));
|
||||
recipes.put(new ComparableStack(ModItems.rod_pu238), new BreederRecipe(ModItems.rod_pu239, 4));
|
||||
recipes.put(new ComparableStack(ModItems.rod_dual_pu238), new BreederRecipe(ModItems.rod_dual_pu239, 4));
|
||||
recipes.put(new ComparableStack(ModItems.rod_quad_pu238), new BreederRecipe(ModItems.rod_quad_pu239, 4));
|
||||
recipes.put(new ComparableStack(ModItems.rod_pu239), new BreederRecipe(ModItems.rod_pu240, 2));
|
||||
recipes.put(new ComparableStack(ModItems.rod_dual_pu239), new BreederRecipe(ModItems.rod_dual_pu240, 2));
|
||||
recipes.put(new ComparableStack(ModItems.rod_quad_pu239), new BreederRecipe(ModItems.rod_quad_pu240, 2));
|
||||
|
||||
@ -21,7 +21,7 @@ public class GasCentrifugeRecipes {
|
||||
MEUF6 (200, 100, "HEUF6", "Medium Enriched UF6", false, new ItemStack(ModItems.nugget_u238, 1)),
|
||||
HEUF6 (300, 0, "NONE", "High Enriched UF6", true, new ItemStack(ModItems.nugget_u238, 2), new ItemStack(ModItems.nugget_u235, 1), new ItemStack(ModItems.fluorite, 1)),
|
||||
|
||||
PF6 (300, 0, "NONE", "Plutonium Hexafluoride", false, new ItemStack(ModItems.nugget_pu238, 1), new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.fluorite, 1));
|
||||
PF6 (300, 0, "NONE", "Plutonium Hexafluoride", true, new ItemStack(ModItems.nugget_pu238, 1), new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.fluorite, 1));
|
||||
|
||||
int fluidConsumed;
|
||||
int fluidProduced;
|
||||
|
||||
@ -5199,7 +5199,8 @@ public class ModItems {
|
||||
cobalt_hoe = new ModHoe(MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_hoe").setTextureName(RefStrings.MODID + ":cobalt_hoe");
|
||||
|
||||
ToolMaterial matDecCobalt = EnumHelper.addToolMaterial("HBM_COBALT2", 3, 1000, 15.0F, 2.5F, 25).setRepairItem(new ItemStack(ModItems.ingot_cobalt));
|
||||
cobalt_decorated_sword = new ItemSwordAbility(15F, 0, matDecCobalt).setUnlocalizedName("cobalt_decorated_sword").setTextureName(RefStrings.MODID + ":cobalt_decorated_sword");
|
||||
cobalt_decorated_sword = new ItemSwordAbility(15F, 0, matDecCobalt)
|
||||
.addHitAbility(new WeaponAbility.BobbleAbility()).setUnlocalizedName("cobalt_decorated_sword").setTextureName(RefStrings.MODID + ":cobalt_decorated_sword");
|
||||
cobalt_decorated_pickaxe = new ItemToolAbility(6F, 0, matDecCobalt, EnumToolType.PICKAXE)
|
||||
.addBreakAbility(new ToolAbility.RecursionAbility(4))
|
||||
.addBreakAbility(new ToolAbility.HammerAbility(1))
|
||||
@ -5221,7 +5222,8 @@ public class ModItems {
|
||||
ToolMaterial matStarmetal = EnumHelper.addToolMaterial("HBM_STARMETAL", 3, 1000, 20.0F, 2.5F, 30).setRepairItem(new ItemStack(ModItems.ingot_starmetal));
|
||||
starmetal_sword = new ItemSwordAbility(25F, 0, matStarmetal)
|
||||
.addHitAbility(new WeaponAbility.BeheaderAbility())
|
||||
.addHitAbility(new WeaponAbility.StunAbility(3)).setUnlocalizedName("starmetal_sword").setTextureName(RefStrings.MODID + ":starmetal_sword");
|
||||
.addHitAbility(new WeaponAbility.StunAbility(3))
|
||||
.addHitAbility(new WeaponAbility.BobbleAbility()).setUnlocalizedName("starmetal_sword").setTextureName(RefStrings.MODID + ":starmetal_sword");
|
||||
starmetal_pickaxe = new ItemToolAbility(8F, 0, matStarmetal, EnumToolType.PICKAXE)
|
||||
.addBreakAbility(new ToolAbility.RecursionAbility(6))
|
||||
.addBreakAbility(new ToolAbility.HammerAbility(2))
|
||||
|
||||
@ -186,23 +186,17 @@ public class HbmChestContents {
|
||||
private static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] {
|
||||
new WeightedRandomChestContent(ModItems.missile_generic, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(ModItems.missile_incendiary, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(ModItems.missile_cluster, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(ModItems.missile_buster, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.launch_pad), 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.designator, 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1),
|
||||
new WeightedRandomChestContent(ModItems.thruster_small, 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.thruster_medium, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(ModItems.thruster_large, 0, 1, 1, 2),
|
||||
new WeightedRandomChestContent(ModItems.fuel_tank_small, 0, 1, 1, 5),
|
||||
new WeightedRandomChestContent(ModItems.fuel_tank_medium, 0, 1, 1, 4),
|
||||
new WeightedRandomChestContent(ModItems.fuel_tank_small, 0, 1, 1, 2),
|
||||
new WeightedRandomChestContent(ModItems.warhead_mirvlet, 0, 1, 1, 1),
|
||||
new WeightedRandomChestContent(ModItems.warhead_nuclear, 0, 1, 1, 1),
|
||||
new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 1),
|
||||
new WeightedRandomChestContent(ModItems.bomb_caller, 3, 1, 1, 1) };
|
||||
new WeightedRandomChestContent(ModItems.bomb_caller, 3, 1, 1, 1),
|
||||
new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 10) };
|
||||
|
||||
private static WeightedRandomChestContent[] spaceship = new WeightedRandomChestContent[] {
|
||||
new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5),
|
||||
|
||||
@ -108,10 +108,10 @@ public class HbmWorldGen implements IWorldGenerator {
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cinnebarSpawn, 4, 8, 16, ModBlocks.ore_cinnebar);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.cobaltSpawn, 4, 4, 8, ModBlocks.ore_cobalt);
|
||||
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ironClusterSpawn, 6, 5, 50, ModBlocks.cluster_iron);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 5, 30, ModBlocks.cluster_titanium);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.aluminiumClusterSpawn, 6, 5, 40, ModBlocks.cluster_aluminium);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperClusterSpawn, 6, 5, 20, ModBlocks.cluster_copper);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ironClusterSpawn, 6, 15, 45, ModBlocks.cluster_iron);
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 15, 30, ModBlocks.cluster_titanium);
|
||||
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);
|
||||
|
||||
if(GeneralConfig.enable528ColtanSpawn) {
|
||||
DungeonToolbox.generateOre(world, rand, i, j, GeneralConfig.coltanRate, 4, 15, 40, ModBlocks.ore_coltan);
|
||||
|
||||
@ -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 (4088)";
|
||||
public static final String VERSION = "1.0.27 BETA (4095)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -732,7 +732,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_centrifuge, 1), new Object[] { "PHP", "PUP", "DTD", 'P', ModItems.centrifuge_element, 'H', Blocks.hopper, 'U', ModItems.upgrade_shredder, 'D', POLYMER.ingot(), 'T', ModBlocks.machine_transformer });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_crystallizer, 1), new Object[] { "PHP", "CUC", "DTD", 'P', new ItemStack(ModItems.fluid_barrel_full, 1, FluidType.ACID.ordinal()), 'H', ModItems.circuit_targeting_tier4, 'C', ModBlocks.barrel_steel, 'U', ModItems.upgrade_centrifuge, 'D', ModItems.motor, 'T', ModBlocks.machine_transformer });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_screm, 1), new Object[] { "SUS", "SCS", "SUS", 'S', STEEL.plate(), 'U', ModItems.upgrade_template, 'C', ModItems.crystal_xen });
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_gc_speed, 1), new Object[] {"TCT", "HUH", "TCT", 'T', TC99.nugget(), 'C', ModItems.coil_copper, 'H', ModItems.coil_tungsten, 'U', ModItems.upgrade_template});
|
||||
addRecipeAuto(new ItemStack(ModItems.upgrade_gc_speed, 1), new Object[] {"TCT", "HUH", "TCT", 'T', ModItems.nugget_bismuth, 'C', ModItems.coil_copper, 'H', ModItems.coil_tungsten, 'U', ModItems.upgrade_template});
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.mech_key, 1), new Object[] { "MCM", "MKM", "MMM", 'M', ModItems.ingot_meteorite_forged, 'C', ModItems.coin_maskman, 'K', ModItems.key });
|
||||
addRecipeAuto(new ItemStack(ModItems.spawn_ufo, 1), new Object[] { "MMM", "DCD", "MMM", 'M', ModItems.ingot_meteorite, 'D', DNT.ingot(), 'C', ModItems.coin_worm });
|
||||
|
||||
@ -58,7 +58,7 @@ public class AnvilCraftPacket implements IMessage {
|
||||
if(!recipe.isTierValid(anvil.tier)) //player is using the wrong type of anvil -> bad
|
||||
return null;
|
||||
|
||||
int count = m.mode == 1 ? 64 : 1;
|
||||
int count = m.mode == 1 ? (recipe.output.size() > 1 ? 64 : (recipe.output.get(0).stack.getMaxStackSize() / recipe.output.get(0).stack.stackSize)) : 1;
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
|
||||
|
||||
@ -62,10 +62,12 @@ public class ItemRenderLibrary {
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_gascent), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4, 0);
|
||||
GL11.glScaled(4.5, 4.5, 4.5);
|
||||
GL11.glScaled(3.5, 3.5, 3.5);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.gascent_tex); ResourceManager.gascent.renderPart("Centrifuge");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.iter), new ItemRenderBase() {
|
||||
|
||||
@ -30,10 +30,16 @@ public class RenderCentrifuge extends TileEntitySpecialRenderer {
|
||||
}
|
||||
|
||||
if(tileEntity instanceof TileEntityMachineGasCent) {
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.gascent_tex);
|
||||
ResourceManager.gascent.renderPart("Centrifuge");
|
||||
ResourceManager.gascent.renderPart("Flag");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -217,8 +217,15 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
|
||||
if(te instanceof IEnergyConductor) {
|
||||
IEnergyConductor con = (IEnergyConductor) te;
|
||||
|
||||
if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this))
|
||||
con.getPowerNet().subscribe(this);
|
||||
if(con.getPowerNet() != null) {
|
||||
if(mode == 1 || mode == 2) {
|
||||
if(con.getPowerNet().isSubscribed(this)) {
|
||||
con.getPowerNet().unsubscribe(this);
|
||||
}
|
||||
} else if(!con.getPowerNet().isSubscribed(this)) {
|
||||
con.getPowerNet().subscribe(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
||||
return false;
|
||||
|
||||
//Or is the output slot already full?
|
||||
if(slots[2] != null && slots[2].stackSize >= slots[2].getMaxStackSize())
|
||||
if(slots[2] != null && slots[2].stackSize + result.stackSize > slots[2].getMaxStackSize())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
@ -77,9 +77,16 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery {
|
||||
|
||||
if(te instanceof IEnergyConductor) {
|
||||
IEnergyConductor con = (IEnergyConductor) te;
|
||||
|
||||
if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this))
|
||||
con.getPowerNet().subscribe(this);
|
||||
|
||||
if(con.getPowerNet() != null) {
|
||||
if(mode == 1 || mode == 2) {
|
||||
if(con.getPowerNet().isSubscribed(this)) {
|
||||
con.getPowerNet().unsubscribe(this);
|
||||
}
|
||||
} else if(!con.getPowerNet().isSubscribed(this)) {
|
||||
con.getPowerNet().subscribe(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -63,28 +63,21 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
public String getName() {
|
||||
return "container.gasCentrifuge";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int side) {
|
||||
return side == 0 ? slots_bottom : side == 1 ? slots_top : slots_side;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
power = nbt.getLong("power");
|
||||
progress = nbt.getShort("progress");
|
||||
tank.readFromNBT(nbt, "tank");
|
||||
inputTank.readFromNBT(nbt, "inputTank");
|
||||
outputTank.readFromNBT(nbt, "outputTank");
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for(int i = 0; i < list.tagCount(); i++)
|
||||
{
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if(b0 >= 0 && b0 < slots.length)
|
||||
{
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -95,26 +88,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
tank.writeToNBT(nbt, "tank");
|
||||
inputTank.writeToNBT(nbt, "inputTank");
|
||||
outputTank.writeToNBT(nbt, "outputTank");
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for(int i = 0; i < slots.length; i++)
|
||||
{
|
||||
if(slots[i] != null)
|
||||
{
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte)i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int meta)
|
||||
{
|
||||
return meta == 0 ? slots_bottom : (meta == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
@ -398,15 +372,21 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
return list;
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
|
||||
if(bb == null) {
|
||||
bb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 5, zCoord + 1);
|
||||
}
|
||||
|
||||
return bb;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
@ -461,44 +441,44 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
||||
type = PseudoFluidType.valueOf(nbt.getString(s + "_type"));
|
||||
}
|
||||
|
||||
/* ______ ______
|
||||
* _I____I_ _I____I_
|
||||
* / \\\ / \\\
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* _|_______||_||_______||_|_
|
||||
* | |
|
||||
/* ______ ______
|
||||
* _I____I_ _I____I_
|
||||
* / \\\ / \\\
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* |IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{ || || } || |
|
||||
* | IF{|| || } || |
|
||||
* | || || || |
|
||||
* | } || ||IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{ || |
|
||||
* | } || || IF{|| |
|
||||
* _|_______||_||_______||_|_
|
||||
* | |
|
||||
* | |
|
||||
* | |==========| |
|
||||
* | |NESTED | |
|
||||
|
||||
32
src/main/java/com/hbm/util/ItemStackUtil.java
Normal file
32
src/main/java/com/hbm/util/ItemStackUtil.java
Normal file
@ -0,0 +1,32 @@
|
||||
package com.hbm.util;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.nbt.NBTTagString;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class ItemStackUtil {
|
||||
|
||||
/**
|
||||
* UNSAFE! Will ignore all existing tags and override them! In its current state, only fit for items we know don't have any display tags!
|
||||
* Will, however, respect existing NBT tags
|
||||
* @param stack
|
||||
* @param lines
|
||||
*/
|
||||
public static void addTooltipToStack(ItemStack stack, String... lines) {
|
||||
|
||||
if(!stack.hasTagCompound())
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
|
||||
NBTTagCompound display = new NBTTagCompound();
|
||||
NBTTagList lore = new NBTTagList();
|
||||
|
||||
for(String line : lines) {
|
||||
lore.appendTag(new NBTTagString(EnumChatFormatting.RESET + "" + EnumChatFormatting.GRAY + line));
|
||||
}
|
||||
|
||||
display.setTag("Lore", lore);
|
||||
stack.stackTagCompound.setTag("display", display);
|
||||
}
|
||||
}
|
||||
@ -3569,6 +3569,7 @@ tool.ability.silktouch=Behutsamkeit
|
||||
tool.ability.smelter=Auto-Ofen
|
||||
|
||||
weapon.ability.beheader=Köpfer
|
||||
weapon.ability.bobble=Glück des Sammlers
|
||||
# Should rhyme with the translation for "chainsaw"
|
||||
weapon.ability.chainsaw=Skelettensäge
|
||||
weapon.ability.fire=Flammend
|
||||
|
||||
@ -3697,6 +3697,7 @@ tool.ability.silktouch=Silk Touch
|
||||
tool.ability.smelter=Auto-Smelter
|
||||
|
||||
weapon.ability.beheader=Decapitator
|
||||
weapon.ability.bobble=Luck of the Collector
|
||||
# Should rhyme with the translation for "chainsaw"
|
||||
weapon.ability.chainsaw=Painsaw
|
||||
weapon.ability.fire=Flaming
|
||||
|
||||
@ -9,6 +9,10 @@ itemGroup.tabMissile=Ракеты и спутники NTM
|
||||
itemGroup.tabWeapon=Оружие и турели NTM
|
||||
itemGroup.tabConsumable=Расходные материалы и снаряжение NTM
|
||||
|
||||
achievement.acidizer.desc=уфф ай моя кожа
|
||||
achievement.acidizer=Кислюка
|
||||
achievement.assembly.desc=Подождика, уже час утра?
|
||||
achievement.assembly=Завод расширяется
|
||||
achievement.sacrifice=Жертва
|
||||
achievement.sacrifice.desc=Встреться лицом к лицу с огнём и выживи.
|
||||
achievement.impossible=Буквально невозможно
|
||||
@ -39,16 +43,6 @@ achievement.radPoison=Ура, Радиация!
|
||||
achievement.radPoison.desc=Испытайте последствия радиационного отравления.
|
||||
achievement.radDeath=Ой, Радиация!
|
||||
achievement.radDeath.desc=Мария Кюри изобрела теорию радиоактивности, лечение радиоактивности и умирание от радиоактивности.
|
||||
achievement.metalworks=Металлоконструкция
|
||||
achievement.metalworks.desc=Бобмазон уровень 1 (Доменная печь)
|
||||
achievement.assembly=Производство
|
||||
achievement.assembly.desc=Бобмазон уровень 2 (Сборочный Станок)
|
||||
achievement.chemistry=Химия
|
||||
achievement.chemistry.desc=Бобмазон уровень 3 (Бетонные кирпичи)
|
||||
achievement.oil=Нефть
|
||||
achievement.oil.desc=Бобмазон уровень 4 (Электрический бойлер)
|
||||
achievement.nuclear=Атомная Наука
|
||||
achievement.nuclear.desc=Бобмазон уровень 5 (Урановое топливо)
|
||||
achievement.hidden=Скрытый Каталог
|
||||
achievement.hidden.desc=Убейте зараженного крипера падающим товарным вагоном
|
||||
achievement.horizonsStart=Апогей
|
||||
@ -101,6 +95,52 @@ achievement.psycheSuperego.desc="...Но заглянуть внутрь, что
|
||||
achievement.psycheSuperego=Суперэго
|
||||
achievement.warpDrive.desc="Мне нравится мечтать, да"
|
||||
achievement.warpDrive=Полёт на ковре-самолёте
|
||||
achievement.breeding.desc=Благодарю вас, да благословит вас Бог, и да благословит бог Соединенные Штаты Америки.
|
||||
achievement.breeding=Иронично
|
||||
achievement.bismuth.desc=Помните как люди спорили об этом месяц? Я помню.
|
||||
achievement.bismuth=Висмут
|
||||
achievement.blastFurnace.desc=Они разобрали затонувший дредноут для "Эксплорера-1".
|
||||
achievement.blastFurnace=Железо и уголь
|
||||
achievement.burnerPress.desc=Давление давит и на меня, и на тебя
|
||||
achievement.burnerPress=Под давлением
|
||||
achievement.centrifuge.desc=центробежная сила это фейк не @ меня
|
||||
achievement.centrifuge=Центростремительная сила
|
||||
achievement.chemplant.desc=Теперь ты думаешь химикатами!
|
||||
achievement.chemplant=Завод расширяется: Часть 2
|
||||
achievement.chicagoPile.desc="Как там местные жители?" / "Очень дружелюбные".
|
||||
achievement.chicagoPile=Мореплаватель высадился в Новом Свете
|
||||
achievement.concrete.desc=Любимчик Большевиков.
|
||||
achievement.concrete=Старый проверенный
|
||||
achievement.desh.desc="Тогда давайте, вы все. Места, куда можно пойти!"
|
||||
achievement.desh=Леверье
|
||||
achievement.fusion.desc=Танец дейтронов, тритонов и энергии.
|
||||
achievement.fusion=Синтез
|
||||
achievement.gasCent.desc=Необогащенный уран ненавидит его!
|
||||
achievement.gasCent=Стиль Молнии
|
||||
achievement.manhattan.desc=8:15; 6 августа, 1945 год
|
||||
achievement.manhattan=Проект Манхэттен
|
||||
achievement.polymer.desc=Восхитительный, восхитительный микропластик.
|
||||
achievement.polymer=Тефлон
|
||||
achievement.RBMKBoom.desc=Какова цена лжи?
|
||||
achievement.RBMKBoom=15,000.
|
||||
achievement.RBMK.desc=Он бредит, отведите его в лазарет.
|
||||
achievement.RBMK=3.6 Рентген?
|
||||
achievement.redBalloons.desc="Это то, чего мы ждали. Вот она, ребята, война."
|
||||
achievement.redBalloons=99 воздушных шариков
|
||||
achievement.schrab.desc=Как бы то ни было, я бы не стал смотреть на это слишком долго.
|
||||
achievement.schrab=Остров стабильности
|
||||
achievement.SILEX.desc=Это круче, чем кажется, я обещаю.
|
||||
achievement.SILEX=Лазерное разделение изотопов
|
||||
achievement.tantalum.desc=Неуловимый, но всегда необходимый элемент.
|
||||
achievement.tantalum="Тантал"
|
||||
achievement.technetium.desc=Это целебно, это целебно!
|
||||
achievement.technetium=Большой Человек, Человек-Свинья
|
||||
achievement.watzBoom.desc=В следующий раз осушите свой септик.
|
||||
achievement.watzBoom=Отвратительно
|
||||
achievement.watz.desc=Поля Фолквангра также присутствуют
|
||||
achievement.watz=Сила Е-126
|
||||
achievement.ZIRNOXBoom.desc=cope, seethe, mald
|
||||
achievement.ZIRNOXBoom=ЦИРНОКС
|
||||
|
||||
potion.hbm_taint=Порча
|
||||
potion.hbm_mutation=Заражённое порчей сердце
|
||||
@ -746,6 +786,7 @@ geiger.envRad=Общее радиационное заражение среды:
|
||||
geiger.playerRad=Уровень радиоактивного заражения игрока:
|
||||
geiger.playerRes=Радиационная защита игрока:
|
||||
geiger.title=СЧЁТЧИК ГЕЙГЕРА
|
||||
geiger.title.dosimeter=ДОЗИМЕТР
|
||||
|
||||
hadron.analysis=Анализ...
|
||||
hadron.buttonOn=Камера анализа (если есть) включена
|
||||
@ -1682,6 +1723,9 @@ item.ingot_fiberglass.name=Стекловолокно
|
||||
item.ingot_asbestos.name=Асбестовый лист
|
||||
|
||||
item.solid_fuel.name=Твердое топливо
|
||||
item.solid_fuel_presto.name=Топливные полена
|
||||
item.solid_fuel_presto_triplet.name=Сжатые топливные полена
|
||||
item.stick_dynamite.name=Динамитная шашка
|
||||
item.rocket_fuel.name=Твердое топливо (Ракетное)
|
||||
item.coke.name=Коксовый уголь
|
||||
item.lignite.name=Бурый уголь
|
||||
@ -2343,6 +2387,7 @@ item.upgrade_centrifuge.name=Улучшение "Центрифуга"
|
||||
item.upgrade_crystallizer.name=Улучшение "Кристаллизатор"
|
||||
item.upgrade_nullifier.name=Улучшение "Уничтожитель мусора"
|
||||
item.upgrade_screm.name=Улучшение "Кричащий учёный"
|
||||
item.upgrade_gc_speed.name=Улучшение "Разгон газовой центрифуги"
|
||||
|
||||
item.fusion_core.name=Ядерный блок
|
||||
item.energy_core.name=Импровизированный энергоблок
|
||||
@ -3158,6 +3203,7 @@ item.ammo_fireext_sand.name=Бак с песком для огнетушител
|
||||
|
||||
item.cordite.name=Кордит
|
||||
item.ballistite.name=Баллистит
|
||||
item.ball_dynamite.name=Динамит
|
||||
item.plate_kevlar.name=Кевларо-керамический состав
|
||||
|
||||
item.weaponized_starblaster_cell.name=§cСмонтированная энергетическая ячейка Звездного бластера§r
|
||||
@ -4132,6 +4178,7 @@ item.oil_detector.bullseye=Нефтяной резервуар прямо сни
|
||||
item.oil_detector.detected=Поблизости обнаружен резервуар нефти.
|
||||
item.oil_detector.noOil=Нефти не обнаружено.
|
||||
item.geiger_counter.name=Ручной счетчик Гейгера
|
||||
item.dosimeter.name=Дозиметр
|
||||
item.digamma_diagnostic.name=Диагностика дигаммы
|
||||
tile.geiger.name=Счетчик Гейгера
|
||||
tile.glass_polonium.name=Полониевое стекло
|
||||
|
||||
@ -250,40 +250,40 @@ v -0.056348 0.632910 -0.687500
|
||||
v -0.079687 0.576563 -0.687500
|
||||
v -0.056348 0.520215 -0.687500
|
||||
v 0.000000 0.656250 -0.937500
|
||||
vt 0.125000 0.125000
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000000 0.125000
|
||||
vt 0.812500 0.187500
|
||||
vt 0.687500 0.125000
|
||||
vt 0.812500 0.125000
|
||||
vt 0.687500 0.187500
|
||||
vt 0.562500 0.125000
|
||||
vt 0.125000 0.187500
|
||||
vt 0.875000 0.125000
|
||||
vt 1.000000 0.187500
|
||||
vt 1.000000 0.125000
|
||||
vt 0.187500 0.187500
|
||||
vt 0.312500 0.125000
|
||||
vt 0.187500 0.125000
|
||||
vt 0.187500 0.250000
|
||||
vt 0.562500 0.250000
|
||||
vt 0.250000 0.312500
|
||||
vt 0.312500 0.187500
|
||||
vt 0.437500 0.125000
|
||||
vt 0.875000 0.187500
|
||||
vt 0.812500 0.125000
|
||||
vt 0.812500 0.250000
|
||||
vt 0.437500 0.250000
|
||||
vt 0.750000 0.312500
|
||||
vt 0.500000 0.437500
|
||||
vt 0.500000 0.312500
|
||||
vt 0.250000 0.500000
|
||||
vt 0.625000 0.562500
|
||||
vt 0.187500 0.562500
|
||||
vt 0.000000 0.562500
|
||||
vt 0.000000 0.812500
|
||||
vt 0.750000 0.500000
|
||||
vt 0.375000 0.562500
|
||||
vt 0.812500 0.562500
|
||||
vt 1.000000 0.562500
|
||||
vt 1.000000 0.812500
|
||||
vt 1.000000 0.687500
|
||||
vt 0.125000 0.812500
|
||||
vt -0.000000 0.625000
|
||||
vt 0.125000 0.625000
|
||||
vt 0.000000 0.812500
|
||||
vt 0.000000 0.687500
|
||||
vt 0.875000 0.812500
|
||||
vt 1.000000 0.625000
|
||||
vt 0.875000 0.625000
|
||||
vt 0.312500 0.625000
|
||||
vt 0.500000 0.687500
|
||||
vt 0.312500 0.687500
|
||||
vt 0.500000 0.562500
|
||||
vt 0.312500 0.562500
|
||||
vt 0.312500 0.687500
|
||||
vt 0.500000 0.625000
|
||||
vt 0.750000 0.625000
|
||||
vt 0.500000 0.562500
|
||||
vt 0.750000 0.562500
|
||||
vt 0.000000 0.812500
|
||||
vt 0.500000 0.687500
|
||||
vt 0.750000 0.687500
|
||||
vt 1.000000 0.812500
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -0.7071 0.0000 -0.7071
|
||||
vn -0.7071 0.0000 0.7071
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 1.1 KiB |
@ -3,7 +3,7 @@
|
||||
"modid": "hbm",
|
||||
"name": "Hbm's Nuclear Tech",
|
||||
"description": "A mod that adds weapons, nuclear themed stuff and machines",
|
||||
"version":"1.0.27_X4088",
|
||||
"version":"1.0.27_X4095",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user