magnifique

delicious
This commit is contained in:
Vaern 2022-05-02 17:51:36 -07:00
parent e63afbee10
commit 9bf5082236
11 changed files with 56 additions and 11 deletions

View File

@ -24,6 +24,7 @@ public class BlockGraphiteDrilled extends BlockGraphiteDrilledBase implements IT
if(side == cfg * 2 || side == cfg * 2 + 1) {
if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_uranium, ModBlocks.block_graphite_fuel)) return true;
if(checkInteraction(world, x, y, z, meta | 8, player, ModItems.pile_rod_pu239, ModBlocks.block_graphite_fuel)) return true;
if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_plutonium, ModBlocks.block_graphite_plutonium)) return true;
if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_source, ModBlocks.block_graphite_source)) return true;
if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_boron, ModBlocks.block_graphite_rod)) return true;

View File

@ -51,10 +51,10 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements
public IIcon getIcon(int side, int metadata) {
int cfg = metadata & 3;
int meta = metadata >> 2;
int meta = metadata & 4;
if(side == cfg * 2 || side == cfg * 2 + 1) {
if(meta == 1)
if(meta == 4)
return this.blockIconAluminum;
return this.blockIcon;
@ -97,6 +97,11 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements
return true;
}
//Thank god getDrops passes meta
protected Item getInsertedItem(int meta) {
return getInsertedItem();
}
protected Item getInsertedItem() {
return null;
}
@ -108,7 +113,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements
if((meta & 4) == 4)
drops.add(new ItemStack(ModItems.hull_small_aluminium, 1));
if(getInsertedItem() != null)
drops.add(new ItemStack(getInsertedItem(), 1));
drops.add(new ItemStack(getInsertedItem(meta), 1));
return drops;
}
}

View File

@ -40,14 +40,15 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab
if(!world.isRemote) {
int meta = world.getBlockMetadata(x, y, z);
if(tool == ToolType.SCREWDRIVER) {
int meta = world.getBlockMetadata(x, y, z);
int cfg = meta & 3;
if(side == cfg * 2 || side == cfg * 2 + 1) {
world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta, 3);
this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.pile_rod_uranium));
world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta & 7, 3);
this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(getInsertedItem(meta)));
}
}
@ -57,6 +58,8 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab
player.addChatComponentMessage(new ChatComponentText("HEAT: " + pile.heat + "/" + pile.maxHeat).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
player.addChatComponentMessage(new ChatComponentText("DEPLETION: " + pile.progress + "/" + pile.maxProgress).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
player.addChatComponentMessage(new ChatComponentText("FLUX: " + pile.lastNeutrons).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
if((meta & 8) == 8)
player.addChatComponentMessage(new ChatComponentText("PU-239 RICH").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_GREEN)));
}
}
@ -64,7 +67,7 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab
}
@Override
protected Item getInsertedItem() {
return ModItems.pile_rod_uranium;
protected Item getInsertedItem(int meta) {
return (meta & 8) == 8 ? ModItems.pile_rod_pu239 : ModItems.pile_rod_uranium;
}
}

View File

@ -335,6 +335,7 @@ public class HazardRegistry {
HazardSystem.register(new ItemStack(pellet_rtg_depleted, 1, DepletedRTGMaterial.NEPTUNIUM.ordinal()), makeData(RADIATION, np237 * rtg));
HazardSystem.register(pile_rod_uranium, makeData(RADIATION, u * billet * 3));
HazardSystem.register(pile_rod_pu239, makeData(RADIATION, !GeneralConfig.enable528 ? purg * billet + pu239 * billet + u * billet : purg * billet + pu239 * billet + wst * billet));
HazardSystem.register(pile_rod_plutonium, makeData(RADIATION, !GeneralConfig.enable528 ? purg * billet * 3 : purg * billet * 2 + wst * billet));
HazardSystem.register(pile_rod_source, makeData(RADIATION, rabe * billet * 3));

View File

@ -669,6 +669,13 @@ public class AnvilRecipes {
new AnvilOutput(new ItemStack(ModItems.billet_pu_mix, 3)),
new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))
}).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new ComparableStack(ModItems.pile_rod_pu239), new AnvilOutput[] {
new AnvilOutput(new ItemStack(ModItems.billet_pu239, 1)), //Might need to be cut to 3 nuggets, but a full billet is nice and round
new AnvilOutput(new ItemStack(ModItems.billet_pu_mix, 1)),
new AnvilOutput(new ItemStack(ModItems.billet_uranium, 1)),
new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))
}).setTier(2));
} else {
constructionRecipes.add(new AnvilConstructionRecipe(
@ -677,6 +684,13 @@ public class AnvilRecipes {
new AnvilOutput(new ItemStack(ModItems.billet_nuclear_waste, 1)),
new AnvilOutput(new ItemStack(ModItems.plate_iron, 1))
}).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new ComparableStack(ModItems.pile_rod_pu239), new AnvilOutput[] {
new AnvilOutput(new ItemStack(ModItems.billet_pu239, 1)),
new AnvilOutput(new ItemStack(ModItems.billet_pu_mix, 1)),
new AnvilOutput(new ItemStack(ModItems.billet_nuclear_waste, 1)),
new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))
}).setTier(2));
}
constructionRecipes.add(new AnvilConstructionRecipe(

View File

@ -1054,6 +1054,7 @@ public class ModItems {
public static Item waste_plate_pu238be;
public static Item pile_rod_uranium;
public static Item pile_rod_pu239;
public static Item pile_rod_plutonium;
public static Item pile_rod_source;
public static Item pile_rod_boron;
@ -3600,6 +3601,7 @@ public class ModItems {
waste_plate_pu238be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_pu238be");
pile_rod_uranium = new ItemPileRod().setUnlocalizedName("pile_rod_uranium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_uranium");
pile_rod_pu239 = new ItemPileRod().setUnlocalizedName("pile_rod_pu239").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_pu239");
pile_rod_plutonium = new ItemPileRod().setUnlocalizedName("pile_rod_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_plutonium");
pile_rod_source = new ItemPileRod().setUnlocalizedName("pile_rod_source").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_source");
pile_rod_boron = new ItemPileRod().setUnlocalizedName("pile_rod_boron").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_boron");
@ -6750,6 +6752,7 @@ public class ModItems {
//Pile parts
GameRegistry.registerItem(pile_rod_uranium, pile_rod_uranium.getUnlocalizedName());
GameRegistry.registerItem(pile_rod_pu239, pile_rod_pu239.getUnlocalizedName());
GameRegistry.registerItem(pile_rod_plutonium, pile_rod_plutonium.getUnlocalizedName());
GameRegistry.registerItem(pile_rod_source, pile_rod_source.getUnlocalizedName());
GameRegistry.registerItem(pile_rod_boron, pile_rod_boron.getUnlocalizedName());

View File

@ -21,6 +21,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr
if(!worldObj.isRemote) {
dissipateHeat();
react();
transmute();
if(this.heat >= this.maxHeat) {
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 4, true, true);
@ -28,7 +29,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr
}
if(this.progress >= this.maxProgress) {
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.block_graphite_plutonium, this.getBlockMetadata(), 3);
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.block_graphite_plutonium, this.getBlockMetadata() & 7, 3);
}
}
}
@ -54,6 +55,19 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr
for(int i = 0; i < 12; i++)
this.castRay((int) Math.max(reaction * 0.25, 1), 5);
}
private void transmute() {
if((this.getBlockMetadata() & 8) == 8) {
if(this.progress < this.maxProgress - 1000) //Might be subject to change, but 1000 seems like a good number.
this.progress = maxProgress - 1000;
return;
} else if(this.progress >= maxProgress - 1000) {
worldObj.setBlockMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.getBlockMetadata() | 8, 3);
return;
}
}
@Override
public void receiveNeutrons(int n) {

View File

@ -9,7 +9,7 @@ public class TileEntityPileSource extends TileEntityPileBase {
if(!worldObj.isRemote) {
int n = this.getBlockType() == ModBlocks.block_graphite_source ? 1 : 3;
int n = this.getBlockType() == ModBlocks.block_graphite_source ? 1 : 2;
for(int i = 0; i < 12; i++) {
this.castRay(n, 5);

View File

@ -82,6 +82,8 @@ public class MapGenNTMFeatures extends MapGenStructure {
public static class Start extends StructureStart {
public Start() {}
public Start(World world, Random rand, int chunkX, int chunkZ) {
super(chunkX, chunkZ);

View File

@ -2450,6 +2450,8 @@ item.pile_rod_lithium.name=Chicago Pile Lithium Cell
item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core
item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod
item.pile_rod_plutonium.desc=§d[Neutron Source]
item.pile_rod_pu239.name=Chicago Pile Bred Uranium Rod
item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239.
item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source
item.pile_rod_source.desc=§d[Neutron Source]
item.pile_rod_uranium.name=Chicago Pile Uranium Rod

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B