mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
anvil NEI handler, some minor adjustments
This commit is contained in:
parent
ced90d7874
commit
7967275373
@ -68,7 +68,7 @@ public class MachineGasCent extends BlockDummyable implements IMultiblock {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int[] getDimensions() {
|
public int[] getDimensions() {
|
||||||
return new int[] {2, 0, 0, 0, 0, 0,};
|
return new int[] {3, 0, 0, 0, 0, 0,};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -5197,7 +5197,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))
|
||||||
@ -5219,7 +5220,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);
|
||||||
|
|||||||
@ -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 });
|
||||||
|
|||||||
@ -57,7 +57,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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,8 +52,6 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I
|
|||||||
private static final int[] slots_bottom = new int[] {2, 3, 4};
|
private static final int[] slots_bottom = new int[] {2, 3, 4};
|
||||||
private static final int[] slots_side = new int[] { };
|
private static final int[] slots_side = new int[] { };
|
||||||
|
|
||||||
private String customName;
|
|
||||||
|
|
||||||
public TileEntityMachineGasCent() {
|
public TileEntityMachineGasCent() {
|
||||||
super(6);
|
super(6);
|
||||||
tank = new FluidTank(FluidType.UF6, 2000, 0);
|
tank = new FluidTank(FluidType.UF6, 2000, 0);
|
||||||
@ -65,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
|
||||||
@ -97,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 +370,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 +439,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
|
||||||
|
|||||||
@ -3647,6 +3647,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
|
||||||
|
|||||||
@ -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 |
Loading…
x
Reference in New Issue
Block a user