i have achieved stability (ability to stab)
21
changelog
@ -3,6 +3,12 @@
|
|||||||
* Identical to the regular ammo bag, but ammo is never depleted
|
* Identical to the regular ammo bag, but ammo is never depleted
|
||||||
* Provides 9,999 units of ammo for the purposes of reloading/belts, meaning that even a single bullet in the bag allows a full reload
|
* Provides 9,999 units of ammo for the purposes of reloading/belts, meaning that even a single bullet in the bag allows a full reload
|
||||||
* Obviously creative-only
|
* Obviously creative-only
|
||||||
|
* Redstone-over-radio reader
|
||||||
|
* Can read certain values from connected machines and send them as signals
|
||||||
|
* Currently supports batteries, capacitors and tanks
|
||||||
|
* Redstone-over-radio controller
|
||||||
|
* Can receive control signals to perform certain actions within the connected machine
|
||||||
|
* Currently supports mode and priority changes for batteries and tanks
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
* Nerfed AP and DU round damage multiplier
|
* Nerfed AP and DU round damage multiplier
|
||||||
@ -25,6 +31,17 @@
|
|||||||
* Sub-beams will strike the initially hit entity again, meaning that the more sub-beams there are, the more powerful the initial strike ends up being
|
* Sub-beams will strike the initially hit entity again, meaning that the more sub-beams there are, the more powerful the initial strike ends up being
|
||||||
* Renamed the default capacitor ammo to "capacitor (standard)" to avoid confusion
|
* Renamed the default capacitor ammo to "capacitor (standard)" to avoid confusion
|
||||||
* Low wavelength capacitors now need niobium instead of silicon to make
|
* Low wavelength capacitors now need niobium instead of silicon to make
|
||||||
|
* Bayonets can now be applied to the carbine, making it the first standard arsenal gun that can take the mod
|
||||||
|
* VNT type explosions with smooth damage falloff (used by guns, mines, etc) no longer calculate entity distance using the entity's origin position (i.e. in the center at the ground) but rather the closest hitbox intercept
|
||||||
|
* This means that shooting entities directly with explosives should deal roughly the same damage no matter where they are hit, instead of dealing more damage closer to the feet
|
||||||
|
* This also fixes an issue where entities with large hitboxes (eg. mas man) are unaffected by small explosions that deal direct hits (like explosive buckshot)
|
||||||
|
* VNT type explosions with smooth damage falloff should no longer deal any damage if more than 1 in 8 blocks between the source and the target are solid
|
||||||
|
* This prevents any damage taken if the target is behind a wall
|
||||||
|
* This also means that thin walls do not protect against sufficiently large explosions
|
||||||
|
* Added circuits to the turbofan recipe
|
||||||
|
* Simplified the industrial combustion engine recipe
|
||||||
|
* Removed the old hadron core recipe
|
||||||
|
* Changed the old pylon and energy storage block textures to use standardized red copper connectors instead of the non-standard three prong outlets
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
* Fixed a potential crash caused by cargo dropships landing on cargo docks with no satellite chip installed
|
* Fixed a potential crash caused by cargo dropships landing on cargo docks with no satellite chip installed
|
||||||
@ -32,4 +49,6 @@
|
|||||||
* Fixed errors thrown when loading in old system bullet entities
|
* Fixed errors thrown when loading in old system bullet entities
|
||||||
* Fixed dupe regarding breaking transport drones
|
* Fixed dupe regarding breaking transport drones
|
||||||
* Fixed 12 gauge flechette DT negation not being the intended value
|
* Fixed 12 gauge flechette DT negation not being the intended value
|
||||||
* Fixed carbine mistakenly showing a round being chambered even after firing the last loaded round
|
* Fixed carbine mistakenly showing a round being chambered even after firing the last loaded round
|
||||||
|
* Fixed `any` OD prefix not registering correctly, breaking some recipe compatibility as well as older recipe configs
|
||||||
|
* Fixed bug where changing a pipe's type with a fluid ID will keep a "zombie" pipe of the previous type around, which keeps a connection up even when the pipe nets end up separated
|
||||||
@ -1,6 +1,6 @@
|
|||||||
mod_version=1.0.27
|
mod_version=1.0.27
|
||||||
# Empty build number makes a release type
|
# Empty build number makes a release type
|
||||||
mod_build_number=5313
|
mod_build_number=5320
|
||||||
|
|
||||||
credits=HbMinecraft,\
|
credits=HbMinecraft,\
|
||||||
\ rodolphito (explosion algorithms),\
|
\ rodolphito (explosion algorithms),\
|
||||||
|
|||||||
@ -797,7 +797,6 @@ public class ModBlocks {
|
|||||||
public static Block radio_torch_logic;
|
public static Block radio_torch_logic;
|
||||||
public static Block radio_torch_reader;
|
public static Block radio_torch_reader;
|
||||||
public static Block radio_torch_controller;
|
public static Block radio_torch_controller;
|
||||||
public static Block radio_torch_programmer;
|
|
||||||
public static Block radio_telex;
|
public static Block radio_telex;
|
||||||
|
|
||||||
public static Block conveyor;
|
public static Block conveyor;
|
||||||
@ -1925,7 +1924,6 @@ public class ModBlocks {
|
|||||||
radio_torch_logic = new RadioTorchLogic().setBlockName("radio_torch_logic").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
radio_torch_logic = new RadioTorchLogic().setBlockName("radio_torch_logic").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
radio_torch_reader = new RadioTorchReader().setBlockName("radio_torch_reader").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_reader");
|
radio_torch_reader = new RadioTorchReader().setBlockName("radio_torch_reader").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_reader");
|
||||||
radio_torch_controller = new RadioTorchController().setBlockName("radio_torch_controller").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_controller");
|
radio_torch_controller = new RadioTorchController().setBlockName("radio_torch_controller").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_controller");
|
||||||
radio_torch_programmer = new RadioTorchProgrammer().setBlockName("radio_torch_programmer").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_programmer");
|
|
||||||
radio_telex = new RadioTelex().setBlockName("radio_telex").setHardness(3F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radio_telex");
|
radio_telex = new RadioTelex().setBlockName("radio_telex").setHardness(3F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radio_telex");
|
||||||
|
|
||||||
conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor");
|
conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":conveyor");
|
||||||
@ -3190,7 +3188,6 @@ public class ModBlocks {
|
|||||||
register(radio_torch_logic);
|
register(radio_torch_logic);
|
||||||
register(radio_torch_reader);
|
register(radio_torch_reader);
|
||||||
register(radio_torch_controller);
|
register(radio_torch_controller);
|
||||||
register(radio_torch_programmer);
|
|
||||||
register(radio_telex);
|
register(radio_telex);
|
||||||
|
|
||||||
register(crane_extractor);
|
register(crane_extractor);
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import com.hbm.util.fauxpointtwelve.BlockPos;
|
|||||||
|
|
||||||
import api.hbm.energymk2.IEnergyProviderMK2;
|
import api.hbm.energymk2.IEnergyProviderMK2;
|
||||||
import api.hbm.energymk2.IEnergyReceiverMK2;
|
import api.hbm.energymk2.IEnergyReceiverMK2;
|
||||||
|
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||||
import cpw.mods.fml.client.registry.RenderingRegistry;
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
@ -149,7 +150,7 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP
|
|||||||
player.addExhaustion(0.025F);
|
player.addExhaustion(0.025F);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT {
|
public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, IRORValueProvider {
|
||||||
|
|
||||||
public long power;
|
public long power;
|
||||||
protected long maxPower;
|
protected long maxPower;
|
||||||
@ -299,5 +300,20 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP
|
|||||||
nbt.setLong("power", power);
|
nbt.setLong("power", power);
|
||||||
nbt.setLong("maxPower", maxPower);
|
nbt.setLong("maxPower", maxPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getFunctionInfo() {
|
||||||
|
return new String[] {
|
||||||
|
PREFIX_VALUE + "fill",
|
||||||
|
PREFIX_VALUE + "fillpercent",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String provideRORValue(String name) {
|
||||||
|
if((PREFIX_VALUE + "fill").equals(name)) return "" + this.power;
|
||||||
|
if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + this.power * 100 / this.maxPower;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -79,7 +79,12 @@ public class EntityProcessorCross implements IEntityProcessor {
|
|||||||
for(int index = 0; index < list.size(); ++index) {
|
for(int index = 0; index < list.size(); ++index) {
|
||||||
|
|
||||||
Entity entity = (Entity) list.get(index);
|
Entity entity = (Entity) list.get(index);
|
||||||
double distanceScaled = entity.getDistance(x, y, z) / size;
|
|
||||||
|
double xDist = (entity.boundingBox.minX <= x && entity.boundingBox.maxX >= x) ? 0 : Math.min(Math.abs(entity.boundingBox.minX - x), Math.abs(entity.boundingBox.maxX - x));
|
||||||
|
double yDist = (entity.boundingBox.minY <= y && entity.boundingBox.maxY >= y) ? 0 : Math.min(Math.abs(entity.boundingBox.minY - y), Math.abs(entity.boundingBox.maxY - y));
|
||||||
|
double zDist = (entity.boundingBox.minZ <= z && entity.boundingBox.maxZ >= z) ? 0 : Math.min(Math.abs(entity.boundingBox.minZ - z), Math.abs(entity.boundingBox.maxZ - z));
|
||||||
|
double dist = Math.sqrt(xDist * xDist + yDist * yDist + zDist * zDist);
|
||||||
|
double distanceScaled = dist / size;
|
||||||
|
|
||||||
if(distanceScaled <= 1.0D) {
|
if(distanceScaled <= 1.0D) {
|
||||||
|
|
||||||
@ -128,7 +133,11 @@ public class EntityProcessorCross implements IEntityProcessor {
|
|||||||
attackEntity(entity, explosion, entry.getValue());
|
attackEntity(entity, explosion, entry.getValue());
|
||||||
|
|
||||||
if(damage != null) {
|
if(damage != null) {
|
||||||
double distanceScaled = entity.getDistance(x, y, z) / size;
|
double xDist = (entity.boundingBox.minX <= x && entity.boundingBox.maxX >= x) ? 0 : Math.min(Math.abs(entity.boundingBox.minX - x), Math.abs(entity.boundingBox.maxX - x));
|
||||||
|
double yDist = (entity.boundingBox.minY <= y && entity.boundingBox.maxY >= y) ? 0 : Math.min(Math.abs(entity.boundingBox.minY - y), Math.abs(entity.boundingBox.maxY - y));
|
||||||
|
double zDist = (entity.boundingBox.minZ <= z && entity.boundingBox.maxZ >= z) ? 0 : Math.min(Math.abs(entity.boundingBox.minZ - z), Math.abs(entity.boundingBox.maxZ - z));
|
||||||
|
double dist = Math.sqrt(xDist * xDist + yDist * yDist + zDist * zDist);
|
||||||
|
double distanceScaled = dist / size;
|
||||||
damage.handleAttack(explosion, entity, distanceScaled);
|
damage.handleAttack(explosion, entity, distanceScaled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,7 @@ public class EntityProcessorCrossSmooth extends EntityProcessorCross {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float calculateDamage(double distanceScaled, double density, double knockback, float size) {
|
public float calculateDamage(double distanceScaled, double density, double knockback, float size) {
|
||||||
|
if(density < 0.125) return 0; //shitty hack
|
||||||
return (float) (fixedDamage * (1 - distanceScaled));
|
return (float) (fixedDamage * (1 - distanceScaled));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -104,6 +104,10 @@ public class GUIScreenRadioTorchController extends GuiScreen {
|
|||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
|
if(rtty.polling) {
|
||||||
|
drawTexturedModalRect(guiLeft + 173, guiTop + 17, 0, 42, 18, 18);
|
||||||
|
}
|
||||||
|
|
||||||
this.frequency.drawTextBox();
|
this.frequency.drawTextBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public class MaterialShapes {
|
|||||||
|
|
||||||
public static final List<MaterialShapes> allShapes = new ArrayList();
|
public static final List<MaterialShapes> allShapes = new ArrayList();
|
||||||
|
|
||||||
public static final MaterialShapes ANY = new MaterialShapes(0).noAutogen();
|
public static final MaterialShapes ANY = new MaterialShapes(0, "any").noAutogen();
|
||||||
public static final MaterialShapes ONLY_ORE = new MaterialShapes(0, "ore").noAutogen();
|
public static final MaterialShapes ONLY_ORE = new MaterialShapes(0, "ore").noAutogen();
|
||||||
public static final MaterialShapes ORE = new MaterialShapes(0, "ore", "oreNether").noAutogen();
|
public static final MaterialShapes ORE = new MaterialShapes(0, "ore", "oreNether").noAutogen();
|
||||||
public static final MaterialShapes ORENETHER = new MaterialShapes(0, "oreNether").noAutogen();
|
public static final MaterialShapes ORENETHER = new MaterialShapes(0, "oreNether").noAutogen();
|
||||||
|
|||||||
@ -142,7 +142,7 @@ public class AssemblerRecipes extends SerializableRecipe {
|
|||||||
makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150);
|
makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200);
|
makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), !exp ? new OreDictStack(STEEL.plate528(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), !exp ? new OreDictStack(DURA.ingot(), 4) : new OreDictStack(DESH.heavyComp(), 1), new OreDictStack(DURA.bolt(), 8), new ComparableStack(ModBlocks.machine_battery, 3), },400);
|
makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), !exp ? new OreDictStack(STEEL.plate528(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), !exp ? new OreDictStack(DURA.ingot(), 4) : new OreDictStack(DESH.heavyComp(), 1), new OreDictStack(DURA.bolt(), 8), new ComparableStack(ModBlocks.machine_battery, 3), },400);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(TI.shell(), 8) : new OreDictStack(TI.heavyComp(), 1), new OreDictStack(DURA.pipe(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 12), new ComparableStack(ModItems.turbine_tungsten, 1), new OreDictStack(GOLD.wireDense(), 12) }, 300);
|
makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(TI.shell(), 8) : new OreDictStack(TI.heavyComp(), 1), new OreDictStack(DURA.pipe(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 12), new ComparableStack(ModItems.turbine_tungsten, 1), new OreDictStack(GOLD.wireDense(), 12), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal()) }, 300);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 10) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(GOLD.wireDense(), 12), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal())}, 600);
|
makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 10) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(GOLD.wireDense(), 12), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.BASIC.ordinal())}, 600);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new OreDictStack(GOLD.wireFine(), 32), new ComparableStack(ModItems.entanglement_kit, 1), new ComparableStack(ModBlocks.machine_battery, 1) },300);
|
makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new OreDictStack(GOLD.wireFine(), 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), !exp ? new OreDictStack(TI.ingot(), 24) : new OreDictStack(TI.heavyComp(), 2), !exp ? new OreDictStack(ALLOY.plate(), 18) : new OreDictStack(ALLOY.heavyComp(), 1), new OreDictStack(STEEL.plateWelded(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED.ordinal()), },500);
|
makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_transmutator, 1), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), !exp ? new OreDictStack(TI.ingot(), 24) : new OreDictStack(TI.heavyComp(), 2), !exp ? new OreDictStack(ALLOY.plate(), 18) : new OreDictStack(ALLOY.heavyComp(), 1), new OreDictStack(STEEL.plateWelded(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.ADVANCED.ordinal()), },500);
|
||||||
@ -402,13 +402,10 @@ public class AssemblerRecipes extends SerializableRecipe {
|
|||||||
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID),
|
new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID),
|
||||||
}, 600);
|
}, 600);
|
||||||
makeRecipe(new ComparableStack(ModBlocks.machine_combustion_engine, 1), new AStack[] {
|
makeRecipe(new ComparableStack(ModBlocks.machine_combustion_engine, 1), new AStack[] {
|
||||||
new OreDictStack(STEEL.plate528(), 12),
|
new OreDictStack(STEEL.plate528(), 16),
|
||||||
new OreDictStack(IRON.plate(), 8),
|
new OreDictStack(CU.ingot(), 12),
|
||||||
new OreDictStack(CU.ingot(), 8),
|
new OreDictStack(GOLD.wireDense(), 8),
|
||||||
new OreDictStack(GOLD.wireDense(), 6),
|
new ComparableStack(ModItems.tank_steel, 4),
|
||||||
new ComparableStack(ModItems.tank_steel, 2),
|
|
||||||
new OreDictStack(W.bolt(), 16),
|
|
||||||
new OreDictStack(MINGRADE.wireFine(), 24),
|
|
||||||
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC)
|
new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC)
|
||||||
}, 300);
|
}, 300);
|
||||||
|
|
||||||
|
|||||||
@ -1356,7 +1356,7 @@ public class Orchestras {
|
|||||||
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity,
|
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity,
|
||||||
0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D,
|
0.375, aiming ? 0 : -0.125, aiming ? 0 : -0.25D,
|
||||||
-0.05, 0.2, -0.025,
|
-0.05, 0.2, -0.025,
|
||||||
0.01, -10F + (float) entity.getRNG().nextGaussian() * 10F, (float) entity.getRNG().nextGaussian() * 12.5F, casing.getName());
|
0.01, -10F + (float) entity.getRNG().nextGaussian() * 10F, (float) entity.getRNG().nextGaussian() * 12.5F, casing.getName(), true, 60, 0.5D, 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,78 @@
|
|||||||
|
package com.hbm.items.weapon.sedna.mods;
|
||||||
|
|
||||||
|
import java.util.function.BiConsumer;
|
||||||
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
import com.hbm.items.weapon.sedna.GunConfig;
|
||||||
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||||
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||||
|
import com.hbm.items.weapon.sedna.factory.Orchestras;
|
||||||
|
import com.hbm.items.weapon.sedna.factory.XFactory44;
|
||||||
|
import com.hbm.items.weapon.sedna.factory.XFactory762mm;
|
||||||
|
import com.hbm.render.anim.BusAnimation;
|
||||||
|
import com.hbm.render.anim.BusAnimationSequence;
|
||||||
|
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||||
|
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||||
|
import com.hbm.util.EntityDamageUtil;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.DamageSource;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
|
||||||
|
public class WeaponModCarbineBayonet extends WeaponModBase {
|
||||||
|
|
||||||
|
public WeaponModCarbineBayonet(int id) {
|
||||||
|
super(id, "BAYONET");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T eval(T base, ItemStack gun, String key, Object parent) {
|
||||||
|
if(key == GunConfig.FUN_ANIMNATIONS) return (T) LAMBDA_CARBINE_ANIMS;
|
||||||
|
if(key == GunConfig.I_INSPECTDURATION) return cast(30, base);
|
||||||
|
if(key == GunConfig.CON_ONPRESSSECONDARY) return (T) XFactory44.SMACK_A_FUCKER;
|
||||||
|
if(key == GunConfig.CON_ORCHESTRA) return (T) ORCHESTRA_CARBINE;
|
||||||
|
if(key == GunConfig.I_INSPECTCANCEL) return cast(false, base);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_CARBINE = (stack, ctx) -> {
|
||||||
|
EntityLivingBase entity = ctx.entity;
|
||||||
|
if(entity.worldObj.isRemote) return;
|
||||||
|
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||||
|
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||||
|
|
||||||
|
if(type == AnimType.INSPECT) {
|
||||||
|
|
||||||
|
if(timer == 15 && ctx.getPlayer() != null) {
|
||||||
|
MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D);
|
||||||
|
if(mop != null) {
|
||||||
|
if(mop.typeOfHit == mop.typeOfHit.ENTITY) {
|
||||||
|
float damage = 10F;
|
||||||
|
mop.entityHit.attackEntityFrom(DamageSource.causePlayerDamage(ctx.getPlayer()), damage);
|
||||||
|
mop.entityHit.motionX *= 2;
|
||||||
|
mop.entityHit.motionZ *= 2;
|
||||||
|
entity.worldObj.playSoundAtEntity(mop.entityHit, "hbm:weapon.fire.stab", 1F, 0.9F + entity.getRNG().nextFloat() * 0.2F);
|
||||||
|
}
|
||||||
|
if(mop.typeOfHit == mop.typeOfHit.BLOCK) {
|
||||||
|
Block b = entity.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ);
|
||||||
|
entity.worldObj.playSoundEffect(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord, b.stepSound.getStepResourcePath(), 2F, 0.9F + entity.getRNG().nextFloat() * 0.2F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Orchestras.ORCHESTRA_CARBINE.accept(stack, ctx);
|
||||||
|
};
|
||||||
|
|
||||||
|
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CARBINE_ANIMS = (stack, type) -> {
|
||||||
|
switch(type) {
|
||||||
|
case INSPECT: return new BusAnimation()
|
||||||
|
.addBus("STAB", new BusAnimationSequence().addPos(0, 1, -2, 250, IType.SIN_DOWN).hold(250).addPos(0, 1, 5, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||||
|
}
|
||||||
|
|
||||||
|
return XFactory762mm.LAMBDA_CARBINE_ANIMS.apply(stack, type);
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -140,7 +140,9 @@ public class WeaponModManager {
|
|||||||
new WeaponModDefinition(EnumModSpecial.CHOKE).addMod(new Item[] {ModItems.gun_pepperbox, ModItems.gun_maresleg, ModItems.gun_double_barrel, ModItems.gun_liberator, ModItems.gun_spas12}, new WeaponModChoke(210));
|
new WeaponModDefinition(EnumModSpecial.CHOKE).addMod(new Item[] {ModItems.gun_pepperbox, ModItems.gun_maresleg, ModItems.gun_double_barrel, ModItems.gun_liberator, ModItems.gun_spas12}, new WeaponModChoke(210));
|
||||||
new WeaponModDefinition(EnumModSpecial.FURNITURE_GREEN).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_GREEN));
|
new WeaponModDefinition(EnumModSpecial.FURNITURE_GREEN).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_GREEN));
|
||||||
new WeaponModDefinition(EnumModSpecial.FURNITURE_BLACK).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_BLACK));
|
new WeaponModDefinition(EnumModSpecial.FURNITURE_BLACK).addMod(ModItems.gun_g3, new WeaponModPolymerFurniture(ID_FURNITURE_BLACK));
|
||||||
new WeaponModDefinition(EnumModSpecial.BAYONET).addMod(ModItems.gun_mas36, new WeaponModMASBayonet(ID_MAS_BAYONET));
|
new WeaponModDefinition(EnumModSpecial.BAYONET)
|
||||||
|
.addMod(ModItems.gun_mas36, new WeaponModMASBayonet(ID_MAS_BAYONET))
|
||||||
|
.addMod(ModItems.gun_carbine, new WeaponModCarbineBayonet(ID_CARBINE_BAYONET));
|
||||||
new WeaponModDefinition(EnumModSpecial.STACK_MAG).addMod(new Item[] {ModItems.gun_greasegun, ModItems.gun_uzi, ModItems.gun_uzi_akimbo, ModItems.gun_aberrator, ModItems.gun_aberrator_eott}, new WeaponModStackMag(214));
|
new WeaponModDefinition(EnumModSpecial.STACK_MAG).addMod(new Item[] {ModItems.gun_greasegun, ModItems.gun_uzi, ModItems.gun_uzi_akimbo, ModItems.gun_aberrator, ModItems.gun_aberrator_eott}, new WeaponModStackMag(214));
|
||||||
new WeaponModDefinition(EnumModSpecial.SKIN_SATURNITE).addMod(new Item[] {ModItems.gun_uzi, ModItems.gun_uzi_akimbo}, new WeaponModUziSaturnite(ID_UZI_SATURN));
|
new WeaponModDefinition(EnumModSpecial.SKIN_SATURNITE).addMod(new Item[] {ModItems.gun_uzi, ModItems.gun_uzi_akimbo}, new WeaponModUziSaturnite(ID_UZI_SATURN));
|
||||||
new WeaponModDefinition(EnumModSpecial.LAS_SHOTGUN).addMod(new Item[] {ModItems.gun_lasrifle}, new WeaponModLasShotgun(ID_LAS_SHOTGUN));
|
new WeaponModDefinition(EnumModSpecial.LAS_SHOTGUN).addMod(new Item[] {ModItems.gun_lasrifle}, new WeaponModLasShotgun(ID_LAS_SHOTGUN));
|
||||||
@ -198,6 +200,7 @@ public class WeaponModManager {
|
|||||||
public static final int ID_LAS_SHOTGUN = 216;
|
public static final int ID_LAS_SHOTGUN = 216;
|
||||||
public static final int ID_LAS_CAPACITOR = 217;
|
public static final int ID_LAS_CAPACITOR = 217;
|
||||||
public static final int ID_LAS_AUTO = 218;
|
public static final int ID_LAS_AUTO = 218;
|
||||||
|
public static final int ID_CARBINE_BAYONET = 219;
|
||||||
|
|
||||||
public static ItemStack[] getUpgradeItems(ItemStack stack, int cfg) {
|
public static ItemStack[] getUpgradeItems(ItemStack stack, int cfg) {
|
||||||
if(!stack.hasTagCompound()) return new ItemStack[0];
|
if(!stack.hasTagCompound()) return new ItemStack[0];
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
|||||||
public class RefStrings {
|
public class RefStrings {
|
||||||
public static final String MODID = "hbm";
|
public static final String MODID = "hbm";
|
||||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||||
public static final String VERSION = "1.0.27 BETA (5313)";
|
public static final String VERSION = "1.0.27 BETA (5320)";
|
||||||
//HBM's Beta Naming Convention:
|
//HBM's Beta Naming Convention:
|
||||||
//V T (X)
|
//V T (X)
|
||||||
//V -> next release version
|
//V -> next release version
|
||||||
|
|||||||
@ -220,6 +220,8 @@ public class CraftingManager {
|
|||||||
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_receiver, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', IRON.ingot() });
|
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_receiver, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', IRON.ingot() });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_logic, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) });
|
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_logic, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CHIP) });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_counter, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) });
|
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_counter, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) });
|
||||||
|
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_reader, 4), new Object[] { " G ", "IRI", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) });
|
||||||
|
addRecipeAuto(new ItemStack(ModBlocks.radio_torch_controller, 4), new Object[] { " G ", "IRI", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.VACUUM_TUBE) });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.radio_telex, 2), new Object[] { "SCR", "W#W", "WWW", 'S', ModBlocks.radio_torch_sender, 'C', ModItems.crt_display, 'R', ModBlocks.radio_torch_receiver, 'W', KEY_PLANKS, '#', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
addRecipeAuto(new ItemStack(ModBlocks.radio_telex, 2), new Object[] { "SCR", "W#W", "WWW", 'S', ModBlocks.radio_torch_sender, 'C', ModItems.crt_display, 'R', ModBlocks.radio_torch_receiver, 'W', KEY_PLANKS, '#', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
||||||
|
|
||||||
addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() });
|
addRecipeAuto(DictFrame.fromOne(ModItems.conveyor_wand, ConveyorType.REGULAR, 16), new Object[] { "LLL", "I I", "LLL", 'L', Items.leather, 'I', IRON.ingot() });
|
||||||
@ -1045,14 +1047,14 @@ public class CraftingManager {
|
|||||||
addRecipeAuto(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', W.ingot() });
|
addRecipeAuto(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', W.ingot() });
|
||||||
|
|
||||||
for(NTMMaterial mat : Mats.orderedList) {
|
for(NTMMaterial mat : Mats.orderedList) {
|
||||||
if(mat.autogen.contains(MaterialShapes.WIRE)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.wire_fine, 24, mat.id), new Object[] { "###", '#', MaterialShapes.INGOT.prefixes[0] + name });
|
if(mat.autogen.contains(MaterialShapes.WIRE)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.wire_fine, 24, mat.id), new Object[] { "###", '#', MaterialShapes.INGOT.name() + name });
|
||||||
}
|
}
|
||||||
|
|
||||||
addRecipeAuto(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', GOLD.ingot(), 'A', Items.book });
|
addRecipeAuto(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', GOLD.ingot(), 'A', Items.book });
|
||||||
}
|
}
|
||||||
|
|
||||||
for(NTMMaterial mat : Mats.orderedList) {
|
for(NTMMaterial mat : Mats.orderedList) {
|
||||||
if(mat.autogen.contains(MaterialShapes.BOLT)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.bolt, 16, mat.id), new Object[] { "#", "#", '#', MaterialShapes.INGOT.prefixes[0] + name });
|
if(mat.autogen.contains(MaterialShapes.BOLT)) for(String name : mat.names) addRecipeAuto(new ItemStack(ModItems.bolt, 16, mat.id), new Object[] { "#", "#", '#', MaterialShapes.INGOT.name() + name });
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!GeneralConfig.enable528) {
|
if(!GeneralConfig.enable528) {
|
||||||
@ -1062,7 +1064,6 @@ public class CraftingManager {
|
|||||||
addRecipeAuto(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', W.wireFine(), 'P', PB.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', ModItems.magnetron });
|
addRecipeAuto(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', W.wireFine(), 'P', PB.plate(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', ModItems.magnetron });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'G', KEY_ANYPANE, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
addRecipeAuto(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'G', KEY_ANYPANE, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
addRecipeAuto(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ANALOG) });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED) });
|
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', STEEL.shell(), 'R', ModBlocks.rbmk_blank });
|
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', STEEL.shell(), 'R', ModBlocks.rbmk_blank });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth });
|
addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth });
|
||||||
addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', CU.pipe(), 'P', CU.shell(), 'R', ModBlocks.rbmk_blank });
|
addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', CU.pipe(), 'P', CU.shell(), 'R', ModBlocks.rbmk_blank });
|
||||||
|
|||||||
@ -972,6 +972,7 @@ public class ResourceManager {
|
|||||||
public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png");
|
public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png");
|
||||||
public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png");
|
public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png");
|
||||||
public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png");
|
public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png");
|
||||||
|
public static final ResourceLocation carbine_bayonet_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/carbine_bayonet.png");
|
||||||
public static final ResourceLocation am180_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/am180.png");
|
public static final ResourceLocation am180_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/am180.png");
|
||||||
public static final ResourceLocation liberator_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/liberator.png");
|
public static final ResourceLocation liberator_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/liberator.png");
|
||||||
public static final ResourceLocation flamethrower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamethrower.png");
|
public static final ResourceLocation flamethrower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flamethrower.png");
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.hbm.render.item.weapon.sedna;
|
|||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||||
|
import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
import com.hbm.render.anim.HbmAnimations;
|
import com.hbm.render.anim.HbmAnimations;
|
||||||
|
|
||||||
@ -45,6 +46,7 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
|
|||||||
double[] lift = HbmAnimations.getRelevantTransformation("LIFT");
|
double[] lift = HbmAnimations.getRelevantTransformation("LIFT");
|
||||||
double[] bullet = HbmAnimations.getRelevantTransformation("BULLET");
|
double[] bullet = HbmAnimations.getRelevantTransformation("BULLET");
|
||||||
double[] rel = HbmAnimations.getRelevantTransformation("REL");
|
double[] rel = HbmAnimations.getRelevantTransformation("REL");
|
||||||
|
double[] stab = HbmAnimations.getRelevantTransformation("STAB");
|
||||||
|
|
||||||
GL11.glTranslated(0, -1, -2);
|
GL11.glTranslated(0, -1, -2);
|
||||||
GL11.glRotated(equip[0], 1, 0, 0);
|
GL11.glRotated(equip[0], 1, 0, 0);
|
||||||
@ -53,6 +55,8 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
|
|||||||
GL11.glTranslated(0, 0, -2);
|
GL11.glTranslated(0, 0, -2);
|
||||||
GL11.glRotated(lift[0], 1, 0, 0);
|
GL11.glRotated(lift[0], 1, 0, 0);
|
||||||
GL11.glTranslated(0, 0, 2);
|
GL11.glTranslated(0, 0, 2);
|
||||||
|
|
||||||
|
GL11.glTranslated(stab[0], stab[1], stab[2]);
|
||||||
|
|
||||||
GL11.glTranslated(0, 0, recoil[2]);
|
GL11.glTranslated(0, 0, recoil[2]);
|
||||||
|
|
||||||
@ -72,6 +76,11 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
|
|||||||
if(bullet[0] != 1) ResourceManager.carbine.renderPart("Bullet");
|
if(bullet[0] != 1) ResourceManager.carbine.renderPart("Bullet");
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
if(hasBayonet(stack)) {
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_bayonet_tex);
|
||||||
|
ResourceManager.carbine.renderPart("Bayonet");
|
||||||
|
}
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(0, 1, 8);
|
GL11.glTranslated(0, 1, 8);
|
||||||
GL11.glRotated(90, 0, 1, 0);
|
GL11.glRotated(90, 0, 1, 0);
|
||||||
@ -101,18 +110,27 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
|
|||||||
@Override
|
@Override
|
||||||
public void setupInv(ItemStack stack) {
|
public void setupInv(ItemStack stack) {
|
||||||
super.setupInv(stack);
|
super.setupInv(stack);
|
||||||
double scale = 1.375D;
|
if(hasBayonet(stack)) {
|
||||||
GL11.glScaled(scale, scale, scale);
|
double scale = 1.1875D;
|
||||||
GL11.glRotated(25, 1, 0, 0);
|
GL11.glScaled(scale, scale, scale);
|
||||||
GL11.glRotated(45, 0, 1, 0);
|
GL11.glRotated(25, 1, 0, 0);
|
||||||
GL11.glTranslated(-0.5, 0, 0);
|
GL11.glRotated(45, 0, 1, 0);
|
||||||
|
GL11.glTranslated(1.5, 0, 0);
|
||||||
|
} else {
|
||||||
|
double scale = 1.375D;
|
||||||
|
GL11.glScaled(scale, scale, scale);
|
||||||
|
GL11.glRotated(25, 1, 0, 0);
|
||||||
|
GL11.glRotated(45, 0, 1, 0);
|
||||||
|
GL11.glTranslated(-0.5, 0, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setupModTable(ItemStack stack) {
|
public void setupModTable(ItemStack stack) {
|
||||||
double scale = -7.5D;
|
double scale = -7.75D;
|
||||||
GL11.glScaled(scale, scale, scale);
|
GL11.glScaled(scale, scale, scale);
|
||||||
GL11.glRotated(90, 0, 1, 0);
|
GL11.glRotated(90, 0, 1, 0);
|
||||||
|
GL11.glTranslated(0, 0, -1.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -121,7 +139,17 @@ public class ItemRenderCarbine extends ItemRenderWeaponBase {
|
|||||||
|
|
||||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_tex);
|
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_tex);
|
||||||
ResourceManager.carbine.renderAll();
|
ResourceManager.carbine.renderPart("Gun");
|
||||||
|
ResourceManager.carbine.renderPart("Slide");
|
||||||
|
ResourceManager.carbine.renderPart("Magazine");
|
||||||
|
if(hasBayonet(stack)) {
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.carbine_bayonet_tex);
|
||||||
|
ResourceManager.carbine.renderPart("Bayonet");
|
||||||
|
}
|
||||||
GL11.glShadeModel(GL11.GL_FLAT);
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasBayonet(ItemStack stack) {
|
||||||
|
return WeaponModManager.hasUpgrade(stack, 0, WeaponModManager.ID_CARBINE_BAYONET);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import api.hbm.energymk2.IEnergyReceiverMK2;
|
|||||||
import api.hbm.fluidmk2.IFluidConnectorMK2;
|
import api.hbm.fluidmk2.IFluidConnectorMK2;
|
||||||
import api.hbm.fluidmk2.IFluidReceiverMK2;
|
import api.hbm.fluidmk2.IFluidReceiverMK2;
|
||||||
import api.hbm.redstoneoverradio.IRORInfo;
|
import api.hbm.redstoneoverradio.IRORInfo;
|
||||||
|
import api.hbm.redstoneoverradio.IRORInteractive;
|
||||||
import api.hbm.redstoneoverradio.IRORValueProvider;
|
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||||
import api.hbm.tile.IHeatSource;
|
import api.hbm.tile.IHeatSource;
|
||||||
import com.hbm.inventory.material.Mats;
|
import com.hbm.inventory.material.Mats;
|
||||||
@ -30,7 +31,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
|||||||
@Optional.Interface(iface = "com.hbm.handler.CompatHandler.OCComponent", modid = "opencomputers"),
|
@Optional.Interface(iface = "com.hbm.handler.CompatHandler.OCComponent", modid = "opencomputers"),
|
||||||
@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")
|
@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")
|
||||||
})
|
})
|
||||||
public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyReceiverMK2, ISidedInventory, IFluidReceiverMK2, IHeatSource, ICrucibleAcceptor, SimpleComponent, OCComponent, IRORValueProvider {
|
public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyReceiverMK2, ISidedInventory, IFluidReceiverMK2, IHeatSource, ICrucibleAcceptor, SimpleComponent, OCComponent, IRORValueProvider, IRORInteractive {
|
||||||
|
|
||||||
TileEntity tile;
|
TileEntity tile;
|
||||||
boolean inventory;
|
boolean inventory;
|
||||||
@ -524,6 +525,12 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
|
|||||||
@Override
|
@Override
|
||||||
public String provideRORValue(String name) {
|
public String provideRORValue(String name) {
|
||||||
if(getTile() instanceof IRORValueProvider) return ((IRORValueProvider) getTile()).provideRORValue(name);
|
if(getTile() instanceof IRORValueProvider) return ((IRORValueProvider) getTile()).provideRORValue(name);
|
||||||
return "";
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String runRORFunction(String name, String[] params) {
|
||||||
|
if(getTile() instanceof IRORInteractive) return ((IRORInteractive) getTile()).runRORFunction(name, params);
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,8 @@ import api.hbm.energymk2.IEnergyProviderMK2;
|
|||||||
import api.hbm.energymk2.IEnergyReceiverMK2;
|
import api.hbm.energymk2.IEnergyReceiverMK2;
|
||||||
import api.hbm.energymk2.Nodespace;
|
import api.hbm.energymk2.Nodespace;
|
||||||
import api.hbm.energymk2.Nodespace.PowerNode;
|
import api.hbm.energymk2.Nodespace.PowerNode;
|
||||||
|
import api.hbm.redstoneoverradio.IRORInteractive;
|
||||||
|
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||||
import api.hbm.tile.IInfoProviderEC;
|
import api.hbm.tile.IInfoProviderEC;
|
||||||
|
|
||||||
import com.hbm.blocks.machine.MachineBattery;
|
import com.hbm.blocks.machine.MachineBattery;
|
||||||
@ -18,6 +20,7 @@ import com.hbm.tileentity.IPersistentNBT;
|
|||||||
import com.hbm.tileentity.TileEntityMachineBase;
|
import com.hbm.tileentity.TileEntityMachineBase;
|
||||||
import com.hbm.uninos.UniNodespace;
|
import com.hbm.uninos.UniNodespace;
|
||||||
import com.hbm.util.CompatEnergyControl;
|
import com.hbm.util.CompatEnergyControl;
|
||||||
|
import com.hbm.util.EnumUtil;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
@ -36,7 +39,7 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
|
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
|
||||||
public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent {
|
public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive {
|
||||||
|
|
||||||
public long[] log = new long[20];
|
public long[] log = new long[20];
|
||||||
public long delta = 0;
|
public long delta = 0;
|
||||||
@ -365,4 +368,69 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
|
|||||||
public void provideExtraInfo(NBTTagCompound data) {
|
public void provideExtraInfo(NBTTagCompound data) {
|
||||||
data.setLong(CompatEnergyControl.L_DIFF_HE, (log[0] - log[19]) / 20L);
|
data.setLong(CompatEnergyControl.L_DIFF_HE, (log[0] - log[19]) / 20L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getFunctionInfo() {
|
||||||
|
return new String[] {
|
||||||
|
PREFIX_VALUE + "fill",
|
||||||
|
PREFIX_VALUE + "fillpercent",
|
||||||
|
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode",
|
||||||
|
PREFIX_FUNCTION + "setmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
|
||||||
|
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode",
|
||||||
|
PREFIX_FUNCTION + "setredmode" + NAME_SEPARATOR + "mode" + PARAM_SEPARATOR + "fallback",
|
||||||
|
PREFIX_FUNCTION + "setpriority" + NAME_SEPARATOR + "priority",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String provideRORValue(String name) {
|
||||||
|
if((PREFIX_VALUE + "fill").equals(name)) return "" + power;
|
||||||
|
if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + getPowerRemainingScaled(100);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String runRORFunction(String name, String[] params) {
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "setmode").equals(name) && params.length > 0) {
|
||||||
|
int mode = IRORInteractive.parseInt(params[0], 0, 3);
|
||||||
|
|
||||||
|
if(mode != this.redLow) {
|
||||||
|
this.redLow = (short) mode;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
} else if(params.length > 1) {
|
||||||
|
int altmode = IRORInteractive.parseInt(params[1], 0, 3);
|
||||||
|
this.redLow = (short) altmode;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "setredmode").equals(name) && params.length > 0) {
|
||||||
|
int mode = IRORInteractive.parseInt(params[0], 0, 3);
|
||||||
|
|
||||||
|
if(mode != this.redHigh) {
|
||||||
|
this.redHigh = (short) mode;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
} else if(params.length > 1) {
|
||||||
|
int altmode = IRORInteractive.parseInt(params[1], 0, 3);
|
||||||
|
this.redHigh = (short) altmode;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "setpriority").equals(name) && params.length > 0) {
|
||||||
|
int priority = IRORInteractive.parseInt(params[0], 0, 2) + 1;
|
||||||
|
ConnectionPriority p = EnumUtil.grabEnumSafely(ConnectionPriority.class, priority);
|
||||||
|
this.priority = p;
|
||||||
|
this.markChanged();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,9 @@ import com.hbm.tileentity.IBufPacketReceiver;
|
|||||||
import com.hbm.tileentity.IControlReceiverFilter;
|
import com.hbm.tileentity.IControlReceiverFilter;
|
||||||
|
|
||||||
import com.hbm.util.BufferUtil;
|
import com.hbm.util.BufferUtil;
|
||||||
|
|
||||||
|
import api.hbm.redstoneoverradio.IRORInteractive;
|
||||||
|
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
@ -17,7 +20,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class TileEntityMassStorage extends TileEntityCrateBase implements IBufPacketReceiver, IControlReceiverFilter {
|
public class TileEntityMassStorage extends TileEntityCrateBase implements IBufPacketReceiver, IControlReceiverFilter, IRORValueProvider, IRORInteractive {
|
||||||
|
|
||||||
private int stack = 0;
|
private int stack = 0;
|
||||||
public boolean output = false;
|
public boolean output = false;
|
||||||
@ -229,4 +232,36 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements IBufPa
|
|||||||
public int[] getFilterSlots() {
|
public int[] getFilterSlots() {
|
||||||
return new int[]{1,2};
|
return new int[]{1,2};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getFunctionInfo() {
|
||||||
|
return new String[] {
|
||||||
|
PREFIX_VALUE + "type",
|
||||||
|
PREFIX_VALUE + "fill",
|
||||||
|
PREFIX_VALUE + "fillpercent",
|
||||||
|
PREFIX_FUNCTION + "toggleoutput",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String provideRORValue(String name) {
|
||||||
|
if((PREFIX_VALUE + "fill").equals(name)) return "" + this.stack;
|
||||||
|
if((PREFIX_VALUE + "fillpercent").equals(name)) return "" + this.stack * 100 / this.capacity;
|
||||||
|
if((PREFIX_VALUE + "type").equals(name)) {
|
||||||
|
if(slots[1] == null) return "None";
|
||||||
|
return slots[1].getDisplayName();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String runRORFunction(String name, String[] params) {
|
||||||
|
|
||||||
|
if((PREFIX_FUNCTION + "toggleoutput").equals(name)) {
|
||||||
|
this.output = !this.output;
|
||||||
|
this.markDirty();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,6 +62,7 @@ public class TileEntityPipeBaseNT extends TileEntityLoadedBase implements IFluid
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setType(FluidType type) {
|
public void setType(FluidType type) {
|
||||||
|
FluidType prev = this.type;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.markDirty();
|
this.markDirty();
|
||||||
|
|
||||||
@ -69,9 +70,10 @@ public class TileEntityPipeBaseNT extends TileEntityLoadedBase implements IFluid
|
|||||||
WorldServer world = (WorldServer) worldObj;
|
WorldServer world = (WorldServer) worldObj;
|
||||||
world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord);
|
world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, prev.getNetworkProvider());
|
||||||
|
|
||||||
if(this.node != null) {
|
if(this.node != null) {
|
||||||
UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, type.getNetworkProvider());
|
|
||||||
this.node = null;
|
this.node = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
package com.hbm.tileentity.network;
|
package com.hbm.tileentity.network;
|
||||||
|
|
||||||
|
import com.hbm.explosion.vanillant.ExplosionVNT;
|
||||||
|
import com.hbm.explosion.vanillant.standard.EntityProcessorCrossSmooth;
|
||||||
|
import com.hbm.explosion.vanillant.standard.ExplosionEffectWeapon;
|
||||||
|
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
|
||||||
import com.hbm.interfaces.IControlReceiver;
|
import com.hbm.interfaces.IControlReceiver;
|
||||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||||
import com.hbm.tileentity.network.RTTYSystem.RTTYChannel;
|
import com.hbm.tileentity.network.RTTYSystem.RTTYChannel;
|
||||||
@ -36,6 +40,15 @@ public class TileEntityRadioTorchController extends TileEntityLoadedBase impleme
|
|||||||
RTTYChannel chan = RTTYSystem.listen(worldObj, channel);
|
RTTYChannel chan = RTTYSystem.listen(worldObj, channel);
|
||||||
if(chan != null) {
|
if(chan != null) {
|
||||||
String rec = "" + chan.signal;
|
String rec = "" + chan.signal;
|
||||||
|
if("selfdestruct".equals(rec)) {
|
||||||
|
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
|
||||||
|
ExplosionVNT vnt = new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, null);
|
||||||
|
vnt.setEntityProcessor(new EntityProcessorCrossSmooth(1, 50).setupPiercing(5F, 0.5F));
|
||||||
|
vnt.setPlayerProcessor(new PlayerProcessorStandard());
|
||||||
|
vnt.setSFX(new ExplosionEffectWeapon(10, 2.5F, 1F));
|
||||||
|
vnt.explode();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(this.polling || !rec.equals(prev)) {
|
if(this.polling || !rec.equals(prev)) {
|
||||||
try {
|
try {
|
||||||
if(rec != null && !rec.isEmpty()) ror.runRORFunction(IRORInteractive.PREFIX_FUNCTION + IRORInteractive.getCommand(rec), IRORInteractive.getParams(rec));
|
if(rec != null && !rec.isEmpty()) ror.runRORFunction(IRORInteractive.PREFIX_FUNCTION + IRORInteractive.getCommand(rec), IRORInteractive.getParams(rec));
|
||||||
|
|||||||
@ -45,7 +45,7 @@ public class TileEntityRadioTorchReader extends TileEntityLoadedBase implements
|
|||||||
if(name == null || name.isEmpty()) continue;
|
if(name == null || name.isEmpty()) continue;
|
||||||
|
|
||||||
String value = prov.provideRORValue(IRORValueProvider.PREFIX_VALUE + name);
|
String value = prov.provideRORValue(IRORValueProvider.PREFIX_VALUE + name);
|
||||||
if(value == null) continue; //don't actually do this
|
if(value == null) continue;
|
||||||
|
|
||||||
if(polling || !value.equals(previous)) {
|
if(polling || !value.equals(previous)) {
|
||||||
RTTYSystem.broadcast(worldObj, channel, value);
|
RTTYSystem.broadcast(worldObj, channel, value);
|
||||||
|
|||||||
@ -434,7 +434,10 @@ container.reactorSmall=Atomreaktor
|
|||||||
container.reix=Rei-X Hauptrechner
|
container.reix=Rei-X Hauptrechner
|
||||||
container.rtg=Radioisotopengenerator
|
container.rtg=Radioisotopengenerator
|
||||||
container.rtgFurnace=RTG-Ofen
|
container.rtgFurnace=RTG-Ofen
|
||||||
|
container.rttyController=Redstone-over-Radio Controller
|
||||||
container.rttyCounter=Redstone-over-Radio Itemzähler
|
container.rttyCounter=Redstone-over-Radio Itemzähler
|
||||||
|
container.rttyLogic=Redstone-over-Radio Logikkempfänger
|
||||||
|
container.rttyReader=Redstone-over-Radio Leser
|
||||||
container.rttyReceiver=Redstone-over-Radio Empfänger
|
container.rttyReceiver=Redstone-over-Radio Empfänger
|
||||||
container.rttySender=Redstone-over-Radio Sender
|
container.rttySender=Redstone-over-Radio Sender
|
||||||
container.safe=Panzerschrank
|
container.safe=Panzerschrank
|
||||||
@ -4647,10 +4650,16 @@ tile.pwr_reflector.name=PWR Neutronenreflektor
|
|||||||
tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle
|
tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle
|
||||||
tile.radar_screen.name=Radarbildschirm
|
tile.radar_screen.name=Radarbildschirm
|
||||||
tile.radio_telex.name=Telex-Maschine
|
tile.radio_telex.name=Telex-Maschine
|
||||||
|
tile.radio_torch_controller.name=Redstone-over-Radio Controller
|
||||||
|
tile.radio_torch_controller.desc=Empfängt Steuersignale und gibt$sie an die verbundene Maschine weiter
|
||||||
tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler
|
tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler
|
||||||
tile.radio_torch_counter.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Signal basiert auf Anzahl passender Items
|
tile.radio_torch_counter.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Signal basiert auf Anzahl passender Items
|
||||||
tile.radio_torch_receiver.name=Redstone-over-Radio Empfänger
|
tile.radio_torch_receiver.name=Redstone-over-Radio Empfänger
|
||||||
tile.radio_torch_receiver.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden
|
tile.radio_torch_receiver.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden
|
||||||
|
tile.radio_torch_logic.name=Redstone-over-Radio Logikempfänger
|
||||||
|
tile.radio_torch_logic.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Kann mittels Logikoperatoren Sinale zu Redstone-Signale konvertieren
|
||||||
|
tile.radio_torch_reader.name=Redstone-over-Radio Leser
|
||||||
|
tile.radio_torch_reader.desc=Liest Werte von der verbundenen Maschine$aus und sendet sie als Signal
|
||||||
tile.radio_torch_sender.name=Redstone-over-Radio Sender
|
tile.radio_torch_sender.name=Redstone-over-Radio Sender
|
||||||
tile.radio_torch_sender.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Erkennt Redstone-Signale oder Komparator-Output
|
tile.radio_torch_sender.desc=Kann auf ebenen Flächen oder Komparator-kompatiblen Blöcken platziert werden$Erkennt Redstone-Signale oder Komparator-Output
|
||||||
tile.radiobox.name=Rosenberg Ungeziefervernichter
|
tile.radiobox.name=Rosenberg Ungeziefervernichter
|
||||||
|
|||||||
@ -838,8 +838,10 @@ container.reactorResearch=Research Reactor
|
|||||||
container.reix=Rei-X Mainframe
|
container.reix=Rei-X Mainframe
|
||||||
container.rtg=RT Generator
|
container.rtg=RT Generator
|
||||||
container.rtgFurnace=RTG Furnace
|
container.rtgFurnace=RTG Furnace
|
||||||
|
container.rttyController=Redstone-over-Radio Controller
|
||||||
container.rttyCounter=Redstone-over-Radio Item Counter
|
container.rttyCounter=Redstone-over-Radio Item Counter
|
||||||
container.rttyLogic=Redstone-over-Radio Logic Receiver
|
container.rttyLogic=Redstone-over-Radio Logic Receiver
|
||||||
|
container.rttyReader=Redstone-over-Radio Reader
|
||||||
container.rttyReceiver=Redstone-over-Radio Receiver
|
container.rttyReceiver=Redstone-over-Radio Receiver
|
||||||
container.rttySender=Redstone-over-Radio Transmitter
|
container.rttySender=Redstone-over-Radio Transmitter
|
||||||
container.safe=Safe
|
container.safe=Safe
|
||||||
@ -5796,10 +5798,14 @@ tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for
|
|||||||
tile.rad_lava_block.name=Volcanic Lava
|
tile.rad_lava_block.name=Volcanic Lava
|
||||||
tile.radar_screen.name=Radar Screen
|
tile.radar_screen.name=Radar Screen
|
||||||
tile.radio_telex.name=Telex Machine
|
tile.radio_telex.name=Telex Machine
|
||||||
|
tile.radio_torch_controller.name=Redstone-over-Radio Controller
|
||||||
|
tile.radio_torch_controller.desc=Can receive command signals and relays$them to the connected machine
|
||||||
tile.radio_torch_counter.name=Redstone-over-Radio Item Counter
|
tile.radio_torch_counter.name=Redstone-over-Radio Item Counter
|
||||||
tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items
|
tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items
|
||||||
tile.radio_torch_logic.name=Redstone-over-Radio Logic Receiver
|
tile.radio_torch_logic.name=Redstone-over-Radio Logic Receiver
|
||||||
tile.radio_torch_logic.desc=Placable on flat surfaces or comparator-compatible blocks$Maps redstone signals to conditions evaluated in a set order$Numerical or string inputs are compared against a constant
|
tile.radio_torch_logic.desc=Placable on flat surfaces or comparator-compatible blocks$Maps redstone signals to conditions evaluated in a set order$Numerical or string inputs are compared against a constant
|
||||||
|
tile.radio_torch_reader.name=Redstone-over-Radio Reader
|
||||||
|
tile.radio_torch_reader.desc=Reads values from connected blocks,$then sends them over the specified frequency
|
||||||
tile.radio_torch_receiver.name=Redstone-over-Radio Receiver
|
tile.radio_torch_receiver.name=Redstone-over-Radio Receiver
|
||||||
tile.radio_torch_receiver.desc=Placable on flat surfaces or comparator-compatible blocks
|
tile.radio_torch_receiver.desc=Placable on flat surfaces or comparator-compatible blocks
|
||||||
tile.radio_torch_sender.name=Redstone-over-Radio Transmitter
|
tile.radio_torch_sender.name=Redstone-over-Radio Transmitter
|
||||||
|
|||||||
@ -731,7 +731,7 @@ container.exposureChamber=Камера облучения частицами
|
|||||||
container.factoryAdvanced=Усовершенствованная фабрика
|
container.factoryAdvanced=Усовершенствованная фабрика
|
||||||
container.factoryTitanium=Базовая фабрика
|
container.factoryTitanium=Базовая фабрика
|
||||||
container.fluidtank=Цистерна
|
container.fluidtank=Цистерна
|
||||||
container.fileCabinet=Карточеный шкафчик
|
container.fileCabinet=Картотечный шкафчик
|
||||||
container.forceField=Излучатель силового поля
|
container.forceField=Излучатель силового поля
|
||||||
container.frackingTower=Башня гидроразрыва пласта
|
container.frackingTower=Башня гидроразрыва пласта
|
||||||
container.furnaceBrick=Кирпичная печь
|
container.furnaceBrick=Кирпичная печь
|
||||||
@ -1588,7 +1588,7 @@ hbmmat.bauxite=Боксит
|
|||||||
hbmmat.beryllium=Бериллий
|
hbmmat.beryllium=Бериллий
|
||||||
hbmmat.bismuth=Висмут
|
hbmmat.bismuth=Висмут
|
||||||
hbmmat.bismuthbronze=Висмутовая бронза
|
hbmmat.bismuthbronze=Висмутовая бронза
|
||||||
hbmmat.bone=Ivory
|
hbmmat.bone=Кость
|
||||||
hbmmat.borax=Бура
|
hbmmat.borax=Бура
|
||||||
hbmmat.boron=Бор
|
hbmmat.boron=Бор
|
||||||
hbmmat.bscco=BSCCO
|
hbmmat.bscco=BSCCO
|
||||||
@ -1854,6 +1854,7 @@ item.ammo_arty_nuke.name=Ядерный 16-дюймовый артиллерий
|
|||||||
item.ammo_arty_phosgene.name=Фосгеновый 16-дюймовый артиллерийский снаряд
|
item.ammo_arty_phosgene.name=Фосгеновый 16-дюймовый артиллерийский снаряд
|
||||||
item.ammo_arty_phosphorus.name=Фосфорный 16-дюймовый артиллерийский снаряд
|
item.ammo_arty_phosphorus.name=Фосфорный 16-дюймовый артиллерийский снаряд
|
||||||
item.ammo_bag.name=Сумка для боеприпасов
|
item.ammo_bag.name=Сумка для боеприпасов
|
||||||
|
item.ammo_bag_infinite.name=Бесконечная сумка для боеприпасов
|
||||||
item.ammo_arty_phosphorus_multi.name=Фосфорный 16-дюймовый мульти-снаряд
|
item.ammo_arty_phosphorus_multi.name=Фосфорный 16-дюймовый мульти-снаряд
|
||||||
item.ammo_cell.name=Энерго-патроны
|
item.ammo_cell.name=Энерго-патроны
|
||||||
item.ammo_coilgun.name=Вольфрамовый шар для гаусс-пушки
|
item.ammo_coilgun.name=Вольфрамовый шар для гаусс-пушки
|
||||||
@ -2164,32 +2165,32 @@ item.battery_su.name=Одноразовая батарейка
|
|||||||
item.battery_su_l.name=Большая одноразовая батарейка
|
item.battery_su_l.name=Большая одноразовая батарейка
|
||||||
item.battery_trixite.name=Безымянная спарк-батарея
|
item.battery_trixite.name=Безымянная спарк-батарея
|
||||||
item.bdcl.name=BDCL
|
item.bdcl.name=BDCL
|
||||||
item.bedrock_ore.grade.base.name=%s бедроковая руда
|
item.bedrock_ore.grade.base.name=Бедроковая руда (%s)
|
||||||
item.bedrock_ore.grade.base_roasted.name=Обожженная %s бедроковая руда
|
item.bedrock_ore.grade.base_roasted.name=Обожженная бедроковая руда (%s)
|
||||||
item.bedrock_ore.grade.base_washed.name=Промытая %s бедроковая руда
|
item.bedrock_ore.grade.base_washed.name=Промытая бедроковая руда (%s)
|
||||||
item.bedrock_ore.grade.primary.name=%s бедроковая руда, Первичная фракция
|
item.bedrock_ore.grade.primary.name=Бедроковая руда (%s), первичная фракция
|
||||||
item.bedrock_ore.grade.primary_roasted.name=%s бедроковая руда, Обожженная первичная фракция
|
item.bedrock_ore.grade.primary_roasted.name=Бедроковая руда (%s), обожженная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_sulfuric.name=%s бедроковая руда, Серная первичная фракция
|
item.bedrock_ore.grade.primary_sulfuric.name=Бедроковая руда (%s), серная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_nosulfuric.name=%s бедроковая руда, Отделённая серная первичная фракция
|
item.bedrock_ore.grade.primary_nosulfuric.name=Бедроковая руда (%s), отделённая серная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_solvent.name=%s бедроковая руда, Растворенная первичная фракция
|
item.bedrock_ore.grade.primary_solvent.name=Бедроковая руда (%s), растворенная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_nosolvent.name=%s бедроковая руда, Отделённая растворенная первичная фракция
|
item.bedrock_ore.grade.primary_nosolvent.name=Бедроковая руда (%s), отделённая растворенная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_rad.name=%s бедроковая руда, Очищенная первичная фракция
|
item.bedrock_ore.grade.primary_rad.name=Бедроковая руда (%s), очищенная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_norad.name=%s бедроковая руда, Отделённая очищенная первичная фракция
|
item.bedrock_ore.grade.primary_norad.name=Бедроковая руда (%s), отделённая очищенная первичная фракция
|
||||||
item.bedrock_ore.grade.primary_first.name=%s бедроковая руда, Первичная фракция, Большой вес
|
item.bedrock_ore.grade.primary_first.name=Бедроковая руда (%s), первичная фракция, большой вес
|
||||||
item.bedrock_ore.grade.primary_second.name=%s бедроковая руда, Первичная фракция, Малый вес
|
item.bedrock_ore.grade.primary_second.name=Бедроковая руда (%s), первичная фракция, малый вес
|
||||||
item.bedrock_ore.grade.crumbs.name=%s куски бедроковой руды
|
item.bedrock_ore.grade.crumbs.name=Куски бедроковой руды (%s)
|
||||||
item.bedrock_ore.grade.sulfuric_byproduct.name=%s бедроковая руда, Серная побочка
|
item.bedrock_ore.grade.sulfuric_byproduct.name=Бедроковая руда (%s), серная побочка
|
||||||
item.bedrock_ore.grade.sulfuric_roasted.name=%s бедроковая руда, Обожженная серная побочка
|
item.bedrock_ore.grade.sulfuric_roasted.name=Бедроковая руда (%s), обожженная серная побочка
|
||||||
item.bedrock_ore.grade.sulfuric_arc.name=%s бедроковая руда, Переплавленная серная побочка
|
item.bedrock_ore.grade.sulfuric_arc.name=Бедроковая руда (%s), переплавленная серная побочка
|
||||||
item.bedrock_ore.grade.sulfuric_washed.name=%s бедроковая руда, Промытая серная побочка
|
item.bedrock_ore.grade.sulfuric_washed.name=Бедроковая руда (%s), промытая серная побочка
|
||||||
item.bedrock_ore.grade.solvent_byproduct.name=%s бедроковая руда, Растворенная побочка
|
item.bedrock_ore.grade.solvent_byproduct.name=Бедроковая руда (%s), растворенная побочка
|
||||||
item.bedrock_ore.grade.solvent_roasted.name=%s бедроковая руда, Обожженная растворенная побочка
|
item.bedrock_ore.grade.solvent_roasted.name=Бедроковая руда (%s), обожженная растворенная побочка
|
||||||
item.bedrock_ore.grade.solvent_arc.name=%s бедроковая руда, Переплавленная растворенная побочка
|
item.bedrock_ore.grade.solvent_arc.name=Бедроковая руда (%s), переплавленная растворенная побочка
|
||||||
item.bedrock_ore.grade.solvent_washed.name=%s бедроковая руда, Промытая растворенная побочка
|
item.bedrock_ore.grade.solvent_washed.name=Бедроковая руда (%s), промытая растворенная побочка
|
||||||
item.bedrock_ore.grade.rad_byproduct.name=%s бедроковая руда, Очищенная побочка
|
item.bedrock_ore.grade.rad_byproduct.name=Бедроковая руда (%s), очищенная побочка
|
||||||
item.bedrock_ore.grade.rad_roasted.name=%s бедроковая руда, Обожженная очищенная побочка
|
item.bedrock_ore.grade.rad_roasted.name=Бедроковая руда (%s), обожженная очищенная побочка
|
||||||
item.bedrock_ore.grade.rad_arc.name=%s бедроковая руда, Переплавленная очищенная побочка
|
item.bedrock_ore.grade.rad_arc.name=Бедроковая руда (%s), переплавленная очищенная побочка
|
||||||
item.bedrock_ore.grade.rad_washed.name=%s бедроковая руда, Промытая очищенная побочка
|
item.bedrock_ore.grade.rad_washed.name=Бедроковая руда (%s), промытая очищенная побочка
|
||||||
item.bedrock_ore.trait.arc=§6Дуговая плавка
|
item.bedrock_ore.trait.arc=§6Дуговая плавка
|
||||||
item.bedrock_ore.trait.centrifuged=§9Центрифугированный
|
item.bedrock_ore.trait.centrifuged=§9Центрифугированный
|
||||||
item.bedrock_ore.trait.rad=§aОбработанный высокоэффективным растворителем
|
item.bedrock_ore.trait.rad=§aОбработанный высокоэффективным растворителем
|
||||||
@ -2718,7 +2719,7 @@ item.crystal_diamond.name=Кристализованный алмаз
|
|||||||
item.crystal_energy.name=Энергетический кристалл
|
item.crystal_energy.name=Энергетический кристалл
|
||||||
item.crystal_fluorite.name=Кристаллизованный флюорит
|
item.crystal_fluorite.name=Кристаллизованный флюорит
|
||||||
item.crystal_gold.name=Кристаллизованное золото
|
item.crystal_gold.name=Кристаллизованное золото
|
||||||
item.crystal_horn.name=Кристалльный рог
|
item.crystal_horn.name=Кристальный рог
|
||||||
item.crystal_horn.desc=Не настоящий рог.
|
item.crystal_horn.desc=Не настоящий рог.
|
||||||
item.crystal_horn.desc.P11=Настоящий рог.
|
item.crystal_horn.desc.P11=Настоящий рог.
|
||||||
item.crystal_iron.name=Кристаллизованное железо
|
item.crystal_iron.name=Кристаллизованное железо
|
||||||
@ -2915,7 +2916,7 @@ item.fluid_tank_empty.name=Пустой универсальный резерв
|
|||||||
item.fluid_tank_full.name=Универсальный резервуар для жидкости:
|
item.fluid_tank_full.name=Универсальный резервуар для жидкости:
|
||||||
item.fluid_tank_lead_empty.name=Пустой резервуар для опасных материалов
|
item.fluid_tank_lead_empty.name=Пустой резервуар для опасных материалов
|
||||||
item.fluid_tank_lead_full.name=Резервуар с опасными материалами:
|
item.fluid_tank_lead_full.name=Резервуар с опасными материалами:
|
||||||
item.fluorite.name=Флюоритовая руда
|
item.fluorite.name=Флюорит
|
||||||
item.flywheel_beryllium.name=Бериллевый маховик
|
item.flywheel_beryllium.name=Бериллевый маховик
|
||||||
item.fmn.name=Таблетка флунитразепама
|
item.fmn.name=Таблетка флунитразепама
|
||||||
item.fmn.desc=Убирает все DRX более 2,000mDRX
|
item.fmn.desc=Убирает все DRX более 2,000mDRX
|
||||||
@ -3083,10 +3084,10 @@ item.gun_folly.name=Прототип Дигамма "Причуда"
|
|||||||
item.gun_g3.name=Штурмовая винтовка
|
item.gun_g3.name=Штурмовая винтовка
|
||||||
item.gun_g3_a3.name=G3A3
|
item.gun_g3_a3.name=G3A3
|
||||||
item.gun_g3_infiltrator.name=Infiltrator
|
item.gun_g3_infiltrator.name=Infiltrator
|
||||||
item.gun_g3_zebra.name=Зебра
|
item.gun_g3_zebra.name=Зебринская винтовка
|
||||||
item.gun_glass_cannon.name=Стеклянная пушка
|
item.gun_glass_cannon.name=Стеклянная пушка
|
||||||
item.gun_greasegun.name=Маслёнка
|
item.gun_greasegun.name=Пистолет-пулемёт "Маслёнка"
|
||||||
item.gun_greasegun_m3.name=M3
|
item.gun_greasegun_m3.name=Улучшенный пистолет-пулемёт М3
|
||||||
item.gun_hangman.name=Палач
|
item.gun_hangman.name=Палач
|
||||||
item.gun_heavy_revolver.name=Тяжёлый револьвер
|
item.gun_heavy_revolver.name=Тяжёлый револьвер
|
||||||
item.gun_heavy_revolver_lilmac.name=Малый Макинтош
|
item.gun_heavy_revolver_lilmac.name=Малый Макинтош
|
||||||
@ -3110,7 +3111,7 @@ item.gun_lacunae_ammo.name=5-мм патрон (LEGACY)
|
|||||||
item.gun_lag.name=Комически длинный пистолет
|
item.gun_lag.name=Комически длинный пистолет
|
||||||
item.gun_laser_pistol.name=Лазерный пистолет
|
item.gun_laser_pistol.name=Лазерный пистолет
|
||||||
item.gun_laser_pistol_morning_glory.name=Морнин Глори
|
item.gun_laser_pistol_morning_glory.name=Морнин Глори
|
||||||
item.gun_laser_pistol_pew_pew.name=Пиу Пиу
|
item.gun_laser_pistol_pew_pew.name=Пью-Пью
|
||||||
item.gun_lasrifle.name=Лазерная винтовка
|
item.gun_lasrifle.name=Лазерная винтовка
|
||||||
item.gun_lever_action.name=«Нога кобылы» (Оригинал)
|
item.gun_lever_action.name=«Нога кобылы» (Оригинал)
|
||||||
item.gun_lever_action_ammo.name=Дробь 12x74 калибра (LEGACY)
|
item.gun_lever_action_ammo.name=Дробь 12x74 калибра (LEGACY)
|
||||||
@ -3345,7 +3346,7 @@ item.ingot_pu240.name=Слиток плутония-240
|
|||||||
item.ingot_pu241.name=Слиток плутония-241
|
item.ingot_pu241.name=Слиток плутония-241
|
||||||
item.ingot_pvc.name=ПВХ
|
item.ingot_pvc.name=ПВХ
|
||||||
item.ingot_ra226.name=Слиток радия-226
|
item.ingot_ra226.name=Слиток радия-226
|
||||||
item.ingot_raw.name=Слиткок (%s)
|
item.ingot_raw.name=Слиток (%s)
|
||||||
item.ingot_red_copper.name=Слиток красной меди
|
item.ingot_red_copper.name=Слиток красной меди
|
||||||
item.ingot_reiium.name=Реиевый слиток
|
item.ingot_reiium.name=Реиевый слиток
|
||||||
item.ingot_rubber.name=Резина
|
item.ingot_rubber.name=Резина
|
||||||
@ -3731,7 +3732,7 @@ item.nugget_co60.name=Самородок кобальта-60
|
|||||||
item.nugget_cobalt.name=Кобальтовый самородок
|
item.nugget_cobalt.name=Кобальтовый самородок
|
||||||
item.nugget_daffergon.name=Даффергоновый самородок
|
item.nugget_daffergon.name=Даффергоновый самородок
|
||||||
item.nugget_desh.name=Самородок деш
|
item.nugget_desh.name=Самородок деш
|
||||||
item.nugget_dineutronium.name=§5Dineutronium Nugget§r
|
item.nugget_dineutronium.name=§5Динейтрониевый самородок§r
|
||||||
item.nugget_euphemium.name=Эвфемиевый самородок
|
item.nugget_euphemium.name=Эвфемиевый самородок
|
||||||
item.nugget_euphemium.desc=Маленький кусочек розового металла.$Его свойства до сих пор неизвестны,$ОБРАЩАЙТЕСЬ С НИМ осторожно.
|
item.nugget_euphemium.desc=Маленький кусочек розового металла.$Его свойства до сих пор неизвестны,$ОБРАЩАЙТЕСЬ С НИМ осторожно.
|
||||||
item.nugget_gh336.name=Самородок гиорсия-336
|
item.nugget_gh336.name=Самородок гиорсия-336
|
||||||
@ -3810,7 +3811,7 @@ item.ore.titanium=Титановая
|
|||||||
item.ore.tungsten=Вольфрамовая
|
item.ore.tungsten=Вольфрамовая
|
||||||
item.ore.thorium232=Ториевая
|
item.ore.thorium232=Ториевая
|
||||||
item.ore.uranium=Урановая
|
item.ore.uranium=Урановая
|
||||||
item.ore_bedrock.name=%s бедроковая руда
|
item.ore_bedrock.name=Бедроковая руда (%s)
|
||||||
item.ore_byproduct.b_aluminium.name=Алюминиевый побочный продукт
|
item.ore_byproduct.b_aluminium.name=Алюминиевый побочный продукт
|
||||||
item.ore_byproduct.b_bismuth.name=Висмутовый побочный продукт
|
item.ore_byproduct.b_bismuth.name=Висмутовый побочный продукт
|
||||||
item.ore_byproduct.b_calcium.name=Кальциевый побочный продукт
|
item.ore_byproduct.b_calcium.name=Кальциевый побочный продукт
|
||||||
@ -3825,9 +3826,9 @@ item.ore_byproduct.b_sulfur.name=Серный побочный продукт
|
|||||||
item.ore_byproduct.b_technetium.name=Технециевый побочный продукт
|
item.ore_byproduct.b_technetium.name=Технециевый побочный продукт
|
||||||
item.ore_byproduct.b_titanium.name=Титановый побочный продукт
|
item.ore_byproduct.b_titanium.name=Титановый побочный продукт
|
||||||
item.ore_byproduct.b_uranium.name=Урановый побочный продукт
|
item.ore_byproduct.b_uranium.name=Урановый побочный продукт
|
||||||
item.ore_centrifuged.name=Центрифугированная %s бедроковая руда
|
item.ore_centrifuged.name=Центрифугированная бедроковая руда (%s)
|
||||||
item.ore_cleaned.name=Очищенная %s бедроковая руда
|
item.ore_cleaned.name=Очищенная бедроковая руда (%s)
|
||||||
item.ore_deepcleaned.name=Глубоко очищенная %s бедроковая руда
|
item.ore_deepcleaned.name=Глубоко очищенная бедроковая руда (%s)
|
||||||
item.ore_density_scanner.name=Сканер плотности бедроковой руды
|
item.ore_density_scanner.name=Сканер плотности бедроковой руды
|
||||||
item.ore_density_scanner.excellent=Избыток
|
item.ore_density_scanner.excellent=Избыток
|
||||||
item.ore_density_scanner.high=Высокий
|
item.ore_density_scanner.high=Высокий
|
||||||
@ -3869,7 +3870,7 @@ item.page_of_.page6.name=Страница 6
|
|||||||
item.page_of_.page7.name=Страница 7
|
item.page_of_.page7.name=Страница 7
|
||||||
item.page_of_.page8.name=Страница 8
|
item.page_of_.page8.name=Страница 8
|
||||||
item.pancake.name=Блинчики с металлоломом, гвоздями и самоцветной пылью
|
item.pancake.name=Блинчики с металлоломом, гвоздями и самоцветной пылью
|
||||||
item.part_barrel_heavy.name=Тяжелый ствол (%s)
|
item.part_barrel_heavy.name=Тяжёлый ствол (%s)
|
||||||
item.part_barrel_light.name=Лёгкий ствол (%s)
|
item.part_barrel_light.name=Лёгкий ствол (%s)
|
||||||
item.part_beryllium.name=Коробка бериллиевой пыли
|
item.part_beryllium.name=Коробка бериллиевой пыли
|
||||||
item.part_carbon.name=Коробка угольной пыли
|
item.part_carbon.name=Коробка угольной пыли
|
||||||
@ -4581,9 +4582,9 @@ item.solid_fuel.name=Твердое топливо
|
|||||||
item.solid_fuel_bf.name=Твердое топливо (Жар-пламя)
|
item.solid_fuel_bf.name=Твердое топливо (Жар-пламя)
|
||||||
item.solid_fuel_presto.name=Топливное полено
|
item.solid_fuel_presto.name=Топливное полено
|
||||||
item.solid_fuel_presto_bf.name=Топливное полено (Жар-пламя)
|
item.solid_fuel_presto_bf.name=Топливное полено (Жар-пламя)
|
||||||
item.solid_fuel_presto_triplet.name=Сжатые топливные полена
|
item.solid_fuel_presto_triplet.name=Сжатые топливные поленья
|
||||||
item.solid_fuel_presto_triplet_bf.name=Сжатые топливные полена (Жар-пламя)
|
item.solid_fuel_presto_triplet_bf.name=Сжатые топливные полена (Жар-пламя)
|
||||||
item.solinium_core.name=Полу-стабильный солиниевый заряд
|
item.solinium_core.name=Полустабильный солиниевый заряд
|
||||||
item.solinium_igniter.name=Солиниевый импульсный воспламенитель
|
item.solinium_igniter.name=Солиниевый импульсный воспламенитель
|
||||||
item.solinium_kit.name=Солиниевый комплект
|
item.solinium_kit.name=Солиниевый комплект
|
||||||
item.solinium_propellant.name=Солиниевый сжимающий заряд
|
item.solinium_propellant.name=Солиниевый сжимающий заряд
|
||||||
@ -5533,7 +5534,7 @@ tile.fan.desc=Активируется редстоуном$Толкает су
|
|||||||
tile.fence_metal.name=Проволочная сетка
|
tile.fence_metal.name=Проволочная сетка
|
||||||
tile.fence_metal_post.name=Столб проволочной сетки
|
tile.fence_metal_post.name=Столб проволочной сетки
|
||||||
tile.field_disturber.name=Подавитель высокоэнергитических полей
|
tile.field_disturber.name=Подавитель высокоэнергитических полей
|
||||||
tile.filing_cabinet.green.name=Пыльный карточеный шкафчик
|
tile.filing_cabinet.green.name=Пыльный картотечный шкафчик
|
||||||
tile.filing_cabinet.steel.name=Стальной карточеный шкафчик
|
tile.filing_cabinet.steel.name=Стальной карточеный шкафчик
|
||||||
tile.fire_digamma.name=Затяжная Дигамма
|
tile.fire_digamma.name=Затяжная Дигамма
|
||||||
tile.fire_door.name=Пожарная дверь
|
tile.fire_door.name=Пожарная дверь
|
||||||
@ -5659,7 +5660,7 @@ tile.heater_oven.name=Нагревательная печь
|
|||||||
tile.heater_oven.desc=Производит тепло, сжигая твёрдое топливо.$Принимает тепло снизу с 50%% эффективностью.
|
tile.heater_oven.desc=Производит тепло, сжигая твёрдое топливо.$Принимает тепло снизу с 50%% эффективностью.
|
||||||
tile.hev_battery.name=Батарея костюма
|
tile.hev_battery.name=Батарея костюма
|
||||||
tile.machine_hydrotreater.name=Гидроочиститель
|
tile.machine_hydrotreater.name=Гидроочиститель
|
||||||
tile.impact_dirt.name=Выжженая земля
|
tile.impact_dirt.name=Выжженная земля
|
||||||
tile.icf.name=Реактор инерциального термоядерного синтеза (ICF)
|
tile.icf.name=Реактор инерциального термоядерного синтеза (ICF)
|
||||||
tile.icf_block.name=Лазер ICF
|
tile.icf_block.name=Лазер ICF
|
||||||
tile.icf_component.name=Стабилизатор ICF
|
tile.icf_component.name=Стабилизатор ICF
|
||||||
@ -5933,7 +5934,7 @@ tile.ore_depth_borax.name=Глубинная бура
|
|||||||
tile.ore_depth_cinnebar.name=Глубинная киноварь
|
tile.ore_depth_cinnebar.name=Глубинная киноварь
|
||||||
tile.ore_depth_nether_neodymium.name=Адская глубинная неодимовая руда
|
tile.ore_depth_nether_neodymium.name=Адская глубинная неодимовая руда
|
||||||
tile.ore_depth_zirconium.name=Глубинная циркониевая руда
|
tile.ore_depth_zirconium.name=Глубинная циркониевая руда
|
||||||
tile.ore_fluorite.name=Флюорит
|
tile.ore_fluorite.name=Флюоритовая руда
|
||||||
tile.ore_gneiss_asbestos.name=Сланцевая асбестовая руда
|
tile.ore_gneiss_asbestos.name=Сланцевая асбестовая руда
|
||||||
tile.ore_gneiss_copper.name=Сланцевая медная руда
|
tile.ore_gneiss_copper.name=Сланцевая медная руда
|
||||||
tile.ore_gneiss_gas.name=Сланцевый газ
|
tile.ore_gneiss_gas.name=Сланцевый газ
|
||||||
@ -5946,6 +5947,7 @@ tile.ore_gneiss_uranium.name=Сланцевая урановая руда
|
|||||||
tile.ore_gneiss_uranium_scorched.name=Обожённая сланцевая урановая руда
|
tile.ore_gneiss_uranium_scorched.name=Обожённая сланцевая урановая руда
|
||||||
tile.ore_lead.name=Свинцовая руда
|
tile.ore_lead.name=Свинцовая руда
|
||||||
tile.ore_lignite.name=Бурый уголь
|
tile.ore_lignite.name=Бурый уголь
|
||||||
|
tile.ore_meteor.aluminium.name=Метеоритная алюминиевая руда
|
||||||
tile.ore_meteor.cobalt.name=Метеоритная кобальтовая руда
|
tile.ore_meteor.cobalt.name=Метеоритная кобальтовая руда
|
||||||
tile.ore_meteor.copper.name=Метеоритная медная руда
|
tile.ore_meteor.copper.name=Метеоритная медная руда
|
||||||
tile.ore_meteor.iron.name=Метеоритная железная руда
|
tile.ore_meteor.iron.name=Метеоритная железная руда
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 469 B |
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 589 B |
|
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 615 B |
|
Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 603 B |
|
Before Width: | Height: | Size: 590 B After Width: | Height: | Size: 623 B |
|
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 247 B |
|
Before Width: | Height: | Size: 937 B |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 2.0 KiB |