v2o.8.6
This commit is contained in:
parent
ed07723a96
commit
7f9b66779b
changelog.txtgradle.properties
src/main
java/nc
resources/assets/nuclearcraft/lang
|
@ -1,3 +1,7 @@
|
|||
v2o.8.6
|
||||
|
||||
* Fixed Turbine crash on servers
|
||||
|
||||
v2o.8.5
|
||||
|
||||
+ Added Distiller and Infiltrator sound effects
|
||||
|
|
|
@ -7,7 +7,7 @@ modGroup = nc
|
|||
|
||||
# Version of your mod.
|
||||
# This field can be left empty if you want your mod's version to be determined by the latest git tag instead.
|
||||
modVersion = 2o.8.5
|
||||
modVersion = 2o.8.6
|
||||
|
||||
# Whether to use the old jar naming structure (modid-mcversion-version) instead of the new version (modid-version)
|
||||
includeMCVersionJar = true
|
||||
|
|
|
@ -4,7 +4,7 @@ public class Global {
|
|||
|
||||
public static final String MOD_ID = "nuclearcraft";
|
||||
public static final String MOD_NAME = "NuclearCraft: Overhauled";
|
||||
public static final String VERSION = "2o.8.5";
|
||||
public static final String VERSION = "2o.8.6";
|
||||
public static final String DEPENDENCIES = "required-after:forge@[14.23.5.2847,);after:tconstruct;after:conarm;after:openterraingenerator;after:alchemistry;after:harvestcraft;after:groovyscript";
|
||||
|
||||
public static final String NC_CLIENT_PROXY = "nc.proxy.ClientProxy";
|
||||
|
|
|
@ -116,7 +116,6 @@ public class NCConfig {
|
|||
public static String[] machine_cathode_efficiency;
|
||||
public static String[] machine_anode_efficiency;
|
||||
public static double machine_electrolyzer_sound_volume;
|
||||
public static double machine_electrolyzer_particles;
|
||||
|
||||
public static int machine_distiller_time;
|
||||
public static int machine_distiller_power;
|
||||
|
@ -562,7 +561,6 @@ public class NCConfig {
|
|||
machine_cathode_efficiency = sync(CATEGORY_MACHINE, "machine_cathode_efficiency", new String[] {"Iron@0.6", "Nickel@0.7", "Molybdenum@0.8", "Cobalt@0.9", "Platinum@1.0", "Palladium@1.0"}, LIST);
|
||||
machine_anode_efficiency = sync(CATEGORY_MACHINE, "machine_anode_efficiency", new String[] {"CopperOxide@0.6", "TinOxide@0.6", "NickelOxide@0.7", "CobaltOxide@0.8", "RutheniumOxide@0.9", "IridiumOxide@1.0"}, LIST);
|
||||
machine_electrolyzer_sound_volume = sync(CATEGORY_MACHINE, "machine_electrolyzer_sound_volume", 1D, 0D, 15D);
|
||||
machine_electrolyzer_particles = sync(CATEGORY_MACHINE, "machine_electrolyzer_particles", 0.025D, 0D, 1D);
|
||||
|
||||
machine_distiller_time = sync(CATEGORY_MACHINE, "machine_distiller_time", 3200, 1, 128000);
|
||||
machine_distiller_power = sync(CATEGORY_MACHINE, "machine_distiller_power", 40, 1, 128000);
|
||||
|
|
|
@ -20,7 +20,7 @@ public class ContainerProcessorImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static class ContainerBasicUpgradableProcessor<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends ContainerUpgradableProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
public static class ContainerBasicUpgradableProcessor<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends ContainerUpgradableProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
|
||||
public ContainerBasicUpgradableProcessor(EntityPlayer player, TILE tile) {
|
||||
super(player, tile);
|
||||
|
|
|
@ -19,7 +19,7 @@ public class GuiProcessorImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static class GuiBasicUpgradableProcessor<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends GuiUpgradableProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
public static class GuiBasicUpgradableProcessor<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends GuiUpgradableProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
|
||||
public GuiBasicUpgradableProcessor(Container inventory, EntityPlayer player, TILE tile, String textureLocation) {
|
||||
super(inventory, player, tile, textureLocation);
|
||||
|
|
|
@ -35,7 +35,7 @@ public class JEIRecipeWrapperImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static class JEIBasicUpgradableProcessorRecipeWrapper<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket, WRAPPER extends JEIBasicUpgradableProcessorRecipeWrapper<TILE, PACKET, WRAPPER>> extends JEIProcessorRecipeWrapper<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>, WRAPPER> {
|
||||
public static class JEIBasicUpgradableProcessorRecipeWrapper<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket, WRAPPER extends JEIBasicUpgradableProcessorRecipeWrapper<TILE, PACKET, WRAPPER>> extends JEIProcessorRecipeWrapper<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>, WRAPPER> {
|
||||
|
||||
public JEIBasicUpgradableProcessorRecipeWrapper(String name, IGuiHelper guiHelper, BasicRecipe recipe) {
|
||||
super(name, guiHelper, recipe);
|
||||
|
|
|
@ -13,18 +13,16 @@ import nc.tile.machine.*;
|
|||
import nc.tile.multiblock.TilePartAbstract.SyncReason;
|
||||
import nc.util.*;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumFacing.Axis;
|
||||
import net.minecraft.util.EnumParticleTypes;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.relauncher.*;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.*;
|
||||
import java.util.function.*;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static nc.config.NCConfig.*;
|
||||
import static nc.config.NCConfig.machine_electrolyzer_sound_volume;
|
||||
|
||||
public class ElectrolyzerLogic extends MachineLogic {
|
||||
|
||||
|
@ -401,7 +399,7 @@ public class ElectrolyzerLogic extends MachineLogic {
|
|||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected void updateParticles() {
|
||||
if (isProcessing && multiblock.isAssembled() && !Minecraft.getMinecraft().isGamePaused()) {
|
||||
/*if (isProcessing && multiblock.isAssembled() && !Minecraft.getMinecraft().isGamePaused()) {
|
||||
int minY = multiblock.getMinY(), interiorY = multiblock.getInteriorLengthY();
|
||||
for (TileElectrolyzerCathodeTerminal cathode : getParts(TileElectrolyzerCathodeTerminal.class)) {
|
||||
BlockPos pos = cathode.getPos();
|
||||
|
@ -415,12 +413,12 @@ public class ElectrolyzerLogic extends MachineLogic {
|
|||
spawnElectrodeParticles(pos.up(), interiorY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected void spawnElectrodeParticles(BlockPos pos, int height) {
|
||||
double centerX = pos.getX() + 0.5D, minCenterY = pos.getY() + 0.5D, centerZ = pos.getZ() + 0.5D;
|
||||
/*double centerX = pos.getX() + 0.5D, minCenterY = pos.getY() + 0.5D, centerZ = pos.getZ() + 0.5D;
|
||||
for (int i = 0; i < height; ++i) {
|
||||
if (rand.nextDouble() < machine_electrolyzer_particles) {
|
||||
double x = centerX + (rand.nextBoolean() ? 1D : -1D) * (0.5D + 0.125 * rand.nextDouble());
|
||||
|
@ -428,7 +426,7 @@ public class ElectrolyzerLogic extends MachineLogic {
|
|||
double z = centerZ + (rand.nextBoolean() ? 1D : -1D) * (0.5D + 0.125 * rand.nextDouble());
|
||||
getWorld().spawnParticle(EnumParticleTypes.WATER_BUBBLE, false, x, y, z, 0D, 0D, 0D);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
// NBT
|
||||
|
|
|
@ -32,7 +32,7 @@ public class Machine extends CuboidalMultiblock<Machine, IMachinePart> implement
|
|||
public boolean isMachineOn, fullHalt;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public final Object2ObjectMap<BlockPos, ISound> soundMap = new Object2ObjectOpenHashMap<>();
|
||||
protected Object2ObjectMap<BlockPos, ISound> soundMap;
|
||||
public boolean refreshSounds = true;
|
||||
|
||||
protected final Set<EntityPlayer> updatePacketListeners = new ObjectOpenHashSet<>();
|
||||
|
@ -164,6 +164,10 @@ public class Machine extends CuboidalMultiblock<Machine, IMachinePart> implement
|
|||
|
||||
@Override
|
||||
protected void updateClient() {
|
||||
if (soundMap == null) {
|
||||
soundMap = new Object2ObjectOpenHashMap<>();
|
||||
}
|
||||
|
||||
logic.onUpdateClient();
|
||||
}
|
||||
|
||||
|
|
|
@ -414,7 +414,7 @@ public class MachineLogic extends MultiblockLogic<Machine, MachineLogic, IMachin
|
|||
setRecipeStats(recipeInfo == null ? null : recipeInfo.recipe);
|
||||
if (recipeInfo == null) {
|
||||
if (productionCount > 0) {
|
||||
recipeUnitInfo = recipeUnitInfo.withRateMultiplier(recipeUnitInfo.rateMultiplier * productionCount / (1D + productionCount));
|
||||
recipeUnitInfo = recipeUnitInfo.withRateMultiplier(recipeUnitInfo.rateMultiplier / (1D + 1D / productionCount));
|
||||
}
|
||||
else {
|
||||
recipeUnitInfo = RecipeUnitInfo.DEFAULT;
|
||||
|
|
|
@ -67,7 +67,7 @@ public class Turbine extends CuboidalMultiblock<Turbine, ITurbinePart> implement
|
|||
public final DoubleList expansionLevels = new DoubleArrayList(), rawBladeEfficiencies = new DoubleArrayList();
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public final Object2ObjectMap<BlockPos, ISound> soundMap = new Object2ObjectOpenHashMap<>();
|
||||
protected Object2ObjectMap<BlockPos, ISound> soundMap;
|
||||
public boolean refreshSounds = true;
|
||||
|
||||
public String particleEffect = "cloud";
|
||||
|
@ -316,6 +316,10 @@ public class Turbine extends CuboidalMultiblock<Turbine, ITurbinePart> implement
|
|||
|
||||
@Override
|
||||
protected void updateClient() {
|
||||
if (soundMap == null) {
|
||||
soundMap = new Object2ObjectOpenHashMap<>();
|
||||
}
|
||||
|
||||
logic.onUpdateClient();
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraft.tileentity.TileEntity;
|
|||
import net.minecraft.util.*;
|
||||
import net.minecraftforge.items.*;
|
||||
|
||||
public interface IUpgradableBasicProcessor<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends IProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>>, ITileInstallable {
|
||||
public interface IBasicUpgradableProcessor<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends IProcessor<TILE, PACKET, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, PACKET>>, ITileInstallable {
|
||||
|
||||
default boolean tryInstall(EntityPlayer player, EnumHand hand, EnumFacing facing) {
|
||||
ItemStack held = player.getHeldItem(hand);
|
|
@ -6,7 +6,6 @@ import nc.network.tile.processor.ProcessorUpdatePacket;
|
|||
import nc.recipe.*;
|
||||
import nc.recipe.ingredient.*;
|
||||
import nc.tile.ITileGui;
|
||||
import nc.tile.dummy.IInterfaceable;
|
||||
import nc.tile.fluid.ITileFluid;
|
||||
import nc.tile.internal.fluid.*;
|
||||
import nc.tile.internal.fluid.Tank.TankInfo;
|
||||
|
@ -28,7 +27,7 @@ import net.minecraftforge.items.IItemHandler;
|
|||
import javax.annotation.*;
|
||||
import java.util.*;
|
||||
|
||||
public interface IProcessor<TILE extends TileEntity & IProcessor<TILE, PACKET, INFO>, PACKET extends ProcessorUpdatePacket, INFO extends ProcessorContainerInfo<TILE, PACKET, INFO>> extends ITickable, ITileInventory, ITileFluid, IInterfaceable, ITileGui<TILE, PACKET, INFO> {
|
||||
public interface IProcessor<TILE extends TileEntity & IProcessor<TILE, PACKET, INFO>, PACKET extends ProcessorUpdatePacket, INFO extends ProcessorContainerInfo<TILE, PACKET, INFO>> extends ITickable, ITileInventory, ITileFluid, ITileGui<TILE, PACKET, INFO> {
|
||||
|
||||
BasicRecipeHandler getRecipeHandler();
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import nc.ModCheck;
|
|||
import nc.handler.TileInfoHandler;
|
||||
import nc.network.tile.processor.EnergyProcessorUpdatePacket;
|
||||
import nc.recipe.*;
|
||||
import nc.tile.dummy.IInterfaceable;
|
||||
import nc.tile.energy.ITileEnergy;
|
||||
import nc.tile.energyFluid.TileEnergyFluidSidedInventory;
|
||||
import nc.tile.fluid.ITileFluid;
|
||||
|
@ -32,7 +33,7 @@ import javax.annotation.*;
|
|||
import java.util.*;
|
||||
|
||||
@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")
|
||||
public abstract class TileEnergyProcessor<TILE extends TileEnergyProcessor<TILE, INFO>, INFO extends ProcessorContainerInfo<TILE, EnergyProcessorUpdatePacket, INFO>> extends TileEnergyFluidSidedInventory implements IProcessor<TILE, EnergyProcessorUpdatePacket, INFO>, SimpleComponent {
|
||||
public abstract class TileEnergyProcessor<TILE extends TileEnergyProcessor<TILE, INFO>, INFO extends ProcessorContainerInfo<TILE, EnergyProcessorUpdatePacket, INFO>> extends TileEnergyFluidSidedInventory implements IProcessor<TILE, EnergyProcessorUpdatePacket, INFO>, IInterfaceable, SimpleComponent {
|
||||
|
||||
protected INFO info;
|
||||
|
||||
|
@ -393,7 +394,7 @@ public abstract class TileEnergyProcessor<TILE extends TileEnergyProcessor<TILE,
|
|||
}
|
||||
}
|
||||
}
|
||||
return IProcessor.super.onUseMultitool(multitool, player, world, facing, hitX, hitY, hitZ);
|
||||
return IInterfaceable.super.onUseMultitool(multitool, player, world, facing, hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
// NBT
|
||||
|
|
|
@ -19,7 +19,7 @@ public class TileProcessorImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static abstract class TileBasicUpgradableEnergyProcessor<TILE extends TileBasicUpgradableEnergyProcessor<TILE>> extends TileUpgradableEnergyProcessor<TILE, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, EnergyProcessorUpdatePacket>> implements IUpgradableBasicProcessor<TILE, EnergyProcessorUpdatePacket> {
|
||||
public static abstract class TileBasicUpgradableEnergyProcessor<TILE extends TileBasicUpgradableEnergyProcessor<TILE>> extends TileUpgradableEnergyProcessor<TILE, ProcessorContainerInfoImpl.BasicUpgradableProcessorContainerInfo<TILE, EnergyProcessorUpdatePacket>> implements IBasicUpgradableProcessor<TILE, EnergyProcessorUpdatePacket> {
|
||||
|
||||
/**
|
||||
* Don't use this constructor!
|
||||
|
|
|
@ -19,7 +19,7 @@ public class ProcessorContainerInfoImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static class BasicUpgradableProcessorContainerInfo<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends UpgradableProcessorContainerInfo<TILE, PACKET, BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
public static class BasicUpgradableProcessorContainerInfo<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends UpgradableProcessorContainerInfo<TILE, PACKET, BasicUpgradableProcessorContainerInfo<TILE, PACKET>> {
|
||||
|
||||
public BasicUpgradableProcessorContainerInfo(String modId, String name, Class<TILE> tileClass, Class<? extends Container> containerClass, ContainerFunction<TILE> containerFunction, Class<? extends GuiContainer> guiClass, GuiFunction<TILE> guiFunction, ContainerFunction<TILE> configContainerFunction, GuiFunction<TILE> configGuiFunction, String recipeHandlerName, int inputTankCapacity, int outputTankCapacity, double defaultProcessTime, double defaultProcessPower, boolean isGenerator, boolean consumesInputs, boolean losesProgress, String ocComponentName, int[] guiWH, List<int[]> itemInputGuiXYWH, List<int[]> fluidInputGuiXYWH, List<int[]> itemOutputGuiXYWH, List<int[]> fluidOutputGuiXYWH, int[] playerGuiXY, int[] progressBarGuiXYWHUV, int[] energyBarGuiXYWHUV, int[] machineConfigGuiXY, int[] redstoneControlGuiXY, boolean jeiCategoryEnabled, String jeiCategoryUid, String jeiTitle, String jeiTexture, int[] jeiBackgroundXYWH, int[] jeiTooltipXYWH, int[] jeiClickAreaXYWH, int[] speedUpgradeGuiXYWH, int[] energyUpgradeGuiXYWH) {
|
||||
super(modId, name, tileClass, containerClass, containerFunction, guiClass, guiFunction, configContainerFunction, configGuiFunction, recipeHandlerName, inputTankCapacity, outputTankCapacity, defaultProcessTime, defaultProcessPower, isGenerator, consumesInputs, losesProgress, ocComponentName, guiWH, itemInputGuiXYWH, fluidInputGuiXYWH, itemOutputGuiXYWH, fluidOutputGuiXYWH, playerGuiXY, progressBarGuiXYWHUV, energyBarGuiXYWHUV, machineConfigGuiXY, redstoneControlGuiXY, jeiCategoryEnabled, jeiCategoryUid, jeiTitle, jeiTexture, jeiBackgroundXYWH, jeiTooltipXYWH, jeiClickAreaXYWH, speedUpgradeGuiXYWH, energyUpgradeGuiXYWH);
|
||||
|
|
|
@ -25,7 +25,7 @@ public class ProcessorContainerInfoBuilderImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public static class BasicUpgradableProcessorContainerInfoBuilder<TILE extends TileEntity & IUpgradableBasicProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends UpgradableProcessorContainerInfoBuilder<TILE, PACKET, BasicUpgradableProcessorContainerInfo<TILE, PACKET>, BasicUpgradableProcessorContainerInfoBuilder<TILE, PACKET>> {
|
||||
public static class BasicUpgradableProcessorContainerInfoBuilder<TILE extends TileEntity & IBasicUpgradableProcessor<TILE, PACKET>, PACKET extends ProcessorUpdatePacket> extends UpgradableProcessorContainerInfoBuilder<TILE, PACKET, BasicUpgradableProcessorContainerInfo<TILE, PACKET>, BasicUpgradableProcessorContainerInfoBuilder<TILE, PACKET>> {
|
||||
|
||||
public BasicUpgradableProcessorContainerInfoBuilder(String modId, String name, Class<TILE> tileClass, Supplier<TILE> tileSupplier, Class<? extends Container> containerClass, ContainerFunction<TILE> containerFunction, Class<? extends GuiContainer> guiClass, GuiInfoTileFunction<TILE> guiFunction) {
|
||||
super(modId, name, tileClass, tileSupplier, containerClass, containerFunction, guiClass, guiFunction);
|
||||
|
|
|
@ -2706,8 +2706,6 @@ gui.nc.config.machine_anode_efficiency=Anode Efficiency Multipliers
|
|||
gui.nc.config.machine_anode_efficiency.comment=List of anode materials and their efficiencies. Format: 'materialSuffix@efficiency'.
|
||||
gui.nc.config.machine_electrolyzer_sound_volume=Electrolyzer Sound Volume
|
||||
gui.nc.config.machine_electrolyzer_sound_volume.comment=Modifier for the volume of electrolyzer sound effects.
|
||||
gui.nc.config.machine_electrolyzer_particles=Electrolyzer Particle Rate
|
||||
gui.nc.config.machine_electrolyzer_particles.comment=Multiplier for the rate of bubble particles spawned in the electrolyzer.
|
||||
|
||||
gui.nc.config.machine_distiller_time=Distiller Process Time
|
||||
gui.nc.config.machine_distiller_time.comment=Base ticks per distiller process.
|
||||
|
|
Loading…
Reference in New Issue