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;
|
package com.hbm.blocks.machine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.blocks.ITooltipProvider;
|
import com.hbm.blocks.ITooltipProvider;
|
||||||
@ -28,6 +30,8 @@ import net.minecraft.world.World;
|
|||||||
public class NTMAnvil extends BlockFalling implements ITooltipProvider {
|
public class NTMAnvil extends BlockFalling implements ITooltipProvider {
|
||||||
|
|
||||||
public final int tier;
|
public final int tier;
|
||||||
|
|
||||||
|
public static final HashMap<Integer, List<NTMAnvil>> tierMap = new HashMap();
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private IIcon iconTop;
|
private IIcon iconTop;
|
||||||
@ -38,6 +42,27 @@ public class NTMAnvil extends BlockFalling implements ITooltipProvider {
|
|||||||
this.setHardness(5.0F);
|
this.setHardness(5.0F);
|
||||||
this.setResistance(100.0F);
|
this.setResistance(100.0F);
|
||||||
this.tier = tier;
|
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
|
@Override
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package com.hbm.handler;
|
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.ModItems;
|
||||||
import com.hbm.items.tool.IItemAbility;
|
import com.hbm.items.tool.IItemAbility;
|
||||||
import com.hbm.packet.AuxParticlePacketNT;
|
import com.hbm.packet.AuxParticlePacketNT;
|
||||||
@ -20,6 +22,7 @@ import net.minecraft.entity.EntityLivingBase;
|
|||||||
import net.minecraft.entity.item.EntityXPOrb;
|
import net.minecraft.entity.item.EntityXPOrb;
|
||||||
import net.minecraft.entity.monster.EntityCreeper;
|
import net.minecraft.entity.monster.EntityCreeper;
|
||||||
import net.minecraft.entity.monster.EntityMagmaCube;
|
import net.minecraft.entity.monster.EntityMagmaCube;
|
||||||
|
import net.minecraft.entity.monster.EntityMob;
|
||||||
import net.minecraft.entity.monster.EntitySkeleton;
|
import net.minecraft.entity.monster.EntitySkeleton;
|
||||||
import net.minecraft.entity.monster.EntitySlime;
|
import net.minecraft.entity.monster.EntitySlime;
|
||||||
import net.minecraft.entity.monster.EntityZombie;
|
import net.minecraft.entity.monster.EntityZombie;
|
||||||
@ -316,4 +319,35 @@ public abstract class WeaponAbility {
|
|||||||
return I18n.format(getName());
|
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 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.LinkedList;
|
||||||
import java.util.List;
|
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;
|
||||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe;
|
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe;
|
||||||
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput;
|
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput;
|
||||||
|
import com.hbm.inventory.recipes.anvil.AnvilRecipes.OverlayType;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
|
import com.hbm.util.ItemStackUtil;
|
||||||
|
|
||||||
import codechicken.lib.gui.GuiDraw;
|
|
||||||
import codechicken.nei.NEIServerUtils;
|
import codechicken.nei.NEIServerUtils;
|
||||||
import codechicken.nei.PositionedStack;
|
import codechicken.nei.PositionedStack;
|
||||||
import codechicken.nei.recipe.TemplateRecipeHandler;
|
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.client.gui.inventory.GuiContainer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
|
|
||||||
public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
||||||
|
|
||||||
@ -31,22 +33,87 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
|||||||
|
|
||||||
public class RecipeSet extends TemplateRecipeHandler.CachedRecipe {
|
public class RecipeSet extends TemplateRecipeHandler.CachedRecipe {
|
||||||
|
|
||||||
PositionedStack output;
|
List<PositionedStack> input = new ArrayList();
|
||||||
|
List<PositionedStack> output = new ArrayList();
|
||||||
|
PositionedStack anvil;
|
||||||
int tier;
|
int tier;
|
||||||
|
OverlayType shape;
|
||||||
|
|
||||||
public RecipeSet(ItemStack output, int tier) {
|
public RecipeSet(List<Object> in, List<Object> out, int tier) {
|
||||||
this.output = new PositionedStack(output, 111, 24);
|
|
||||||
|
//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;
|
this.tier = tier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PositionedStack> getIngredients() {
|
public List<PositionedStack> getIngredients() {
|
||||||
return getCycledIngredients(cycleticks / 48, Arrays.asList(output));
|
return getCycledIngredients(cycleticks / 48, input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PositionedStack getResult() {
|
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();
|
List<AnvilConstructionRecipe> recipes = AnvilRecipes.getConstruction();
|
||||||
|
|
||||||
for(AnvilConstructionRecipe recipe : recipes) {
|
for(AnvilConstructionRecipe recipe : recipes) {
|
||||||
this.arecipes.add(new RecipeSet(recipe.output.get(0).stack.copy(), recipe.tierLower));
|
this.addRecipeToList(recipe);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
super.loadCraftingRecipes(outputId, results);
|
super.loadCraftingRecipes(outputId, results);
|
||||||
@ -78,7 +145,8 @@ public class AnvilRecipeHandler extends TemplateRecipeHandler {
|
|||||||
|
|
||||||
for(AnvilOutput out : recipe.output) {
|
for(AnvilOutput out : recipe.output) {
|
||||||
if(NEIServerUtils.areStacksSameTypeCrafting(out.stack, result)) {
|
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
|
@Override
|
||||||
public void loadUsageRecipes(ItemStack ingredient) {
|
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
|
@Override
|
||||||
public void loadTransferRects() {
|
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++)
|
//hey asshole, stop nulling my fucking lists
|
||||||
for(int j = 0; j < 3; j++)
|
transferRectsGui = new LinkedList<RecipeTransferRect>();
|
||||||
fontRenderer.drawString("Tier " + rec.tier + " anvil", 51 + i, 50 + j, 0x000000);
|
guiGui = new LinkedList<Class<? extends GuiContainer>>();
|
||||||
fontRenderer.drawString("Tier " + rec.tier + " anvil", 52, 51, 0xffffff);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
transferRectsGui.add(new RecipeTransferRect(new Rectangle(11, 42, 36, 18), "ntmAnvil"));
|
||||||
public int recipiesPerPage() {
|
transferRectsGui.add(new RecipeTransferRect(new Rectangle(65, 42, 36, 18), "ntmAnvil"));
|
||||||
return 1;
|
|
||||||
|
guiGui.add(GUIAnvil.class);
|
||||||
|
RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getGuiTexture() {
|
public String getGuiTexture() {
|
||||||
return RefStrings.MODID + ":textures/gui/nei/gui_nei_anvil.png";
|
return RefStrings.MODID + ":textures/gui/nei/gui_nei_anvil.png";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawBackground(int recipeIndex) {
|
public void drawBackground(int recipe) {
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
super.drawBackground(recipe);
|
||||||
GuiDraw.changeTexture(getGuiTexture());
|
|
||||||
drawTexturedModalRect(0, 0, 5, 11, 166, 120);
|
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(Items.gunpowder, makeData(EXPLOSIVE, 1F));
|
||||||
HazardSystem.register(Blocks.tnt, makeData(EXPLOSIVE, 4F));
|
HazardSystem.register(Blocks.tnt, makeData(EXPLOSIVE, 4F));
|
||||||
HazardSystem.register(Items.pumpkin_pie, 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("dustCoal", makeData(COAL, powder));
|
||||||
HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny));
|
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_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.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_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_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_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);
|
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_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_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_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_pu238), new BreederRecipe(ModItems.rod_pu239, 4));
|
||||||
recipes.put(new ComparableStack(ModItems.rod_dual_pu238), new BreederRecipe(ModItems.rod_dual_pu239, 2));
|
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, 2));
|
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_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_dual_pu239), new BreederRecipe(ModItems.rod_dual_pu240, 2));
|
||||||
recipes.put(new ComparableStack(ModItems.rod_quad_pu239), new BreederRecipe(ModItems.rod_quad_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)),
|
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)),
|
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 fluidConsumed;
|
||||||
int fluidProduced;
|
int fluidProduced;
|
||||||
|
|||||||
@ -5199,7 +5199,8 @@ public class ModItems {
|
|||||||
cobalt_hoe = new ModHoe(MainRegistry.tMatCobalt).setUnlocalizedName("cobalt_hoe").setTextureName(RefStrings.MODID + ":cobalt_hoe");
|
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));
|
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)
|
cobalt_decorated_pickaxe = new ItemToolAbility(6F, 0, matDecCobalt, EnumToolType.PICKAXE)
|
||||||
.addBreakAbility(new ToolAbility.RecursionAbility(4))
|
.addBreakAbility(new ToolAbility.RecursionAbility(4))
|
||||||
.addBreakAbility(new ToolAbility.HammerAbility(1))
|
.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));
|
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)
|
starmetal_sword = new ItemSwordAbility(25F, 0, matStarmetal)
|
||||||
.addHitAbility(new WeaponAbility.BeheaderAbility())
|
.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)
|
starmetal_pickaxe = new ItemToolAbility(8F, 0, matStarmetal, EnumToolType.PICKAXE)
|
||||||
.addBreakAbility(new ToolAbility.RecursionAbility(6))
|
.addBreakAbility(new ToolAbility.RecursionAbility(6))
|
||||||
.addBreakAbility(new ToolAbility.HammerAbility(2))
|
.addBreakAbility(new ToolAbility.HammerAbility(2))
|
||||||
|
|||||||
@ -186,23 +186,17 @@ public class HbmChestContents {
|
|||||||
private static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] {
|
private static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] {
|
||||||
new WeightedRandomChestContent(ModItems.missile_generic, 0, 1, 1, 4),
|
new WeightedRandomChestContent(ModItems.missile_generic, 0, 1, 1, 4),
|
||||||
new WeightedRandomChestContent(ModItems.missile_incendiary, 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.gas_mask_m65, 0, 1, 1, 5),
|
||||||
new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5),
|
new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5),
|
||||||
new WeightedRandomChestContent(ModItems.designator, 0, 1, 1, 5),
|
new WeightedRandomChestContent(ModItems.designator, 0, 1, 1, 5),
|
||||||
new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1),
|
new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1),
|
||||||
new WeightedRandomChestContent(ModItems.thruster_small, 0, 1, 1, 5),
|
new WeightedRandomChestContent(ModItems.thruster_small, 0, 1, 1, 5),
|
||||||
new WeightedRandomChestContent(ModItems.thruster_medium, 0, 1, 1, 4),
|
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_small, 0, 1, 1, 5),
|
||||||
new WeightedRandomChestContent(ModItems.fuel_tank_medium, 0, 1, 1, 4),
|
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, 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[] {
|
private static WeightedRandomChestContent[] spaceship = new WeightedRandomChestContent[] {
|
||||||
new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5),
|
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.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.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.ironClusterSpawn, 6, 15, 45, ModBlocks.cluster_iron);
|
||||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 5, 30, ModBlocks.cluster_titanium);
|
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 15, 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.aluminiumClusterSpawn, 6, 15, 35, ModBlocks.cluster_aluminium);
|
||||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperClusterSpawn, 6, 5, 20, ModBlocks.cluster_copper);
|
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperClusterSpawn, 6, 15, 20, ModBlocks.cluster_copper);
|
||||||
|
|
||||||
if(GeneralConfig.enable528ColtanSpawn) {
|
if(GeneralConfig.enable528ColtanSpawn) {
|
||||||
DungeonToolbox.generateOre(world, rand, i, j, GeneralConfig.coltanRate, 4, 15, 40, ModBlocks.ore_coltan);
|
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 class RefStrings {
|
||||||
public static final String MODID = "hbm";
|
public static final String MODID = "hbm";
|
||||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
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:
|
//HBM's Beta Naming Convention:
|
||||||
//V T (X)
|
//V T (X)
|
||||||
//V -> next release version
|
//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_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_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_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.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 });
|
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
|
if(!recipe.isTierValid(anvil.tier)) //player is using the wrong type of anvil -> bad
|
||||||
return null;
|
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++) {
|
for(int i = 0; i < count; i++) {
|
||||||
|
|
||||||
|
|||||||
@ -62,10 +62,12 @@ public class ItemRenderLibrary {
|
|||||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_gascent), new ItemRenderBase() {
|
renderers.put(Item.getItemFromBlock(ModBlocks.machine_gascent), new ItemRenderBase() {
|
||||||
public void renderInventory() {
|
public void renderInventory() {
|
||||||
GL11.glTranslated(0, -4, 0);
|
GL11.glTranslated(0, -4, 0);
|
||||||
GL11.glScaled(4.5, 4.5, 4.5);
|
GL11.glScaled(3.5, 3.5, 3.5);
|
||||||
}
|
}
|
||||||
public void renderCommon() {
|
public void renderCommon() {
|
||||||
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
bindTexture(ResourceManager.gascent_tex); ResourceManager.gascent.renderPart("Centrifuge");
|
bindTexture(ResourceManager.gascent_tex); ResourceManager.gascent.renderPart("Centrifuge");
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
}});
|
}});
|
||||||
|
|
||||||
renderers.put(Item.getItemFromBlock(ModBlocks.iter), new ItemRenderBase() {
|
renderers.put(Item.getItemFromBlock(ModBlocks.iter), new ItemRenderBase() {
|
||||||
|
|||||||
@ -30,10 +30,16 @@ public class RenderCentrifuge extends TileEntitySpecialRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(tileEntity instanceof TileEntityMachineGasCent) {
|
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);
|
bindTexture(ResourceManager.gascent_tex);
|
||||||
ResourceManager.gascent.renderPart("Centrifuge");
|
ResourceManager.gascent.renderPart("Centrifuge");
|
||||||
ResourceManager.gascent.renderPart("Flag");
|
ResourceManager.gascent.renderPart("Flag");
|
||||||
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -217,8 +217,15 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
|
|||||||
if(te instanceof IEnergyConductor) {
|
if(te instanceof IEnergyConductor) {
|
||||||
IEnergyConductor con = (IEnergyConductor) te;
|
IEnergyConductor con = (IEnergyConductor) te;
|
||||||
|
|
||||||
if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this))
|
if(con.getPowerNet() != null) {
|
||||||
con.getPowerNet().subscribe(this);
|
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;
|
return false;
|
||||||
|
|
||||||
//Or is the output slot already full?
|
//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 false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -77,9 +77,16 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery {
|
|||||||
|
|
||||||
if(te instanceof IEnergyConductor) {
|
if(te instanceof IEnergyConductor) {
|
||||||
IEnergyConductor con = (IEnergyConductor) te;
|
IEnergyConductor con = (IEnergyConductor) te;
|
||||||
|
|
||||||
if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this))
|
if(con.getPowerNet() != null) {
|
||||||
con.getPowerNet().subscribe(this);
|
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() {
|
public String getName() {
|
||||||
return "container.gasCentrifuge";
|
return "container.gasCentrifuge";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getAccessibleSlotsFromSide(int side) {
|
||||||
|
return side == 0 ? slots_bottom : side == 1 ? slots_top : slots_side;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound nbt) {
|
public void readFromNBT(NBTTagCompound nbt) {
|
||||||
super.readFromNBT(nbt);
|
super.readFromNBT(nbt);
|
||||||
NBTTagList list = nbt.getTagList("items", 10);
|
|
||||||
|
|
||||||
power = nbt.getLong("power");
|
power = nbt.getLong("power");
|
||||||
progress = nbt.getShort("progress");
|
progress = nbt.getShort("progress");
|
||||||
tank.readFromNBT(nbt, "tank");
|
tank.readFromNBT(nbt, "tank");
|
||||||
inputTank.readFromNBT(nbt, "inputTank");
|
inputTank.readFromNBT(nbt, "inputTank");
|
||||||
outputTank.readFromNBT(nbt, "outputTank");
|
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
|
@Override
|
||||||
@ -95,26 +88,7 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
|||||||
tank.writeToNBT(nbt, "tank");
|
tank.writeToNBT(nbt, "tank");
|
||||||
inputTank.writeToNBT(nbt, "inputTank");
|
inputTank.writeToNBT(nbt, "inputTank");
|
||||||
outputTank.writeToNBT(nbt, "outputTank");
|
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
|
@Override
|
||||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||||
@ -398,15 +372,21 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AxisAlignedBB bb = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AxisAlignedBB getRenderBoundingBox() {
|
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
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public double getMaxRenderDistanceSquared()
|
public double getMaxRenderDistanceSquared() {
|
||||||
{
|
|
||||||
return 65536.0D;
|
return 65536.0D;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,44 +441,44 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
|||||||
type = PseudoFluidType.valueOf(nbt.getString(s + "_type"));
|
type = PseudoFluidType.valueOf(nbt.getString(s + "_type"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ______ ______
|
/* ______ ______
|
||||||
* _I____I_ _I____I_
|
* _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{|| || } || |
|
||||||
* | || || || |
|
* | || || || |
|
||||||
* | } || ||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 | |
|
* | |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
|
tool.ability.smelter=Auto-Ofen
|
||||||
|
|
||||||
weapon.ability.beheader=Köpfer
|
weapon.ability.beheader=Köpfer
|
||||||
|
weapon.ability.bobble=Glück des Sammlers
|
||||||
# Should rhyme with the translation for "chainsaw"
|
# Should rhyme with the translation for "chainsaw"
|
||||||
weapon.ability.chainsaw=Skelettensäge
|
weapon.ability.chainsaw=Skelettensäge
|
||||||
weapon.ability.fire=Flammend
|
weapon.ability.fire=Flammend
|
||||||
|
|||||||
@ -3697,6 +3697,7 @@ tool.ability.silktouch=Silk Touch
|
|||||||
tool.ability.smelter=Auto-Smelter
|
tool.ability.smelter=Auto-Smelter
|
||||||
|
|
||||||
weapon.ability.beheader=Decapitator
|
weapon.ability.beheader=Decapitator
|
||||||
|
weapon.ability.bobble=Luck of the Collector
|
||||||
# Should rhyme with the translation for "chainsaw"
|
# Should rhyme with the translation for "chainsaw"
|
||||||
weapon.ability.chainsaw=Painsaw
|
weapon.ability.chainsaw=Painsaw
|
||||||
weapon.ability.fire=Flaming
|
weapon.ability.fire=Flaming
|
||||||
|
|||||||
@ -9,6 +9,10 @@ itemGroup.tabMissile=Ракеты и спутники NTM
|
|||||||
itemGroup.tabWeapon=Оружие и турели NTM
|
itemGroup.tabWeapon=Оружие и турели NTM
|
||||||
itemGroup.tabConsumable=Расходные материалы и снаряжение NTM
|
itemGroup.tabConsumable=Расходные материалы и снаряжение NTM
|
||||||
|
|
||||||
|
achievement.acidizer.desc=уфф ай моя кожа
|
||||||
|
achievement.acidizer=Кислюка
|
||||||
|
achievement.assembly.desc=Подождика, уже час утра?
|
||||||
|
achievement.assembly=Завод расширяется
|
||||||
achievement.sacrifice=Жертва
|
achievement.sacrifice=Жертва
|
||||||
achievement.sacrifice.desc=Встреться лицом к лицу с огнём и выживи.
|
achievement.sacrifice.desc=Встреться лицом к лицу с огнём и выживи.
|
||||||
achievement.impossible=Буквально невозможно
|
achievement.impossible=Буквально невозможно
|
||||||
@ -39,16 +43,6 @@ achievement.radPoison=Ура, Радиация!
|
|||||||
achievement.radPoison.desc=Испытайте последствия радиационного отравления.
|
achievement.radPoison.desc=Испытайте последствия радиационного отравления.
|
||||||
achievement.radDeath=Ой, Радиация!
|
achievement.radDeath=Ой, Радиация!
|
||||||
achievement.radDeath.desc=Мария Кюри изобрела теорию радиоактивности, лечение радиоактивности и умирание от радиоактивности.
|
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=Скрытый Каталог
|
||||||
achievement.hidden.desc=Убейте зараженного крипера падающим товарным вагоном
|
achievement.hidden.desc=Убейте зараженного крипера падающим товарным вагоном
|
||||||
achievement.horizonsStart=Апогей
|
achievement.horizonsStart=Апогей
|
||||||
@ -101,6 +95,52 @@ achievement.psycheSuperego.desc="...Но заглянуть внутрь, что
|
|||||||
achievement.psycheSuperego=Суперэго
|
achievement.psycheSuperego=Суперэго
|
||||||
achievement.warpDrive.desc="Мне нравится мечтать, да"
|
achievement.warpDrive.desc="Мне нравится мечтать, да"
|
||||||
achievement.warpDrive=Полёт на ковре-самолёте
|
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_taint=Порча
|
||||||
potion.hbm_mutation=Заражённое порчей сердце
|
potion.hbm_mutation=Заражённое порчей сердце
|
||||||
@ -746,6 +786,7 @@ geiger.envRad=Общее радиационное заражение среды:
|
|||||||
geiger.playerRad=Уровень радиоактивного заражения игрока:
|
geiger.playerRad=Уровень радиоактивного заражения игрока:
|
||||||
geiger.playerRes=Радиационная защита игрока:
|
geiger.playerRes=Радиационная защита игрока:
|
||||||
geiger.title=СЧЁТЧИК ГЕЙГЕРА
|
geiger.title=СЧЁТЧИК ГЕЙГЕРА
|
||||||
|
geiger.title.dosimeter=ДОЗИМЕТР
|
||||||
|
|
||||||
hadron.analysis=Анализ...
|
hadron.analysis=Анализ...
|
||||||
hadron.buttonOn=Камера анализа (если есть) включена
|
hadron.buttonOn=Камера анализа (если есть) включена
|
||||||
@ -1682,6 +1723,9 @@ item.ingot_fiberglass.name=Стекловолокно
|
|||||||
item.ingot_asbestos.name=Асбестовый лист
|
item.ingot_asbestos.name=Асбестовый лист
|
||||||
|
|
||||||
item.solid_fuel.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.rocket_fuel.name=Твердое топливо (Ракетное)
|
||||||
item.coke.name=Коксовый уголь
|
item.coke.name=Коксовый уголь
|
||||||
item.lignite.name=Бурый уголь
|
item.lignite.name=Бурый уголь
|
||||||
@ -2343,6 +2387,7 @@ item.upgrade_centrifuge.name=Улучшение "Центрифуга"
|
|||||||
item.upgrade_crystallizer.name=Улучшение "Кристаллизатор"
|
item.upgrade_crystallizer.name=Улучшение "Кристаллизатор"
|
||||||
item.upgrade_nullifier.name=Улучшение "Уничтожитель мусора"
|
item.upgrade_nullifier.name=Улучшение "Уничтожитель мусора"
|
||||||
item.upgrade_screm.name=Улучшение "Кричащий учёный"
|
item.upgrade_screm.name=Улучшение "Кричащий учёный"
|
||||||
|
item.upgrade_gc_speed.name=Улучшение "Разгон газовой центрифуги"
|
||||||
|
|
||||||
item.fusion_core.name=Ядерный блок
|
item.fusion_core.name=Ядерный блок
|
||||||
item.energy_core.name=Импровизированный энергоблок
|
item.energy_core.name=Импровизированный энергоблок
|
||||||
@ -3158,6 +3203,7 @@ item.ammo_fireext_sand.name=Бак с песком для огнетушител
|
|||||||
|
|
||||||
item.cordite.name=Кордит
|
item.cordite.name=Кордит
|
||||||
item.ballistite.name=Баллистит
|
item.ballistite.name=Баллистит
|
||||||
|
item.ball_dynamite.name=Динамит
|
||||||
item.plate_kevlar.name=Кевларо-керамический состав
|
item.plate_kevlar.name=Кевларо-керамический состав
|
||||||
|
|
||||||
item.weaponized_starblaster_cell.name=§cСмонтированная энергетическая ячейка Звездного бластера§r
|
item.weaponized_starblaster_cell.name=§cСмонтированная энергетическая ячейка Звездного бластера§r
|
||||||
@ -4132,6 +4178,7 @@ item.oil_detector.bullseye=Нефтяной резервуар прямо сни
|
|||||||
item.oil_detector.detected=Поблизости обнаружен резервуар нефти.
|
item.oil_detector.detected=Поблизости обнаружен резервуар нефти.
|
||||||
item.oil_detector.noOil=Нефти не обнаружено.
|
item.oil_detector.noOil=Нефти не обнаружено.
|
||||||
item.geiger_counter.name=Ручной счетчик Гейгера
|
item.geiger_counter.name=Ручной счетчик Гейгера
|
||||||
|
item.dosimeter.name=Дозиметр
|
||||||
item.digamma_diagnostic.name=Диагностика дигаммы
|
item.digamma_diagnostic.name=Диагностика дигаммы
|
||||||
tile.geiger.name=Счетчик Гейгера
|
tile.geiger.name=Счетчик Гейгера
|
||||||
tile.glass_polonium.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.079687 0.576563 -0.687500
|
||||||
v -0.056348 0.520215 -0.687500
|
v -0.056348 0.520215 -0.687500
|
||||||
v 0.000000 0.656250 -0.937500
|
v 0.000000 0.656250 -0.937500
|
||||||
vt 0.125000 0.125000
|
vt 0.875000 0.125000
|
||||||
vt 0.000000 0.187500
|
vt 1.000000 0.187500
|
||||||
vt 0.000000 0.125000
|
vt 1.000000 0.125000
|
||||||
vt 0.812500 0.187500
|
vt 0.187500 0.187500
|
||||||
vt 0.687500 0.125000
|
vt 0.312500 0.125000
|
||||||
vt 0.812500 0.125000
|
|
||||||
vt 0.687500 0.187500
|
|
||||||
vt 0.562500 0.125000
|
|
||||||
vt 0.125000 0.187500
|
|
||||||
vt 0.187500 0.125000
|
vt 0.187500 0.125000
|
||||||
vt 0.187500 0.250000
|
vt 0.312500 0.187500
|
||||||
vt 0.562500 0.250000
|
vt 0.437500 0.125000
|
||||||
vt 0.250000 0.312500
|
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.437500
|
||||||
vt 0.500000 0.312500
|
vt 0.500000 0.312500
|
||||||
vt 0.250000 0.500000
|
vt 0.750000 0.500000
|
||||||
vt 0.625000 0.562500
|
vt 0.375000 0.562500
|
||||||
vt 0.187500 0.562500
|
vt 0.812500 0.562500
|
||||||
vt 0.000000 0.562500
|
vt 1.000000 0.562500
|
||||||
vt 0.000000 0.812500
|
|
||||||
vt 1.000000 0.812500
|
vt 1.000000 0.812500
|
||||||
vt 1.000000 0.687500
|
vt 0.000000 0.812500
|
||||||
vt 0.125000 0.812500
|
vt 0.000000 0.687500
|
||||||
vt -0.000000 0.625000
|
vt 0.875000 0.812500
|
||||||
vt 0.125000 0.625000
|
vt 1.000000 0.625000
|
||||||
|
vt 0.875000 0.625000
|
||||||
vt 0.312500 0.625000
|
vt 0.312500 0.625000
|
||||||
vt 0.500000 0.687500
|
vt 0.500000 0.562500
|
||||||
vt 0.312500 0.687500
|
|
||||||
vt 0.312500 0.562500
|
vt 0.312500 0.562500
|
||||||
|
vt 0.312500 0.687500
|
||||||
vt 0.500000 0.625000
|
vt 0.500000 0.625000
|
||||||
vt 0.750000 0.625000
|
vt 0.750000 0.625000
|
||||||
vt 0.500000 0.562500
|
vt 0.500000 0.687500
|
||||||
vt 0.750000 0.562500
|
vt 0.750000 0.687500
|
||||||
vt 0.000000 0.812500
|
vt 1.000000 0.812500
|
||||||
vn -1.0000 0.0000 0.0000
|
vn -1.0000 0.0000 0.0000
|
||||||
vn -0.7071 0.0000 -0.7071
|
vn -0.7071 0.0000 -0.7071
|
||||||
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",
|
"modid": "hbm",
|
||||||
"name": "Hbm's Nuclear Tech",
|
"name": "Hbm's Nuclear Tech",
|
||||||
"description": "A mod that adds weapons, nuclear themed stuff and machines",
|
"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",
|
"mcversion": "1.7.10",
|
||||||
"url": "",
|
"url": "",
|
||||||
"updateUrl": "",
|
"updateUrl": "",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user