welded fusion reactor magnets

This commit is contained in:
Boblet 2023-06-19 16:22:03 +02:00
parent f2886ea33e
commit f17a1280d7
18 changed files with 118 additions and 68 deletions

View File

@ -2016,7 +2016,7 @@ public class ModBlocks {
reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer");
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_conductor_top_alt").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt");
fusion_conductor = new BlockToolConversionPillar(Material.iron).addVariant("_welded").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor");
fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt");
fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt");
fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
@ -3327,7 +3327,7 @@ public class ModBlocks {
GameRegistry.registerBlock(reactor_conductor, reactor_conductor.getUnlocalizedName());
GameRegistry.registerBlock(reactor_computer, reactor_computer.getUnlocalizedName());
GameRegistry.registerBlock(fusion_conductor, fusion_conductor.getUnlocalizedName());
register(fusion_conductor);
GameRegistry.registerBlock(fusion_center, fusion_center.getUnlocalizedName());
GameRegistry.registerBlock(fusion_motor, fusion_motor.getUnlocalizedName());
GameRegistry.registerBlock(fusion_heater, fusion_heater.getUnlocalizedName());

View File

@ -8,9 +8,11 @@ import java.util.Map.Entry;
import com.hbm.blocks.BlockMulti;
import com.hbm.blocks.ILookOverlay;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.OreDictManager;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.MetaBlock;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import com.hbm.util.InventoryUtil;
@ -150,6 +152,7 @@ public class BlockToolConversion extends BlockMulti implements IToolable, ILookO
public static void registerRecipes() {
conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new ComparableStack(ModItems.bolt_dura_steel, 4)}, new MetaBlock(ModBlocks.watz_end, 1)));
conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.fusion_conductor, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast())}, new MetaBlock(ModBlocks.fusion_conductor, 1)));
}
public static HashMap<Object[], Object> bufferedRecipes = new HashMap();

View File

@ -0,0 +1,48 @@
package com.hbm.blocks.generic;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
public class BlockToolConversionPillar extends BlockToolConversion {
public IIcon[] topIcons;
public IIcon topIcon;
public BlockToolConversionPillar(Material mat) {
super(mat);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.blockIcon = iconRegister.registerIcon(this.getTextureName() + "_side");
this.topIcon = iconRegister.registerIcon(this.getTextureName() + "_top");
if(names != null) {
icons = new IIcon[names.length];
topIcons = new IIcon[names.length];
for(int i = 0; i < names.length; i++) {
icons[i] = iconRegister.registerIcon(getTextureName() + "_side" + names[i]);
topIcons[i] = iconRegister.registerIcon(getTextureName() + "_top" + names[i]);
}
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
metadata -= 1;
if(metadata == -1 || icons == null || metadata >= icons.length) {
return side == 0 || side == 1 ? topIcon : blockIcon;
}
return side == 0 || side == 1 ? topIcons[metadata] : icons[metadata];
}
}

View File

@ -4,6 +4,8 @@ import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityITER;
@ -241,20 +243,23 @@ public class MachineITER extends BlockDummyable {
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int i) {
if(i >= 12 && drop) {
for(int l = 0; l < 4; l++)
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 64)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 36)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_center, 64)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_motor, 4)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.reinforced_glass, 8)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_iter_core, 1)));
}
if(i >= 12 && drop) {
for(int l = 0; l < 4; l++) {
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 64)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_cast, 64, Mats.MAT_STEEL.id)));
}
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 36)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_cast, 36, Mats.MAT_STEEL.id)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_center, 64)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_motor, 4)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.reinforced_glass, 8)));
world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_iter_core, 1)));
}
super.breakBlock(world, x, y, z, block, i);
}
}
}

View File

@ -3,6 +3,7 @@ package com.hbm.handler.nei;
import java.util.HashMap;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ModItems;
import com.hbm.util.ItemStackUtil;
@ -45,13 +46,13 @@ public class ConstructionHandler extends NEIUniversalHandler {
/* ITER */
ItemStack[] iter = new ItemStack[] {
new ItemStack(ModBlocks.fusion_conductor, 36),
new ItemStack(ModBlocks.fusion_conductor, 64),
new ItemStack(ModBlocks.fusion_conductor, 64),
new ItemStack(ModBlocks.fusion_conductor, 64),
new ItemStack(ModBlocks.fusion_conductor, 64),
ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.fusion_conductor, 320), EnumChatFormatting.RED + "5x64"),
new ItemStack(ModItems.plate_cast, 36, Mats.MAT_STEEL.id),
ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.plate_cast, 320, Mats.MAT_STEEL.id), EnumChatFormatting.RED + "5x64"),
new ItemStack(ModBlocks.fusion_center, 64),
new ItemStack(ModBlocks.fusion_motor, 4),
new ItemStack(ModBlocks.reinforced_glass, 8)};
new ItemStack(ModBlocks.reinforced_glass, 8),
new ItemStack(ModItems.blowtorch)};
bufferedRecipes.put(iter, new ItemStack(ModBlocks.iter));
bufferedTools.put(iter, new ItemStack(ModBlocks.struct_iter_core));

View File

@ -92,6 +92,7 @@ public class OreDictManager {
public static final String KEY_TOOL_SCREWDRIVER = "ntmscrewdriver";
public static final String KEY_TOOL_HANDDRILL = "ntmhanddrill";
public static final String KEY_TOOL_CHEMISTRYSET = "ntmchemistryset";
public static final String KEY_TOOL_TORCH = "ntmtorch";
public static final String KEY_CIRCUIT_BISMUTH = "circuitVersatile";
@ -482,6 +483,8 @@ public class OreDictManager {
OreDictionary.registerOre(KEY_TOOL_HANDDRILL, new ItemStack(hand_drill_desh, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set_boron, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre(KEY_TOOL_TORCH, new ItemStack(blowtorch, 1, OreDictionary.WILDCARD_VALUE));
OreDictionary.registerOre(KEY_TOOL_TORCH, new ItemStack(acetylene_torch, 1, OreDictionary.WILDCARD_VALUE));
/*
* CIRCUITS

View File

@ -293,7 +293,7 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.hull_small_steel, 6), new ComparableStack(ModItems.generator_steel, 2), new ComparableStack(ModItems.bolt_compound, 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.deco_pipe_quad, 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600);
makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new ComparableStack(ModItems.wire_gold, 32), new ComparableStack(ModItems.entanglement_kit, 1), new ComparableStack(ModBlocks.machine_battery, 1) },300);
makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_transmutator, 1), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), new OreDictStack(TI.ingot(), 24), new OreDictStack(ALLOY.plate(), 18), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit_gold, 5), },500);
makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150);
makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new ComparableStack(ModItems.coil_advanced_alloy, 5), }, 100);
makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200);
makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack(TI.ingot(), 4), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.motor, 4), },250);
makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150);

View File

@ -3,14 +3,12 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.render.util.IconUtil;
import com.hbm.render.util.SmallBlockPronter;
import com.hbm.tileentity.machine.TileEntityITERStruct;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
public class RenderITERMultiblock extends TileEntitySpecialRenderer {
@ -19,50 +17,35 @@ public class RenderITERMultiblock extends TileEntitySpecialRenderer {
GL11.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z);
GL11.glTranslated(x, y, z);
bindTexture(TextureMap.locationBlocksTexture);
SmallBlockPronter.startDrawing();
int[][][] layout = TileEntityITERStruct.layout;
for(int iy = -2; iy <= 2; iy++) {
int iny = 2 - Math.abs(iy);
for(int ix = 0; ix < layout[0].length; ix++) {
for(int iz = 0; iz < layout[0][0].length; iz++) {
int block = layout[iny][ix][iz];
switch(block) {
case 0:
continue;
case 1: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_conductor, 1, ix - 7F, iy + 2, iz - 7F); break;
case 2: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_center, 0, ix - 7F, iy + 2, iz - 7F); break;
case 3: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_motor, 0, ix - 7F, iy + 2, iz - 7F); break;
case 4: SmallBlockPronter.drawSmolBlockAt(ModBlocks.reinforced_glass, 0, ix - 7F, iy + 2, iz - 7F); break;
}
}
}
}
SmallBlockPronter.draw();
GL11.glEnable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_CULL_FACE);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glDepthMask(false);
ResourceLocation magnet = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_conductor, 2);
ResourceLocation solenoid = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_center, 2);
ResourceLocation motor = IconUtil.getTextureFromBlock(ModBlocks.fusion_motor);
ResourceLocation glass = IconUtil.getTextureFromBlock(ModBlocks.reinforced_glass);
int[][][] layout = TileEntityITERStruct.layout;
for(int iy = -2; iy <= 2; iy ++) {
int iny = 2 - Math.abs(iy);
for(int ix = 0; ix < layout[0].length; ix++) {
for(int iz = 0; iz < layout[0][0].length; iz++) {
int block = layout[iny][ix][iz];
switch(block) {
case 0: continue;
case 1: bindTexture(magnet); break;
case 2: bindTexture(solenoid); break;
case 3: bindTexture(motor); break;
case 4: bindTexture(glass); break;
}
SmallBlockPronter.renderSmolBlockAt(ix - 6F, iy + 3, iz - 7F);
}
}
}
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}

View File

@ -151,9 +151,10 @@ public class TileEntityITERStruct extends TileEntity {
int b = layout[ly][x][z];
Block block = worldObj.getBlock(xCoord + x - width, yCoord + y, zCoord + z - width);
int meta = worldObj.getBlockMetadata(xCoord + x - width, yCoord + y, zCoord + z - width);
switch(b) {
case 1: if(block != ModBlocks.fusion_conductor) { return; } break;
case 1: if(block != ModBlocks.fusion_conductor || meta != 1) { return; } break;
case 2: if(block != ModBlocks.fusion_center) { return; } break;
case 3: if(block != ModBlocks.fusion_motor) { return; } break;
case 4: if(block != ModBlocks.reinforced_glass) { return; } break;

View File

@ -3808,6 +3808,7 @@ tile.furnace_steel.name=Stahlofen
tile.furnace_steel.desc=Sehr großer Ofen mit Produktionsboni.$Benötigt externe Hitzequelle.$Wärmetransferrate: ΔT*0.05 TU/t$(Δ heißt Differenz, T heißt Temparatur)
tile.fusion_center.name=Zentralmagnetstück
tile.fusion_conductor.name=Supraleiter-Magnet
tile.fusion_conductor_welded.name=Supraleiter-Magnet (Verschweißt)
tile.fusion_core.name=Fusionsreaktorsteuerung
tile.fusion_hatch.name=Fusionsreaktorzugriffsluke
tile.fusion_heater.name=Plasmaerhitzer-Komponente
@ -3839,6 +3840,8 @@ tile.glass_polonium.name=Poloniumglas
tile.glass_quartz.name=Quarzglas
tile.glass_trinitite.name=Trinity-Glas
tile.glass_uranium.name=Uranglas
tile.glyphid_base.name=Glyphidnest
tile.glyphid_spawner.name=Glyphidnest-Spawner
tile.gneiss_brick.name=Schieferziegel
tile.gneiss_chiseled.name=Gemeißelter Schiefer
tile.gneiss_tile.name=Schieferfliese

View File

@ -4631,6 +4631,7 @@ tile.furnace_steel.name=Steel Furnace
tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature)
tile.fusion_center.name=Central Magnet Piece
tile.fusion_conductor.name=Superconducting Magnet
tile.fusion_conductor_welded.name=Superconducting Magnet (Welded)
tile.fusion_core.name=Fusion Reactor Control
tile.fusion_hatch.name=Duct Deco Block
tile.fusion_heater.name=Plasma Heater Component
@ -4662,6 +4663,8 @@ tile.glass_polonium.name=Polonium Glass
tile.glass_quartz.name=Quartz Glass
tile.glass_trinitite.name=Trinity Glass
tile.glass_uranium.name=Uranium Glass
tile.glyphid_base.name=Glyphid Hive Block
tile.glyphid_spawner.name=Glyphid Hive Spawner
tile.gneiss_brick.name=Schist Brick
tile.gneiss_chiseled.name=Chiseled Schist
tile.gneiss_tile.name=Schist Tile

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B