Skip to content

Commit

Permalink
添加机器
Browse files Browse the repository at this point in the history
添加了Antiprotonic Nucleosynthesizer【反质子核合成器】
能正常使用XD
  • Loading branch information
sddsd2332 committed Aug 8, 2021
1 parent 03a9bbe commit a03de20
Show file tree
Hide file tree
Showing 36 changed files with 1,872 additions and 161 deletions.
2 changes: 2 additions & 0 deletions src/main/java/mekanism/api/MekanismRecipeHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,8 @@ public interface MekanismRecipeHelper {
void addPRCRecipe(ItemStack inputSolid, FluidStack inputFluid, GasStack inputGas, ItemStack outputSolid,
GasStack outputGas, double extraEnergy, int ticks);

void addAntiprotonicNucleosynthesizerRecipe(ItemStack inputSolid, GasStack inputGas, ItemStack outputSolid, double extraEnergy, int ticks);

void addThermalEvaporationRecipe(FluidStack inputFluid, FluidStack outputFluid);

void addSolarNeutronRecipe(GasStack inputGas, GasStack outputGas);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ public enum TransmissionType {
GAS("GasNetwork", "Gases"),
ITEM("InventoryNetwork", "Items"),
HEAT("HeatNetwork", "Heat");

private String name;
private String transmission;

Expand Down
76 changes: 11 additions & 65 deletions src/main/java/mekanism/client/ClientProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,7 @@
import mekanism.api.Pos3D;
import mekanism.client.SparkleAnimation.INodeChecker;
import mekanism.client.entity.ParticleLaser;
import mekanism.client.gui.GuiAmbientAccumulator;
import mekanism.client.gui.GuiBoilerStats;
import mekanism.client.gui.GuiCombiner;
import mekanism.client.gui.GuiCrusher;
import mekanism.client.gui.GuiDictionary;
import mekanism.client.gui.GuiDigitalMiner;
import mekanism.client.gui.GuiDynamicTank;
import mekanism.client.gui.GuiElectricPump;
import mekanism.client.gui.GuiElectrolyticSeparator;
import mekanism.client.gui.GuiEnergizedSmelter;
import mekanism.client.gui.GuiEnergyCube;
import mekanism.client.gui.GuiEnrichmentChamber;
import mekanism.client.gui.GuiFactory;
import mekanism.client.gui.GuiFluidTank;
import mekanism.client.gui.GuiFluidicPlenisher;
import mekanism.client.gui.GuiFormulaicAssemblicator;
import mekanism.client.gui.GuiFuelwoodHeater;
import mekanism.client.gui.GuiGasTank;
import mekanism.client.gui.GuiInductionMatrix;
import mekanism.client.gui.GuiLaserAmplifier;
import mekanism.client.gui.GuiLaserTractorBeam;
import mekanism.client.gui.GuiLogisticalSorter;
import mekanism.client.gui.GuiMatrixStats;
import mekanism.client.gui.GuiMetallurgicInfuser;
import mekanism.client.gui.GuiOredictionificator;
import mekanism.client.gui.GuiOsmiumCompressor;
import mekanism.client.gui.GuiPRC;
import mekanism.client.gui.GuiPersonalChest;
import mekanism.client.gui.GuiPrecisionSawmill;
import mekanism.client.gui.GuiPurificationChamber;
import mekanism.client.gui.GuiQuantumEntangloporter;
import mekanism.client.gui.GuiResistiveHeater;
import mekanism.client.gui.GuiRotaryCondensentrator;
import mekanism.client.gui.GuiSecurityDesk;
import mekanism.client.gui.GuiSeismicReader;
import mekanism.client.gui.GuiSeismicVibrator;
import mekanism.client.gui.GuiSideConfiguration;
import mekanism.client.gui.GuiSolarNeutronActivator;
import mekanism.client.gui.GuiTeleporter;
import mekanism.client.gui.GuiThermalEvaporationController;
import mekanism.client.gui.GuiThermoelectricBoiler;
import mekanism.client.gui.GuiTransporterConfig;
import mekanism.client.gui.GuiUpgradeManagement;
import mekanism.client.gui.GuiIsotopicCentrifuge;
import mekanism.client.gui.*;
import mekanism.client.gui.chemical.GuiChemicalCrystallizer;
import mekanism.client.gui.chemical.GuiChemicalDissolutionChamber;
import mekanism.client.gui.chemical.GuiChemicalInfuser;
Expand Down Expand Up @@ -86,25 +43,7 @@
import mekanism.client.render.item.gear.RenderScubaTank;
import mekanism.client.render.item.machine.RenderMachineItem;
import mekanism.client.render.obj.MekanismOBJLoader;
import mekanism.client.render.tileentity.RenderBin;
import mekanism.client.render.tileentity.RenderChemicalCrystallizer;
import mekanism.client.render.tileentity.RenderChemicalDissolutionChamber;
import mekanism.client.render.tileentity.RenderConfigurableMachine;
import mekanism.client.render.tileentity.RenderDigitalMiner;
import mekanism.client.render.tileentity.RenderDynamicTank;
import mekanism.client.render.tileentity.RenderEnergyCube;
import mekanism.client.render.tileentity.RenderFluidTank;
import mekanism.client.render.tileentity.RenderGasTank;
import mekanism.client.render.tileentity.RenderPersonalChest;
import mekanism.client.render.tileentity.RenderQuantumEntangloporter;
import mekanism.client.render.tileentity.RenderResistiveHeater;
import mekanism.client.render.tileentity.RenderSecurityDesk;
import mekanism.client.render.tileentity.RenderSeismicVibrator;
import mekanism.client.render.tileentity.RenderSolarNeutronActivator;
import mekanism.client.render.tileentity.RenderTeleporter;
import mekanism.client.render.tileentity.RenderThermalEvaporationController;
import mekanism.client.render.tileentity.RenderThermoelectricBoiler;
import mekanism.client.render.tileentity.RenderIsotopicCentrifuge;
import mekanism.client.render.tileentity.*;
import mekanism.client.render.transmitter.RenderLogisticalTransporter;
import mekanism.client.render.transmitter.RenderMechanicalPipe;
import mekanism.client.render.transmitter.RenderPressurizedTube;
Expand Down Expand Up @@ -279,6 +218,7 @@ public void registerTESRs() {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityThermodynamicConductor.class, new RenderThermodynamicConductor());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityUniversalCable.class, new RenderUniversalCable());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityIsotopicCentrifuge.class, new RenderIsotopicCentrifuge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAntiprotonicNucleosynthesizer.class, new RenderAntiprotonicNucleosynthesizer());
}

@Override
Expand Down Expand Up @@ -385,17 +325,20 @@ public void registerBlockRenders() {


ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock), 4, getInventoryMRL("digital_miner"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock), 13, getInventoryMRL("personal_chest"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock), 13, getInventoryMRL("isotopic_centrifuge"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock), 14, getInventoryMRL("antiprotonic_nucleosynthesizer"));

ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock2), 6, getInventoryMRL("chemical_dissolution_chamber"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock2), 8, getInventoryMRL("chemical_crystallizer"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock2), 9, getInventoryMRL("seismic_vibrator"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock2), 11, getInventoryMRL("fluid_tank"));



ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock3), 0, getInventoryMRL("quantum_entangloporter"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock3), 1, getInventoryMRL("solar_neutron_activator"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock3), 4, getInventoryMRL("resistive_heater"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock3), 9, getInventoryMRL("isotopic_centrifuge"));
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.MachineBlock3), 9, getInventoryMRL("personal_chest"));

ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(MekanismBlocks.BasicBlock2), 9, getInventoryMRL("security_desk"));

Expand Down Expand Up @@ -819,6 +762,8 @@ public GuiScreen getClientGui(int ID, EntityPlayer player, World world, BlockPos
return new GuiNutritionalLiquifier(player.inventory, (TileEntityNutritionalLiquifier) tileEntity);
case 61:
return new GuiIsotopicCentrifuge(player.inventory, (TileEntityIsotopicCentrifuge) tileEntity);
case 62:
return new GuiAntiprotonicNucleosynthesizer(player.inventory, (TileEntityAntiprotonicNucleosynthesizer) tileEntity);
}
return null;
}
Expand Down Expand Up @@ -952,6 +897,7 @@ public void onModelBake(ModelBakeEvent event) {
machineModelBake(modelRegistry, "solar_neutron_activator", MachineType.SOLAR_NEUTRON_ACTIVATOR);
machineModelBake(modelRegistry, "chemical_dissolution_chamber", MachineType.CHEMICAL_DISSOLUTION_CHAMBER);
machineModelBake(modelRegistry, "chemical_crystallizer", MachineType.CHEMICAL_CRYSTALLIZER);
machineModelBake(modelRegistry,"antiprotonic_nucleosynthesizer",MachineType.ANTIPROTONIC_NUCLEOSYNTHESIZER);
machineModelBake(modelRegistry, "seismic_vibrator", MachineType.SEISMIC_VIBRATOR);
machineModelBake(modelRegistry, "quantum_entangloporter", MachineType.QUANTUM_ENTANGLOPORTER);
machineModelBake(modelRegistry, "resistive_heater", MachineType.RESISTIVE_HEATER);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package mekanism.client.gui;

import mekanism.client.gui.element.*;
import mekanism.client.gui.element.GuiProgress.IProgressInfoHandler;
import mekanism.client.gui.element.GuiProgress.ProgressBar;
import mekanism.client.gui.element.GuiSlot.SlotOverlay;
import mekanism.client.gui.element.GuiSlot.SlotType;
import mekanism.client.gui.element.gauge.GuiGasGauge;
import mekanism.client.gui.element.gauge.GuiGauge;
import mekanism.client.gui.element.tab.GuiSecurityTab;
import mekanism.client.gui.element.tab.GuiSideConfigurationTab;
import mekanism.client.gui.element.tab.GuiTransporterConfigTab;
import mekanism.client.gui.element.tab.GuiUpgradeTab;
import mekanism.common.inventory.container.ContainerAntiprotonicNucleosynthesizer;
import mekanism.common.tile.TileEntityAntiprotonicNucleosynthesizer;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import mekanism.common.util.MekanismUtils.ResourceType;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.Arrays;

@SideOnly(Side.CLIENT)
public class GuiAntiprotonicNucleosynthesizer extends GuiMekanismTile<TileEntityAntiprotonicNucleosynthesizer> {

public GuiAntiprotonicNucleosynthesizer(InventoryPlayer inventory, TileEntityAntiprotonicNucleosynthesizer tile) {
super(tile, new ContainerAntiprotonicNucleosynthesizer(inventory, tile));
ResourceLocation resource = getGuiLocation();
addGuiElement(new GuiRedstoneControl(this, tileEntity, resource));
addGuiElement(new GuiSecurityTab(this, tileEntity, resource));
addGuiElement(new GuiSideConfigurationTab(this, tileEntity, resource));
addGuiElement(new GuiTransporterConfigTab(this, 34, tileEntity, resource));
addGuiElement(new GuiUpgradeTab(this, tileEntity, resource));
addGuiElement(new GuiEnergyInfo(() -> {
double extra = tileEntity.getRecipe() != null ? tileEntity.getRecipe().extraEnergy : 0;
String multiplier = MekanismUtils.getEnergyDisplay(MekanismUtils.getEnergyPerTick(tileEntity, tileEntity.BASE_ENERGY_PER_TICK + extra));
return Arrays.asList(LangUtils.localize("gui.using") + ": " + multiplier + "/t",
LangUtils.localize("gui.needed") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy() - tileEntity.getEnergy()));
}, this, resource));
addGuiElement(new GuiGasGauge(() -> tileEntity.inputGasTank, GuiGauge.Type.STANDARD_RED, this, resource, 28, 10));
addGuiElement(new GuiPowerBar(this, tileEntity, resource, 164, 15));
addGuiElement(new GuiSlot(SlotType.INPUT, this, resource, 53, 34));
addGuiElement(new GuiSlot(SlotType.POWER, this, resource, 140, 18).with(SlotOverlay.POWER));
addGuiElement(new GuiSlot(SlotType.OUTPUT, this, resource, 115, 34));
addGuiElement(new GuiProgress(new IProgressInfoHandler() {
@Override
public double getProgress() {
return tileEntity.getScaledProgress();
}
}, getProgressType(), this, resource, 75, 37));
}

@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
fontRenderer.drawString(tileEntity.getName(), (xSize / 2) - (fontRenderer.getStringWidth(tileEntity.getName()) / 2), 6, 0x404040);
fontRenderer.drawString(LangUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
super.drawGuiContainerForegroundLayer(mouseX, mouseY);
}

@Override
protected ResourceLocation getGuiLocation() {
return MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png");
}

public ProgressBar getProgressType() {
return ProgressBar.MEDIUM;
}
}
11 changes: 3 additions & 8 deletions src/main/java/mekanism/client/jei/MekanismJEI.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,7 @@
import mekanism.client.jei.machine.chemical.ChemicalOxidizerRecipeCategory;
import mekanism.client.jei.machine.chemical.ChemicalWasherRecipeCategory;
import mekanism.client.jei.machine.chemical.NutritionalLiquifierRecipeCategory;
import mekanism.client.jei.machine.other.ElectrolyticSeparatorRecipeCategory;
import mekanism.client.jei.machine.other.MetallurgicInfuserRecipeCategory;
import mekanism.client.jei.machine.other.PRCRecipeCategory;
import mekanism.client.jei.machine.other.RotaryCondensentratorRecipeCategory;
import mekanism.client.jei.machine.other.SolarNeutronRecipeCategory;
import mekanism.client.jei.machine.other.ThermalEvaporationRecipeCategory;
import mekanism.client.jei.machine.other.IsotopicRecipeCategory;
import mekanism.client.jei.machine.other.*;
import mekanism.common.MekanismBlocks;
import mekanism.common.MekanismItems;
import mekanism.common.base.IFactory;
Expand Down Expand Up @@ -114,7 +108,7 @@ public void registerCategories(IRecipeCategoryRegistration registry) {
addRecipeCategory(registry, MachineType.ELECTROLYTIC_SEPARATOR, new ElectrolyticSeparatorRecipeCategory(guiHelper));
addRecipeCategory(registry, MachineType.METALLURGIC_INFUSER, new MetallurgicInfuserRecipeCategory(guiHelper));
addRecipeCategory(registry, MachineType.PRESSURIZED_REACTION_CHAMBER, new PRCRecipeCategory(guiHelper));

addRecipeCategory(registry, MachineType.ANTIPROTONIC_NUCLEOSYNTHESIZER, new AntiprotonicNucleosynthesizerRecipeCategory(guiHelper));
addRecipeCategory(registry, MachineType.Nutritional_Liquifier, new NutritionalLiquifierRecipeCategory(guiHelper));

addRecipeCategory(registry, MachineType.ROTARY_CONDENSENTRATOR, new RotaryCondensentratorRecipeCategory(guiHelper, true));
Expand Down Expand Up @@ -179,6 +173,7 @@ public void register(IModRegistry registry) {
RecipeRegistryHelper.registerNutritional(registry);
RecipeRegistryHelper.registerWasher(registry);
RecipeRegistryHelper.registerNeutronActivator(registry);
RecipeRegistryHelper.registerAntiprotonicNucleosynthesizer(registry);
RecipeRegistryHelper.registerIsotopicCentrifuge(registry);
RecipeRegistryHelper.registerSeparator(registry);
RecipeRegistryHelper.registerEvaporationPlant(registry);
Expand Down
32 changes: 11 additions & 21 deletions src/main/java/mekanism/client/jei/RecipeRegistryHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,7 @@
import java.util.stream.Collectors;
import mekanism.api.gas.Gas;
import mekanism.api.gas.GasRegistry;
import mekanism.client.gui.GuiCombiner;
import mekanism.client.gui.GuiCrusher;
import mekanism.client.gui.GuiElectrolyticSeparator;
import mekanism.client.gui.GuiEnergizedSmelter;
import mekanism.client.gui.GuiEnrichmentChamber;
import mekanism.client.gui.GuiMetallurgicInfuser;
import mekanism.client.gui.GuiOsmiumCompressor;
import mekanism.client.gui.GuiPRC;
import mekanism.client.gui.GuiPrecisionSawmill;
import mekanism.client.gui.GuiPurificationChamber;
import mekanism.client.gui.GuiRotaryCondensentrator;
import mekanism.client.gui.GuiSolarNeutronActivator;
import mekanism.client.gui.GuiThermalEvaporationController;
import mekanism.client.gui.GuiIsotopicCentrifuge;
import mekanism.client.gui.*;
import mekanism.client.gui.chemical.GuiChemicalCrystallizer;
import mekanism.client.gui.chemical.GuiChemicalDissolutionChamber;
import mekanism.client.gui.chemical.GuiChemicalInfuser;
Expand All @@ -38,13 +25,7 @@
import mekanism.client.jei.machine.chemical.ChemicalOxidizerRecipeWrapper;
import mekanism.client.jei.machine.chemical.ChemicalWasherRecipeWrapper;
import mekanism.client.jei.machine.chemical.NutritionalLiquifierRecipeWrapper;
import mekanism.client.jei.machine.other.ElectrolyticSeparatorRecipeWrapper;
import mekanism.client.jei.machine.other.MetallurgicInfuserRecipeWrapper;
import mekanism.client.jei.machine.other.PRCRecipeWrapper;
import mekanism.client.jei.machine.other.RotaryCondensentratorRecipeWrapper;
import mekanism.client.jei.machine.other.SolarNeutronRecipeWrapper;
import mekanism.client.jei.machine.other.ThermalEvaporationRecipeWrapper;
import mekanism.client.jei.machine.other.IsotopicRecipeWrapper;
import mekanism.client.jei.machine.other.*;
import mekanism.common.Mekanism;
import mekanism.common.base.IFactory.RecipeType;
import mekanism.common.block.states.BlockStateBasic.BasicBlockType;
Expand Down Expand Up @@ -212,6 +193,15 @@ public static void registerIsotopicCentrifuge(IModRegistry registry) {
registerRecipeItem(registry, MachineType.ISOTOPIC_CENTRIFUGE, Recipe.ISOTOPIC_CENTRIFUGE);
}

public static void registerAntiprotonicNucleosynthesizer(IModRegistry registry) {
if (!MachineType.ANTIPROTONIC_NUCLEOSYNTHESIZER.isEnabled()) {
return;
}
addRecipes(registry, Recipe.ANTIPROTONIC_NUCLEOSYNTHESIZER, AntiprotonicNucleosynthesizerRecipeWrapper::new);
registry.addRecipeClickArea(GuiAntiprotonicNucleosynthesizer.class, 75, 37, 36, 10, Recipe.ANTIPROTONIC_NUCLEOSYNTHESIZER.getJEICategory());
registerRecipeItem(registry, MachineType.ANTIPROTONIC_NUCLEOSYNTHESIZER, Recipe.ANTIPROTONIC_NUCLEOSYNTHESIZER);
}



public static void registerSeparator(IModRegistry registry) {
Expand Down
Loading

0 comments on commit a03de20

Please sign in to comment.