mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-03-16 06:35:35 +00:00
Compare commits
No commits in common. "960d28740b5f24655a9abc89056c236ebb260ca8" and "04708e8c90157be08443176a17f41f779f0fda3d" have entirely different histories.
960d28740b
...
04708e8c90
53
changelog
53
changelog
@ -1,6 +1,49 @@
|
|||||||
## Changed
|
## Added
|
||||||
* Snow golems now use the grey metallic gib particles instead of blood
|
* Target pistol
|
||||||
|
* Weapon steel tier pistol that holds 15 rounds and shoots .22 LR
|
||||||
|
* Accepts silencers
|
||||||
|
* NCR Ranger Power Armor
|
||||||
|
* Legendary set, like the remnants power armor
|
||||||
|
* Stats are largely similar, but has a speed boost when sprinting
|
||||||
|
* Comes with the power armor - melee controller item
|
||||||
|
* If the full set is equipped, the melee controller allows for powerful melee attacks
|
||||||
|
* Left click does two rapid swings, right click causes both arms to swing at once
|
||||||
|
* The NCRPA's blades are armor-piercing and gib enemies on death
|
||||||
|
* The blades do 250% damage on large enemies, i.e. ones with 100 or more max health
|
||||||
|
|
||||||
## Fixed
|
## Changed
|
||||||
* Fixed chemical factory internal tank sharing ignoring tank pressure
|
* Reworked the industrial turbine
|
||||||
* Fixed the NCR ranger power armor missing most protection stats
|
* New model and texture
|
||||||
|
* Removed the GUI, it now uses the same in-world compressor toggle as the leviathan turbine
|
||||||
|
* No longer has a volatile power buffer, power isn't buffered at all anymore, similar to steam engines and MHD turbines
|
||||||
|
* Steam capacity changes based on compression level, the ratio for turbine cascades is now 1:1:1:1
|
||||||
|
* Comes with a flywheel, energy output slowly ramps up as steam is supplied and slowly goes down as steam cuts out
|
||||||
|
* Recipe is similar to the old inudstrial turbine, but slightly simplified and cheaper
|
||||||
|
* Leviathan turbines no longer have a power buffer
|
||||||
|
* Updated russian and chinese localization
|
||||||
|
* The PWR can now be controlled via RoR
|
||||||
|
* The RoR value reader can read core and hull heat as well as fuel depletion in percent
|
||||||
|
* The RoR controller can set the control rod level in percent as well as jetison all loaded fuel
|
||||||
|
* Having 528, expensive or rampant mode enabled now displays a badge in the top left corner, showing that it is enabled
|
||||||
|
* Badges can be disabled with the `BADGES_HUD` value of `/ntmclient`
|
||||||
|
* The badge only shows up if the "true" configuration is used, 528 requires default settings, expensive requires the precision assembler config to not be modified and rampant needs most of the default settings enabled
|
||||||
|
* If all three modes are enabled, the "328 mode" badge also appears
|
||||||
|
* Removed toothpicks, as they haven't been used in recipes for well over a year
|
||||||
|
* Cleaned up a ton of unused assets
|
||||||
|
* The old crucible smelting rules when not using a template can be restores with the `/ntmserver` value `LEGACY_CRUCIBLE_RULES`
|
||||||
|
* Due to repeated complaints, power armor sounds are now generally more quiet, with 25% volume for steps and 50% volume for jumping and landing
|
||||||
|
* Reduced mask man's projectile resistance from 75% to 50%
|
||||||
|
* Reduced maskman's resistance to damage above 50 from 75% to 50%
|
||||||
|
* Remnants power armor can now use the melee controller, allowing Sergeant Arch Dornan to beat the snot out of people
|
||||||
|
* Improved gibbing
|
||||||
|
* All cybercrab variants can now be gibbed, turning into metal fragments
|
||||||
|
* Iron golems now also turn into metal instead of fleshy chunks
|
||||||
|
* Slimes can now be gibbed, turning into slime globs
|
||||||
|
* Creepers now also gib into slime instead of blood
|
||||||
|
|
||||||
|
# Fixed
|
||||||
|
* Fixed proxy tiles that do not use electricity at all visually connecting to cables
|
||||||
|
* Fixed missing texture for canned horse slime
|
||||||
|
* Fixed incorrect ore dictionary key used by enriched naquadah watz pellet recipe
|
||||||
|
* Fixed out of bounds light level for the RTG blast furnace
|
||||||
|
* Fixed the recipe configs now allowing NBT data for output items, rendering the precision assembler and annihilator configs useless
|
||||||
@ -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=5615
|
mod_build_number=5593
|
||||||
|
|
||||||
credits=HbMinecraft,\
|
credits=HbMinecraft,\
|
||||||
\ rodolphito (explosion algorithms),\
|
\ rodolphito (explosion algorithms),\
|
||||||
@ -36,7 +36,6 @@ credits=HbMinecraft,\
|
|||||||
\ xxwinhere (chinese localization),\
|
\ xxwinhere (chinese localization),\
|
||||||
\ Nycticoraxnightheron (chinese localization),\
|
\ Nycticoraxnightheron (chinese localization),\
|
||||||
\ NarekoMichigami810 (chinese localization),\
|
\ NarekoMichigami810 (chinese localization),\
|
||||||
\ Romarku (chinese localization),\
|
|
||||||
\ Maksymisio (polish localization)\
|
\ Maksymisio (polish localization)\
|
||||||
\ el3ctro4ndre (italian localization),\
|
\ el3ctro4ndre (italian localization),\
|
||||||
\ Goaty1208 (italian localization),\
|
\ Goaty1208 (italian localization),\
|
||||||
@ -75,7 +74,6 @@ credits=HbMinecraft,\
|
|||||||
\ Dash (PA particle serialization fix),\
|
\ Dash (PA particle serialization fix),\
|
||||||
\ archiecarrot123 (armor rendering compatibility fix),\
|
\ archiecarrot123 (armor rendering compatibility fix),\
|
||||||
\ mikkerlo (mining laser & builder's jetpack improvements),\
|
\ mikkerlo (mining laser & builder's jetpack improvements),\
|
||||||
\ Hacker6329 (ZIRNOX redstone control),\
|
|
||||||
\ icomet (refactoring),\
|
\ icomet (refactoring),\
|
||||||
\ martemen (project settings),\
|
\ martemen (project settings),\
|
||||||
\ OvermindDL1 (project settings),\
|
\ OvermindDL1 (project settings),\
|
||||||
|
|||||||
@ -205,18 +205,10 @@ public class BlockKeyhole extends BlockStone {
|
|||||||
if(rand == 0) {
|
if(rand == 0) {
|
||||||
world.setBlock(x, y + 1, z, ModBlocks.deco_loot);
|
world.setBlock(x, y + 1, z, ModBlocks.deco_loot);
|
||||||
TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y + 1, z);
|
TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y + 1, z);
|
||||||
|
|
||||||
if(world.rand.nextInt(5) == 0) {
|
|
||||||
loot.addItem(new ItemStack(ModItems.ncrpa_helmet), 0, 0, 0);
|
|
||||||
loot.addItem(new ItemStack(ModItems.ncrpa_plate), 0, 0, 0);
|
|
||||||
loot.addItem(new ItemStack(ModItems.ncrpa_legs), 0, 0, 0);
|
|
||||||
loot.addItem(new ItemStack(ModItems.ncrpa_boots), 0, 0, 0);
|
|
||||||
} else {
|
|
||||||
loot.addItem(new ItemStack(ModItems.trenchmaster_helmet), 0, 0, 0);
|
loot.addItem(new ItemStack(ModItems.trenchmaster_helmet), 0, 0, 0);
|
||||||
loot.addItem(new ItemStack(ModItems.trenchmaster_plate), 0, 0, 0);
|
loot.addItem(new ItemStack(ModItems.trenchmaster_plate), 0, 0, 0);
|
||||||
loot.addItem(new ItemStack(ModItems.trenchmaster_legs), 0, 0, 0);
|
loot.addItem(new ItemStack(ModItems.trenchmaster_legs), 0, 0, 0);
|
||||||
loot.addItem(new ItemStack(ModItems.trenchmaster_boots), 0, 0, 0);
|
loot.addItem(new ItemStack(ModItems.trenchmaster_boots), 0, 0, 0);
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
spawnPedestalItem(world, x, y + 1, z);
|
spawnPedestalItem(world, x, y + 1, z);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,6 @@ import com.hbm.tileentity.TileEntityProxyCombo;
|
|||||||
import com.hbm.tileentity.machine.TileEntityReactorZirnox;
|
import com.hbm.tileentity.machine.TileEntityReactorZirnox;
|
||||||
|
|
||||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
@ -88,43 +87,4 @@ public class ReactorZirnox extends BlockDummyable {
|
|||||||
this.makeExtra(world, x + dir.offsetX * o, y + 4, z + dir.offsetZ * o);
|
this.makeExtra(world, x + dir.offsetX * o, y + 4, z + dir.offsetZ * o);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block neighbor) {
|
|
||||||
super.onNeighborBlockChange(world, x, y, z, neighbor);
|
|
||||||
if (world.isRemote) return;
|
|
||||||
int[] core = this.findCore(world, x, y, z);
|
|
||||||
if (core == null) return;
|
|
||||||
int cx = core[0];
|
|
||||||
int cy = core[1];
|
|
||||||
int cz = core[2];
|
|
||||||
TileEntity te = world.getTileEntity(cx, cy, cz);
|
|
||||||
if (!(te instanceof TileEntityReactorZirnox)) return;
|
|
||||||
TileEntityReactorZirnox reactor = (TileEntityReactorZirnox) te;
|
|
||||||
boolean powered = false;
|
|
||||||
// 2. Scan multiblock
|
|
||||||
for (int dx = -2; dx <= 2 && !powered; dx++) {
|
|
||||||
for (int dy = 0; dy <= 4 && !powered; dy++) {
|
|
||||||
for (int dz = -2; dz <= 2 && !powered; dz++) {
|
|
||||||
// Get only surface blocks
|
|
||||||
if (dx == -2 || dx == 2 ||
|
|
||||||
dy == 0 || dy == 4 ||
|
|
||||||
dz == -2 || dz == 2) {
|
|
||||||
|
|
||||||
int sx = cx + dx;
|
|
||||||
int sy = cy + dy;
|
|
||||||
int sz = cz + dz;
|
|
||||||
|
|
||||||
if (world.isBlockIndirectlyGettingPowered(sx, sy, sz) ||
|
|
||||||
world.getBlockPowerInput(sx, sy, sz) > 0) {
|
|
||||||
|
|
||||||
powered = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
reactor.setRedstonePowered(powered);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -103,9 +103,6 @@ public class WeaponRecipes {
|
|||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_charge_thrower, 1), new Object[] { "MMM", "BBL", "GG ", 'M', GUNMETAL.mechanism(), 'B', STEEL.heavyBarrel(), 'G', STEEL.grip(), 'L', ANY_RUBBER.ingot() });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_charge_thrower, 1), new Object[] { "MMM", "BBL", "GG ", 'M', GUNMETAL.mechanism(), 'B', STEEL.heavyBarrel(), 'G', STEEL.grip(), 'L', ANY_RUBBER.ingot() });
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_drill, 1), new Object[] { " GL", "IBP", " GL", 'G', GUNMETAL.ingot(), 'L', ANY_RUBBER.ingot(), 'I', TI.ingot(), 'B', STEEL.block(), 'P', ModItems.piston_selenium });
|
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_drill, 1), new Object[] { " GL", "IBP", " GL", 'G', GUNMETAL.ingot(), 'L', ANY_RUBBER.ingot(), 'I', TI.ingot(), 'B', STEEL.block(), 'P', ModItems.piston_selenium });
|
||||||
|
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_pa_melee, 1), new Object[] { " C ", "MWM", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'M', ModItems.motor, 'W', GOLD.wireDense() });
|
|
||||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_pa_ranged, 1), new Object[] { "C", "W", "P", 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'P', ANY_PLASTIC.ingot(), 'W', GOLD.wireDense() });
|
|
||||||
|
|
||||||
//SEDNA Ammo
|
//SEDNA Ammo
|
||||||
CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE, 6), new Object[] { "C", "P", "G", 'C', KEY_COBBLESTONE, 'P', Items.paper, 'G', Items.gunpowder });
|
CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE, 6), new Object[] { "C", "P", "G", 'C', KEY_COBBLESTONE, 'P', Items.paper, 'G', Items.gunpowder });
|
||||||
CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE_AP, 6), new Object[] { "C", "P", "G", 'C', Items.flint, 'P', Items.paper, 'G', Items.gunpowder });
|
CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.ammo_standard, EnumAmmo.STONE_AP, 6), new Object[] { "C", "P", "G", 'C', Items.flint, 'P', Items.paper, 'G', Items.gunpowder });
|
||||||
|
|||||||
@ -1440,7 +1440,6 @@ public class ModItems {
|
|||||||
public static Item gun_charge_thrower;
|
public static Item gun_charge_thrower;
|
||||||
public static Item gun_drill;
|
public static Item gun_drill;
|
||||||
public static Item gun_pa_melee;
|
public static Item gun_pa_melee;
|
||||||
public static Item gun_pa_ranged;
|
|
||||||
|
|
||||||
public static Item ammo_standard;
|
public static Item ammo_standard;
|
||||||
public static Item ammo_secret;
|
public static Item ammo_secret;
|
||||||
@ -6331,7 +6330,6 @@ public class ModItems {
|
|||||||
GameRegistry.registerItem(gun_charge_thrower, gun_charge_thrower.getUnlocalizedName());
|
GameRegistry.registerItem(gun_charge_thrower, gun_charge_thrower.getUnlocalizedName());
|
||||||
GameRegistry.registerItem(gun_drill, gun_drill.getUnlocalizedName());
|
GameRegistry.registerItem(gun_drill, gun_drill.getUnlocalizedName());
|
||||||
GameRegistry.registerItem(gun_pa_melee, gun_pa_melee.getUnlocalizedName());
|
GameRegistry.registerItem(gun_pa_melee, gun_pa_melee.getUnlocalizedName());
|
||||||
GameRegistry.registerItem(gun_pa_ranged, gun_pa_ranged.getUnlocalizedName());
|
|
||||||
|
|
||||||
GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName());
|
GameRegistry.registerItem(ammo_standard, ammo_standard.getUnlocalizedName());
|
||||||
GameRegistry.registerItem(ammo_secret, ammo_secret.getUnlocalizedName());
|
GameRegistry.registerItem(ammo_secret, ammo_secret.getUnlocalizedName());
|
||||||
|
|||||||
@ -21,8 +21,6 @@ import net.minecraft.entity.ai.attributes.AttributeModifier;
|
|||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.potion.Potion;
|
|
||||||
import net.minecraft.potion.PotionEffect;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.client.IItemRenderer;
|
import net.minecraftforge.client.IItemRenderer;
|
||||||
|
|
||||||
@ -55,6 +53,8 @@ public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider
|
|||||||
|
|
||||||
if(this != ModItems.ncrpa_plate) return;
|
if(this != ModItems.ncrpa_plate) return;
|
||||||
|
|
||||||
|
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
||||||
|
|
||||||
/// SPEED ///
|
/// SPEED ///
|
||||||
Multimap multimap = super.getAttributeModifiers(stack);
|
Multimap multimap = super.getAttributeModifiers(stack);
|
||||||
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "NCRPA SPEED", 0.1, 0));
|
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "NCRPA SPEED", 0.1, 0));
|
||||||
@ -63,9 +63,6 @@ public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider
|
|||||||
if(player.isSprinting()) {
|
if(player.isSprinting()) {
|
||||||
player.getAttributeMap().applyAttributeModifiers(multimap);
|
player.getAttributeMap().applyAttributeModifiers(multimap);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(world.getTotalWorldTime() % 20 != 0) return;
|
|
||||||
if(HbmPlayerProps.getData(player).enableHUD) player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 300, 0, true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public Item getItemForRenderer() { return this; }
|
@Override public Item getItemForRenderer() { return this; }
|
||||||
@ -84,17 +81,10 @@ public class ArmorNCRPA extends ArmorFSBPowered implements IItemRendererProvider
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final ArmorNCRPAMelee meleeComponent = new ArmorNCRPAMelee();
|
public static final ArmorNCRPAMelee meleeComponent = new ArmorNCRPAMelee();
|
||||||
public static final ArmorNCRPARanged rangedComponent = new ArmorNCRPARanged();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPAMelee getMeleeComponent(EntityPlayer entity) {
|
public IPAMelee getMeleeComponent(EntityPlayer entity) {
|
||||||
if(this.hasFSBArmorIgnoreCharge(entity)) return meleeComponent;
|
if(this.hasFSBArmorIgnoreCharge(entity)) return meleeComponent;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPARanged getRangedComponent(EntityPlayer entity) {
|
|
||||||
if(this.hasFSBArmorIgnoreCharge(entity)) return rangedComponent;
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,51 +0,0 @@
|
|||||||
package com.hbm.items.armor;
|
|
||||||
|
|
||||||
import com.hbm.entity.projectile.EntityBulletBaseMK4;
|
|
||||||
import com.hbm.items.weapon.sedna.BulletConfig;
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
|
||||||
import com.hbm.items.weapon.sedna.factory.XFactoryRocket;
|
|
||||||
import com.hbm.items.weapon.sedna.mags.MagazineBelt;
|
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public class ArmorNCRPARanged implements IPARanged {
|
|
||||||
|
|
||||||
public static MagazineBelt rocketSteerMag = new MagazineBelt();
|
|
||||||
public static MagazineBelt rocketMag = new MagazineBelt();
|
|
||||||
|
|
||||||
@Override public void clickPrimary(ItemStack stack, LambdaContext ctx) { fireRocket(stack, ctx, true); }
|
|
||||||
@Override public void clickSecondary(ItemStack stack, LambdaContext ctx) { fireRocket(stack, ctx, false); }
|
|
||||||
|
|
||||||
public static void fireRocket(ItemStack stack, LambdaContext ctx, boolean steer) {
|
|
||||||
|
|
||||||
EntityPlayer player = ctx.getPlayer();
|
|
||||||
GunState state = ItemGunBaseNT.getState(stack, 0);
|
|
||||||
MagazineBelt mag = steer ? rocketSteerMag : rocketMag;
|
|
||||||
|
|
||||||
if(state == GunState.IDLE) {
|
|
||||||
if(mag.acceptedBullets.isEmpty()) {
|
|
||||||
mag.addConfigs(steer ? XFactoryRocket.rocket_ncrpa_steer : XFactoryRocket.rocket_ncrpa);
|
|
||||||
}
|
|
||||||
BulletConfig cfg = mag.getType(stack, player.inventory);
|
|
||||||
int amount = mag.getAmount(stack, player.inventory);
|
|
||||||
|
|
||||||
if(amount > 0) {
|
|
||||||
mag.useUpAmmo(stack, player.inventory, 1);
|
|
||||||
EntityBulletBaseMK4 mk4 = new EntityBulletBaseMK4(player, cfg, 25, 0, 0.25F * (player.getRNG().nextBoolean() ? - 1 : 1), 0, 0);
|
|
||||||
player.worldObj.spawnEntityInWorld(mk4);
|
|
||||||
ItemGunBaseNT.setState(stack, 0, GunState.COOLDOWN);
|
|
||||||
ItemGunBaseNT.setTimer(stack, 0, 10);
|
|
||||||
player.worldObj.playSoundAtEntity(player, "hbm:weapon.rpgShoot", 0.5F, 0.9F + player.getRNG().nextFloat() * 0.2F);
|
|
||||||
player.inventoryContainer.detectAndSendChanges();
|
|
||||||
} else {
|
|
||||||
ItemGunBaseNT.setState(stack, 0, GunState.COOLDOWN);
|
|
||||||
ItemGunBaseNT.setTimer(stack, 0, 10);
|
|
||||||
player.worldObj.playSoundAtEntity(player, "hbm:weapon.reload.dryFireClick", 1F, 1F);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -61,6 +61,4 @@ public class ArmorRPA extends ArmorFSBPowered implements IItemRendererProvider,
|
|||||||
if(this.hasFSBArmorIgnoreCharge(entity)) return meleeComponent;
|
if(this.hasFSBArmorIgnoreCharge(entity)) return meleeComponent;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public IPARanged getRangedComponent(EntityPlayer entity) { return null; }
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +0,0 @@
|
|||||||
package com.hbm.items.armor;
|
|
||||||
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public interface IPARanged {
|
|
||||||
|
|
||||||
public void clickPrimary(ItemStack stack, LambdaContext ctx);
|
|
||||||
public void clickSecondary(ItemStack stack, LambdaContext ctx);
|
|
||||||
}
|
|
||||||
@ -19,18 +19,4 @@ public interface IPAWeaponsProvider {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IPARanged getRangedComponent(EntityPlayer entity);
|
|
||||||
|
|
||||||
public static IPARanged getRangedComponentClient() {
|
|
||||||
return getRangedComponentCommon(MainRegistry.proxy.me());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IPARanged getRangedComponentCommon(EntityPlayer player) {
|
|
||||||
if(player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() instanceof IPAWeaponsProvider) {
|
|
||||||
IPAWeaponsProvider prov = (IPAWeaponsProvider) player.inventory.armorInventory[2].getItem();
|
|
||||||
return prov.getRangedComponent(player);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
|||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.monster.EntityBlaze;
|
import net.minecraft.entity.monster.EntityBlaze;
|
||||||
import net.minecraft.entity.monster.EntityCreeper;
|
import net.minecraft.entity.monster.EntityCreeper;
|
||||||
import net.minecraft.entity.monster.EntityGolem;
|
|
||||||
import net.minecraft.entity.monster.EntityIronGolem;
|
import net.minecraft.entity.monster.EntityIronGolem;
|
||||||
import net.minecraft.entity.monster.EntityMagmaCube;
|
import net.minecraft.entity.monster.EntityMagmaCube;
|
||||||
import net.minecraft.entity.monster.EntitySkeleton;
|
import net.minecraft.entity.monster.EntitySkeleton;
|
||||||
@ -55,7 +54,6 @@ public class ConfettiUtil {
|
|||||||
if(entity instanceof EntitySlime) type = 1;
|
if(entity instanceof EntitySlime) type = 1;
|
||||||
if(entity instanceof EntityMagmaCube) type = 1;
|
if(entity instanceof EntityMagmaCube) type = 1;
|
||||||
if(entity instanceof EntityCreeper) type = 1;
|
if(entity instanceof EntityCreeper) type = 1;
|
||||||
if(entity instanceof EntityGolem) type = 2;
|
|
||||||
if(entity instanceof EntityIronGolem) type = 2;
|
if(entity instanceof EntityIronGolem) type = 2;
|
||||||
if(entity instanceof EntityCyberCrab) type = 2;
|
if(entity instanceof EntityCyberCrab) type = 2;
|
||||||
if(entity instanceof EntityTeslaCrab) type = 2;
|
if(entity instanceof EntityTeslaCrab) type = 2;
|
||||||
|
|||||||
@ -211,8 +211,6 @@ public class GunFactoryClient {
|
|||||||
setRendererBulk(LegoClient.RENDER_RPZB, rocket_rpzb);
|
setRendererBulk(LegoClient.RENDER_RPZB, rocket_rpzb);
|
||||||
setRendererBulk(LegoClient.RENDER_QD, rocket_qd);
|
setRendererBulk(LegoClient.RENDER_QD, rocket_qd);
|
||||||
setRendererBulk(LegoClient.RENDER_ML, rocket_ml);
|
setRendererBulk(LegoClient.RENDER_ML, rocket_ml);
|
||||||
setRendererBulk(LegoClient.RENDER_RPZB, rocket_ncrpa_steer);
|
|
||||||
setRendererBulk(LegoClient.RENDER_RPZB, rocket_ncrpa);
|
|
||||||
|
|
||||||
setRendererBulk(LegoClient.RENDER_NUKE, nuke_standard, nuke_demo, nuke_high);
|
setRendererBulk(LegoClient.RENDER_NUKE, nuke_standard, nuke_demo, nuke_high);
|
||||||
nuke_tots.setRenderer(LegoClient.RENDER_GRENADE);
|
nuke_tots.setRenderer(LegoClient.RENDER_GRENADE);
|
||||||
|
|||||||
@ -6,12 +6,10 @@ import java.util.function.BiFunction;
|
|||||||
|
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.items.armor.IPAMelee;
|
import com.hbm.items.armor.IPAMelee;
|
||||||
import com.hbm.items.armor.IPARanged;
|
|
||||||
import com.hbm.items.armor.IPAWeaponsProvider;
|
import com.hbm.items.armor.IPAWeaponsProvider;
|
||||||
import com.hbm.items.weapon.sedna.Crosshair;
|
import com.hbm.items.weapon.sedna.Crosshair;
|
||||||
import com.hbm.items.weapon.sedna.GunConfig;
|
import com.hbm.items.weapon.sedna.GunConfig;
|
||||||
import com.hbm.items.weapon.sedna.Receiver;
|
import com.hbm.items.weapon.sedna.Receiver;
|
||||||
import com.hbm.lib.RefStrings;
|
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
|
||||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||||
@ -28,18 +26,14 @@ public class XFactoryPA {
|
|||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
|
|
||||||
ModItems.gun_pa_melee = new ItemGunPA(WeaponQuality.UTILITY, new GunConfig()
|
ModItems.gun_pa_melee = new ItemGunMelee(WeaponQuality.UTILITY, new GunConfig()
|
||||||
.draw(10).crosshair(Crosshair.NONE)
|
.draw(10).inspect(55).crosshair(Crosshair.NONE)
|
||||||
.rec(new Receiver(0))
|
.rec(new Receiver(0)
|
||||||
.pp(LAMBDA_CLICK_MELEE_PRIMARY).ps(LAMBDA_CLICK_MELEE_SENONDARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
|
.dmg(10F).delay(20).jam(0)
|
||||||
|
.offset(1, -0.0625 * 2.5, -0.25D))
|
||||||
|
.pp(LAMBDA_CLICK_PRIMARY).ps(LAMBDA_CLICK_SENONDARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
|
||||||
.anim(LAMBDA_MELEE_ANIMS).orchestra(ORCHESTRA)
|
.anim(LAMBDA_MELEE_ANIMS).orchestra(ORCHESTRA)
|
||||||
).setUnlocalizedName("gun_pa_melee");
|
).setUnlocalizedName("gun_pa_melee");
|
||||||
|
|
||||||
ModItems.gun_pa_ranged = new ItemGunPA(WeaponQuality.UTILITY, new GunConfig()
|
|
||||||
.draw(0).crosshair(Crosshair.CROSS)
|
|
||||||
.rec(new Receiver(0))
|
|
||||||
.pp(LAMBDA_CLICK_RANGED_PRIMARY).ps(LAMBDA_CLICK_RANGED_SENONDARY).decider(GunStateDecider.LAMBDA_STANDARD_DECIDER)
|
|
||||||
).setUnlocalizedName("gun_pa_ranged").setFull3D().setTextureName(RefStrings.MODID + ":gun_pa_ranged");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA = (stack, ctx) -> {
|
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA = (stack, ctx) -> {
|
||||||
@ -53,11 +47,11 @@ public class XFactoryPA {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_MELEE_PRIMARY = (stack, ctx) -> {
|
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_PRIMARY = (stack, ctx) -> {
|
||||||
IPAMelee component = IPAWeaponsProvider.getMeleeComponentClient();
|
IPAMelee component = IPAWeaponsProvider.getMeleeComponentClient();
|
||||||
if(component != null) component.clickPrimary(stack, ctx);
|
if(component != null) component.clickPrimary(stack, ctx);
|
||||||
};
|
};
|
||||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_MELEE_SENONDARY = (stack, ctx) -> {
|
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_SENONDARY = (stack, ctx) -> {
|
||||||
IPAMelee component = IPAWeaponsProvider.getMeleeComponentClient();
|
IPAMelee component = IPAWeaponsProvider.getMeleeComponentClient();
|
||||||
if(component != null) component.clickSecondary(stack, ctx);
|
if(component != null) component.clickSecondary(stack, ctx);
|
||||||
};
|
};
|
||||||
@ -75,18 +69,9 @@ public class XFactoryPA {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_RANGED_PRIMARY = (stack, ctx) -> {
|
public static class ItemGunMelee extends ItemGunBaseNT {
|
||||||
IPARanged component = IPAWeaponsProvider.getRangedComponentClient();
|
|
||||||
if(component != null) component.clickPrimary(stack, ctx);
|
|
||||||
};
|
|
||||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_CLICK_RANGED_SENONDARY = (stack, ctx) -> {
|
|
||||||
IPARanged component = IPAWeaponsProvider.getRangedComponentClient();
|
|
||||||
if(component != null) component.clickSecondary(stack, ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
public static class ItemGunPA extends ItemGunBaseNT {
|
public ItemGunMelee(WeaponQuality quality, GunConfig... cfg) {
|
||||||
|
|
||||||
public ItemGunPA(WeaponQuality quality, GunConfig... cfg) {
|
|
||||||
super(quality, cfg);
|
super(quality, cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -50,8 +50,6 @@ public class XFactoryRocket {
|
|||||||
public static BulletConfig[] rocket_rpzb;
|
public static BulletConfig[] rocket_rpzb;
|
||||||
public static BulletConfig[] rocket_qd;
|
public static BulletConfig[] rocket_qd;
|
||||||
public static BulletConfig[] rocket_ml;
|
public static BulletConfig[] rocket_ml;
|
||||||
public static BulletConfig[] rocket_ncrpa;
|
|
||||||
public static BulletConfig[] rocket_ncrpa_steer;
|
|
||||||
|
|
||||||
// FLYING
|
// FLYING
|
||||||
public static Consumer<Entity> LAMBDA_STANDARD_ACCELERATE = (entity) -> {
|
public static Consumer<Entity> LAMBDA_STANDARD_ACCELERATE = (entity) -> {
|
||||||
@ -59,25 +57,13 @@ public class XFactoryRocket {
|
|||||||
if(bullet.accel < 7) bullet.accel += 0.4D;
|
if(bullet.accel < 7) bullet.accel += 0.4D;
|
||||||
};
|
};
|
||||||
public static Consumer<Entity> LAMBDA_STEERING_ACCELERATE = (entity) -> {
|
public static Consumer<Entity> LAMBDA_STEERING_ACCELERATE = (entity) -> {
|
||||||
EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity;
|
|
||||||
if(!(entity instanceof EntityPlayer)) {
|
|
||||||
if(bullet.accel < 7) bullet.accel += 0.4D;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
EntityPlayer player = (EntityPlayer) bullet.getThrower();
|
|
||||||
steeringAccelerate(entity, player.getHeldItem() == null || !(player.getHeldItem().getItem() instanceof ItemGunBaseNT) || !ItemGunBaseNT.getIsAiming(player.getHeldItem()));
|
|
||||||
};
|
|
||||||
public static Consumer<Entity> LAMBDA_NCR_ACCELERATE = (entity) -> {
|
|
||||||
steeringAccelerate(entity, false);
|
|
||||||
};
|
|
||||||
public static void steeringAccelerate(Entity entity, boolean noSteer) {
|
|
||||||
EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity;
|
EntityBulletBaseMK4 bullet = (EntityBulletBaseMK4) entity;
|
||||||
if(bullet.accel < 4) bullet.accel += 0.4D;
|
if(bullet.accel < 4) bullet.accel += 0.4D;
|
||||||
if(bullet.getThrower() == null || !(bullet.getThrower() instanceof EntityPlayer)) return;
|
if(bullet.getThrower() == null || !(bullet.getThrower() instanceof EntityPlayer)) return;
|
||||||
|
|
||||||
EntityPlayer player = (EntityPlayer) bullet.getThrower();
|
EntityPlayer player = (EntityPlayer) bullet.getThrower();
|
||||||
if(Vec3.createVectorHelper(bullet.posX - player.posX, bullet.posY - player.posY, bullet.posZ - player.posZ).lengthVector() > 100) return;
|
if(Vec3.createVectorHelper(bullet.posX - player.posX, bullet.posY - player.posY, bullet.posZ - player.posZ).lengthVector() > 100) return;
|
||||||
if(noSteer) return;
|
if(player.getHeldItem() == null || !(player.getHeldItem().getItem() instanceof ItemGunBaseNT) || !ItemGunBaseNT.getIsAiming(player.getHeldItem())) return;
|
||||||
|
|
||||||
MovingObjectPosition mop = Library.rayTrace(player, 200, 1);
|
MovingObjectPosition mop = Library.rayTrace(player, 200, 1);
|
||||||
if(mop == null || mop.hitVec == null) return;
|
if(mop == null || mop.hitVec == null) return;
|
||||||
@ -90,7 +76,7 @@ public class XFactoryRocket {
|
|||||||
bullet.motionX = vec.xCoord * speed;
|
bullet.motionX = vec.xCoord * speed;
|
||||||
bullet.motionY = vec.yCoord * speed;
|
bullet.motionY = vec.yCoord * speed;
|
||||||
bullet.motionZ = vec.zCoord * speed;
|
bullet.motionZ = vec.zCoord * speed;
|
||||||
}
|
};
|
||||||
|
|
||||||
// IMPACT
|
// IMPACT
|
||||||
public static BiConsumer<EntityBulletBaseMK4, MovingObjectPosition> LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> {
|
public static BiConsumer<EntityBulletBaseMK4, MovingObjectPosition> LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> {
|
||||||
@ -152,7 +138,6 @@ public class XFactoryRocket {
|
|||||||
|
|
||||||
public static BulletConfig makeRPZB(BulletConfig original) { return original.clone(); }
|
public static BulletConfig makeRPZB(BulletConfig original) { return original.clone(); }
|
||||||
public static BulletConfig makeQD(BulletConfig original) { return original.clone().setLife(400).setOnUpdate(LAMBDA_STEERING_ACCELERATE); }
|
public static BulletConfig makeQD(BulletConfig original) { return original.clone().setLife(400).setOnUpdate(LAMBDA_STEERING_ACCELERATE); }
|
||||||
public static BulletConfig makeNCR(BulletConfig original) { return original.clone().setLife(400).setOnUpdate(LAMBDA_NCR_ACCELERATE); }
|
|
||||||
public static BulletConfig makeML(BulletConfig original) { return original.clone(); }
|
public static BulletConfig makeML(BulletConfig original) { return original.clone(); }
|
||||||
|
|
||||||
//this is starting to get messy but we need to put this crap *somewhere* and fragmenting it into a billion classes with two methods each just isn't gonna help
|
//this is starting to get messy but we need to put this crap *somewhere* and fragmenting it into a billion classes with two methods each just isn't gonna help
|
||||||
@ -171,15 +156,11 @@ public class XFactoryRocket {
|
|||||||
rocket_rpzb = new BulletConfig[rocket_template.length];
|
rocket_rpzb = new BulletConfig[rocket_template.length];
|
||||||
rocket_qd = new BulletConfig[rocket_template.length];
|
rocket_qd = new BulletConfig[rocket_template.length];
|
||||||
rocket_ml = new BulletConfig[rocket_template.length];
|
rocket_ml = new BulletConfig[rocket_template.length];
|
||||||
rocket_ncrpa_steer = new BulletConfig[rocket_template.length];
|
|
||||||
rocket_ncrpa = new BulletConfig[rocket_template.length];
|
|
||||||
|
|
||||||
for(int i = 0; i < rocket_template.length; i++) {
|
for(int i = 0; i < rocket_template.length; i++) {
|
||||||
rocket_rpzb[i] = makeRPZB(rocket_template[i]);
|
rocket_rpzb[i] = makeRPZB(rocket_template[i]);
|
||||||
rocket_qd[i] = makeQD(rocket_template[i]);
|
rocket_qd[i] = makeQD(rocket_template[i]);
|
||||||
rocket_ml[i] = makeML(rocket_template[i]);
|
rocket_ml[i] = makeML(rocket_template[i]);
|
||||||
rocket_ncrpa_steer[i] = makeNCR(rocket_template[i]);
|
|
||||||
rocket_ncrpa[i] = makeRPZB(rocket_template[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ModItems.gun_panzerschreck = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
|
ModItems.gun_panzerschreck = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig()
|
||||||
|
|||||||
@ -268,7 +268,6 @@ public class XWeaponModManager {
|
|||||||
/** Saves the state on receiver 0 so that if the mag changes through upgrading, the state may potentially be restored, if compatible */
|
/** Saves the state on receiver 0 so that if the mag changes through upgrading, the state may potentially be restored, if compatible */
|
||||||
private static void saveMagState(ItemStack stack, int cfg) {
|
private static void saveMagState(ItemStack stack, int cfg) {
|
||||||
IMagazine mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, cfg).getReceivers(stack)[0].getMagazine(stack);
|
IMagazine mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, cfg).getReceivers(stack)[0].getMagazine(stack);
|
||||||
if(mag == null) return;
|
|
||||||
prevMagType = mag.getType(stack, null);
|
prevMagType = mag.getType(stack, null);
|
||||||
prevMagCount = mag.getAmount(stack, null);
|
prevMagCount = mag.getAmount(stack, null);
|
||||||
}
|
}
|
||||||
@ -286,7 +285,6 @@ public class XWeaponModManager {
|
|||||||
changedMagState = false;
|
changedMagState = false;
|
||||||
|
|
||||||
IMagazine mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, cfg).getReceivers(stack)[0].getMagazine(stack);
|
IMagazine mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, cfg).getReceivers(stack)[0].getMagazine(stack);
|
||||||
if(mag == null) return;
|
|
||||||
if(mag.getType(stack, null) == prevMagType) {
|
if(mag.getType(stack, null) == prevMagType) {
|
||||||
mag.setAmount(stack, MathHelper.clamp_int(prevMagCount, 0, mag.getCapacity(stack)));
|
mag.setAmount(stack, MathHelper.clamp_int(prevMagCount, 0, mag.getCapacity(stack)));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -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 (5615)";
|
public static final String VERSION = "1.0.27 BETA (5593)";
|
||||||
//HBM's Beta Naming Convention:
|
//HBM's Beta Naming Convention:
|
||||||
//V T (X)
|
//V T (X)
|
||||||
//V -> next release version
|
//V -> next release version
|
||||||
|
|||||||
@ -73,27 +73,4 @@ public class ItemRenderPAMelee extends ItemRenderWeaponBase {
|
|||||||
|
|
||||||
GL11.glShadeModel(GL11.GL_FLAT);
|
GL11.glShadeModel(GL11.GL_FLAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderOther(ItemStack stack, ItemRenderType type, Object... data) {
|
|
||||||
if(type == type.EQUIPPED) return;
|
|
||||||
|
|
||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
|
||||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
|
||||||
|
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ncrpa_arm);
|
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
double scale = 0.3125D;
|
|
||||||
GL11.glScaled(scale, scale, scale);
|
|
||||||
|
|
||||||
GL11.glRotated(90, 1, 0, 0);
|
|
||||||
GL11.glTranslated(0, -5.5, 0);
|
|
||||||
GL11.glTranslated(-2, 0, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("Leftarm");
|
|
||||||
GL11.glTranslated(4, 0, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("RightArm");
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
|
|
||||||
GL11.glShadeModel(GL11.GL_FLAT);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL12;
|
|||||||
|
|
||||||
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
||||||
import com.hbm.items.ModItems;
|
import com.hbm.items.ModItems;
|
||||||
import com.hbm.items.armor.ArmorNCRPA;
|
|
||||||
import com.hbm.items.armor.ArmorTrenchmaster;
|
import com.hbm.items.armor.ArmorTrenchmaster;
|
||||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
@ -48,8 +47,6 @@ public class RenderLoot extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
} else if(stack.getItem() instanceof ArmorTrenchmaster) {
|
} else if(stack.getItem() instanceof ArmorTrenchmaster) {
|
||||||
renderTrenchmaster(stack);
|
renderTrenchmaster(stack);
|
||||||
} else if(stack.getItem() instanceof ArmorNCRPA) {
|
|
||||||
renderNCR(stack);
|
|
||||||
} else {
|
} else {
|
||||||
renderStandardItem(item.getW());
|
renderStandardItem(item.getW());
|
||||||
}
|
}
|
||||||
@ -111,57 +108,6 @@ public class RenderLoot extends TileEntitySpecialRenderer {
|
|||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderNCR(ItemStack stack) {
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
GL11.glTranslated(0.5, 1.5, 0.5);
|
|
||||||
GL11.glScaled(0.0625, 0.0625, 0.0625);
|
|
||||||
GL11.glRotated(180, 1, 0, 0);
|
|
||||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
|
||||||
if(stack.getItem() == ModItems.ncrpa_helmet) {
|
|
||||||
bindTexture(ResourceManager.ncrpa_helmet);
|
|
||||||
GL11.glEnable(GL11.GL_BLEND);
|
|
||||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("Helmet");
|
|
||||||
GL11.glDisable(GL11.GL_BLEND);
|
|
||||||
float lastX = OpenGlHelper.lastBrightnessX;
|
|
||||||
float lastY = OpenGlHelper.lastBrightnessY;
|
|
||||||
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
|
|
||||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
|
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
|
||||||
ResourceManager.armor_ncr.renderPart("Eyes");
|
|
||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
|
||||||
GL11.glPopAttrib();
|
|
||||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY);
|
|
||||||
}
|
|
||||||
if(stack.getItem() == ModItems.ncrpa_plate) {
|
|
||||||
bindTexture(ResourceManager.ncrpa_chest);
|
|
||||||
ResourceManager.armor_ncr.renderPart("Chest");
|
|
||||||
bindTexture(ResourceManager.ncrpa_arm);
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
GL11.glRotated(-3, 1, 0, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("LeftArm");
|
|
||||||
ResourceManager.armor_ncr.renderPart("RightArm");
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
if(stack.getItem() == ModItems.ncrpa_legs) {
|
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ncrpa_leg);
|
|
||||||
ResourceManager.armor_ncr.renderPart("LeftLeg");
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
GL11.glRotated(-0.1, 1, 0, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("RightLeg");
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
if(stack.getItem() == ModItems.ncrpa_boots) {
|
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ncrpa_leg);
|
|
||||||
ResourceManager.armor_ncr.renderPart("LeftBoot");
|
|
||||||
GL11.glPushMatrix();
|
|
||||||
GL11.glRotated(-0.1, 1, 0, 0);
|
|
||||||
ResourceManager.armor_ncr.renderPart("RightBoot");
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
GL11.glPopMatrix();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void renderNuke() {
|
private void renderNuke() {
|
||||||
GL11.glScaled(0.5, 0.5, 0.5);
|
GL11.glScaled(0.5, 0.5, 0.5);
|
||||||
GL11.glTranslated(1, 0.5, 1);
|
GL11.glTranslated(1, 0.5, 1);
|
||||||
|
|||||||
@ -206,7 +206,6 @@ public class TileEntityMachineChemicalFactory extends TileEntityMachineBase impl
|
|||||||
for(FluidTank in : inputTanks) if(in.getTankType() != Fluids.NONE) for(FluidTank out : outputTanks) { // up to 144 iterations, but most of them are NOP anyway
|
for(FluidTank in : inputTanks) if(in.getTankType() != Fluids.NONE) for(FluidTank out : outputTanks) { // up to 144 iterations, but most of them are NOP anyway
|
||||||
if(out.getTankType() == Fluids.NONE) continue;
|
if(out.getTankType() == Fluids.NONE) continue;
|
||||||
if(out.getTankType() != in.getTankType()) continue;
|
if(out.getTankType() != in.getTankType()) continue;
|
||||||
if(out.getPressure() != in.getPressure()) continue;
|
|
||||||
int toMove = BobMathUtil.min(in.getMaxFill() - in.getFill(), out.getFill(), 50);
|
int toMove = BobMathUtil.min(in.getMaxFill() - in.getFill(), out.getFill(), 50);
|
||||||
if(toMove > 0) {
|
if(toMove > 0) {
|
||||||
in.setFill(in.getFill() + toMove);
|
in.setFill(in.getFill() + toMove);
|
||||||
|
|||||||
@ -53,7 +53,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
|
|
||||||
public int heat;
|
public int heat;
|
||||||
public static final int maxHeat = 100000;
|
public static final int maxHeat = 100000;
|
||||||
public boolean redstonePowered = false;
|
|
||||||
public int pressure;
|
public int pressure;
|
||||||
public static final int maxPressure = 100000;
|
public static final int maxPressure = 100000;
|
||||||
public boolean isOn = false;
|
public boolean isOn = false;
|
||||||
@ -86,12 +85,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
carbonDioxide = new FluidTank(Fluids.CARBONDIOXIDE, 16000);
|
carbonDioxide = new FluidTank(Fluids.CARBONDIOXIDE, 16000);
|
||||||
water = new FluidTank(Fluids.WATER, 32000);
|
water = new FluidTank(Fluids.WATER, 32000);
|
||||||
}
|
}
|
||||||
public void setRedstonePowered(boolean powered) {
|
|
||||||
if (!powered && this.redstonePowered) {
|
|
||||||
isOn = false;
|
|
||||||
}
|
|
||||||
this.redstonePowered = powered;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
@ -122,7 +115,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
steam.readFromNBT(nbt, "steam");
|
steam.readFromNBT(nbt, "steam");
|
||||||
carbonDioxide.readFromNBT(nbt, "carbondioxide");
|
carbonDioxide.readFromNBT(nbt, "carbondioxide");
|
||||||
water.readFromNBT(nbt, "water");
|
water.readFromNBT(nbt, "water");
|
||||||
redstonePowered = nbt.getBoolean("redstonePowered");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -134,7 +126,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
steam.writeToNBT(nbt, "steam");
|
steam.writeToNBT(nbt, "steam");
|
||||||
carbonDioxide.writeToNBT(nbt, "carbondioxide");
|
carbonDioxide.writeToNBT(nbt, "carbondioxide");
|
||||||
water.writeToNBT(nbt, "water");
|
water.writeToNBT(nbt, "water");
|
||||||
nbt.setBoolean("redstonePowered", redstonePowered);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,9 +176,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
|
|
||||||
if(!worldObj.isRemote) {
|
if(!worldObj.isRemote) {
|
||||||
if (redstonePowered) {
|
|
||||||
isOn = true;
|
|
||||||
}
|
|
||||||
this.output = 0;
|
this.output = 0;
|
||||||
|
|
||||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||||
@ -239,7 +228,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
buf.writeInt(this.heat);
|
buf.writeInt(this.heat);
|
||||||
buf.writeInt(this.pressure);
|
buf.writeInt(this.pressure);
|
||||||
buf.writeBoolean(this.isOn);
|
buf.writeBoolean(this.isOn);
|
||||||
buf.writeBoolean(this.redstonePowered);
|
|
||||||
steam.serialize(buf);
|
steam.serialize(buf);
|
||||||
carbonDioxide.serialize(buf);
|
carbonDioxide.serialize(buf);
|
||||||
water.serialize(buf);
|
water.serialize(buf);
|
||||||
@ -251,7 +239,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
this.heat = buf.readInt();
|
this.heat = buf.readInt();
|
||||||
this.pressure = buf.readInt();
|
this.pressure = buf.readInt();
|
||||||
this.isOn = buf.readBoolean();
|
this.isOn = buf.readBoolean();
|
||||||
this.redstonePowered = buf.readBoolean();
|
|
||||||
steam.deserialize(buf);
|
steam.deserialize(buf);
|
||||||
carbonDioxide.deserialize(buf);
|
carbonDioxide.deserialize(buf);
|
||||||
water.deserialize(buf);
|
water.deserialize(buf);
|
||||||
@ -442,7 +429,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void receiveControl(NBTTagCompound data) {
|
public void receiveControl(NBTTagCompound data) {
|
||||||
if(data.hasKey("control") && !redstonePowered) {
|
if(data.hasKey("control")) {
|
||||||
this.isOn = !this.isOn;
|
this.isOn = !this.isOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -190,13 +190,6 @@ public class DamageResistanceHandler {
|
|||||||
.addCategory(CATEGORY_ENERGY, 25F, 0.75F)
|
.addCategory(CATEGORY_ENERGY, 25F, 0.75F)
|
||||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
||||||
.setOther(15F, 0.3F));
|
.setOther(15F, 0.3F));
|
||||||
registerSet(ModItems.ncrpa_helmet, ModItems.ncrpa_plate, ModItems.ncrpa_legs, ModItems.ncrpa_boots, new ResistanceStats()
|
|
||||||
.addCategory(CATEGORY_PHYSICAL, 25F, 0.65F)
|
|
||||||
.addCategory(CATEGORY_FIRE, 10F, 0.9F)
|
|
||||||
.addCategory(CATEGORY_EXPLOSION, 15F, 0.25F)
|
|
||||||
.addCategory(CATEGORY_ENERGY, 10F, 0.5F)
|
|
||||||
.addExact(DamageSource.fall.damageType, 0F, 1F)
|
|
||||||
.setOther(15F, 0.25F));
|
|
||||||
ResistanceStats bj = new ResistanceStats()
|
ResistanceStats bj = new ResistanceStats()
|
||||||
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
|
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
|
||||||
.addCategory(CATEGORY_FIRE, 2.5F, 0.5F)
|
.addCategory(CATEGORY_FIRE, 2.5F, 0.5F)
|
||||||
|
|||||||
@ -2221,7 +2221,6 @@ item.gun_minigun_lacunae.name=Lacunae
|
|||||||
item.gun_missile_launcher.name=Raketenwerfer
|
item.gun_missile_launcher.name=Raketenwerfer
|
||||||
item.gun_n_i_4_n_i.name=N I 4 N I
|
item.gun_n_i_4_n_i.name=N I 4 N I
|
||||||
item.gun_pa_melee.name=Powerrüstung - Nahkampfcontroller
|
item.gun_pa_melee.name=Powerrüstung - Nahkampfcontroller
|
||||||
item.gun_pa_ranged.name=Powerrüstung - Fernkampfcontroller
|
|
||||||
item.gun_panzerschreck.name=Panzerschreck
|
item.gun_panzerschreck.name=Panzerschreck
|
||||||
item.gun_pepperbox.name=Bündelrevolver
|
item.gun_pepperbox.name=Bündelrevolver
|
||||||
item.gun_quadro.name=Vierfachraketenwerfer
|
item.gun_quadro.name=Vierfachraketenwerfer
|
||||||
|
|||||||
@ -3064,7 +3064,6 @@ item.gun_minigun_lacunae.name=Lacunae
|
|||||||
item.gun_missile_launcher.name=Missile Launcher
|
item.gun_missile_launcher.name=Missile Launcher
|
||||||
item.gun_n_i_4_n_i.name=N I 4 N I
|
item.gun_n_i_4_n_i.name=N I 4 N I
|
||||||
item.gun_pa_melee.name=Power Armor - Melee Controller
|
item.gun_pa_melee.name=Power Armor - Melee Controller
|
||||||
item.gun_pa_ranged.name=Power Armor - Ranged Controller
|
|
||||||
item.gun_panzerschreck.name=Panzerschreck
|
item.gun_panzerschreck.name=Panzerschreck
|
||||||
item.gun_pepperbox.name=Pepperbox
|
item.gun_pepperbox.name=Pepperbox
|
||||||
item.gun_quadro.name=Quad Rocket Launcher
|
item.gun_quadro.name=Quad Rocket Launcher
|
||||||
|
|||||||
@ -3162,7 +3162,6 @@ item.gun_missile_launcher.name=Ракетная пусковая установ
|
|||||||
item.gun_n_i_4_n_i.name=Энергетический револьвер "N I 4 N I"
|
item.gun_n_i_4_n_i.name=Энергетический револьвер "N I 4 N I"
|
||||||
item.gun_pepperbox.name=Револьвер "Перечница"
|
item.gun_pepperbox.name=Револьвер "Перечница"
|
||||||
item.gun_pa_melee.name=Силовая броня - Контроллер ближнего боя
|
item.gun_pa_melee.name=Силовая броня - Контроллер ближнего боя
|
||||||
item.gun_pa_ranged.name=Силовая броня - Контроллер дальнего боя
|
|
||||||
item.gun_panzerschreck.name=Гранатомёт "Panzerschreck"
|
item.gun_panzerschreck.name=Гранатомёт "Panzerschreck"
|
||||||
item.gun_quadro.name=Четырехствольная ракетная пусковая установка
|
item.gun_quadro.name=Четырехствольная ракетная пусковая установка
|
||||||
item.gun_spas12.name=Дробовик "SPAS-12"
|
item.gun_spas12.name=Дробовик "SPAS-12"
|
||||||
@ -6646,4 +6645,3 @@ desc.gui.upgrade.speed= * §4Скорость§r: Стакается до 3-х
|
|||||||
// Last updated 15.02.2026 by RayzerHan //
|
// Last updated 15.02.2026 by RayzerHan //
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1806,44 +1806,42 @@ item.ballistite.name=混合无烟火药
|
|||||||
item.bandaid.name=邦迪创可贴
|
item.bandaid.name=邦迪创可贴
|
||||||
item.bathwater.name=有毒肥皂水
|
item.bathwater.name=有毒肥皂水
|
||||||
item.bathwater_mk2.name=有毒肥皂水(马香味)
|
item.bathwater_mk2.name=有毒肥皂水(马香味)
|
||||||
item.battery_advanced.name=高级电池
|
item.battery_advanced.name=高级电池(遗留)
|
||||||
item.battery_advanced_cell.name=高级电池组
|
item.battery_advanced_cell.name=高级电池组(遗留)
|
||||||
item.battery_advanced_cell_12.name=十二联高级电池组
|
item.battery_advanced_cell_12.name=十二联高级电池组(遗留)
|
||||||
item.battery_advanced_cell_4.name=四联高级电池组
|
item.battery_advanced_cell_4.name=四联高级电池组(遗留)
|
||||||
item.battery_creative.name=无限电池
|
item.battery_creative.name=无限电池
|
||||||
item.battery_generic.name=电池
|
item.battery_generic.name=电池(遗留)
|
||||||
item.battery_lithium.name=锂电池
|
item.battery_lithium.name=锂电池(遗留)
|
||||||
item.battery_lithium_cell.name=锂电池组
|
item.battery_lithium_cell.name=锂电池组(遗留)
|
||||||
item.battery_lithium_cell_3.name=三联锂电池组
|
item.battery_lithium_cell_3.name=三联锂电池组(遗留)
|
||||||
item.battery_lithium_cell_6.name=六联锂电池组
|
item.battery_lithium_cell_6.name=六联锂电池组(遗留)
|
||||||
item.battery_potato.name=马铃薯电池
|
item.battery_potato.name=马铃薯电池
|
||||||
item.battery_potatos.name=马铃薯OS
|
item.battery_potatos.name=马铃薯OS
|
||||||
item.battery_red_cell.name=红石电池组
|
item.battery_red_cell.name=红石电池组(遗留)
|
||||||
item.battery_red_cell_24.name=二十四联红石电池组
|
item.battery_red_cell_24.name=二十四联红石电池组(遗留)
|
||||||
item.battery_red_cell_6.name=六联红石电池组
|
item.battery_red_cell_6.name=六联红石电池组(遗留)
|
||||||
item.battery_sc_americium.name=自充电 镅-241电池
|
item.battery_sc_americium.name=自充电 镅-241电池(遗留)
|
||||||
item.battery_sc_gold.name=自充电 金-198电池
|
item.battery_sc_gold.name=自充电 金-198电池(遗留)
|
||||||
item.battery_sc_lead.name=自充电 铅-209电池
|
item.battery_sc_lead.name=自充电 铅-209电池(遗留)
|
||||||
item.battery_sc_plutonium.name=自充电 钚-238电池
|
item.battery_sc_plutonium.name=自充电 钚-238电池(遗留)
|
||||||
item.battery_sc_polonium.name=自充电 钋-210电池
|
item.battery_sc_polonium.name=自充电 钋-210电池(遗留)
|
||||||
item.battery_sc_technetium.name=自充电 锝-98电池
|
item.battery_sc_technetium.name=自充电 锝-99电池(遗留)
|
||||||
item.battery_sc_uranium.name=自充电 铀-238电池
|
item.battery_sc_uranium.name=自充电 铀-238电池(遗留)
|
||||||
item.battery_schrabidium.name=Sa326电池
|
item.battery_schrabidium.name=Sa326电池(遗留)
|
||||||
item.battery_schrabidium_cell.name=Sa326电池组
|
item.battery_schrabidium_cell.name=Sa326电池组(遗留)
|
||||||
item.battery_schrabidium_cell_2.name=双联Sa326电池组
|
item.battery_schrabidium_cell_2.name=双联Sa326电池组(遗留)
|
||||||
item.battery_schrabidium_cell_4.name=四联Sa326电池组
|
item.battery_schrabidium_cell_4.name=四联Sa326电池组(遗留)
|
||||||
item.battery_spark.name=Spark电池
|
item.battery_spark.name=Spark电池
|
||||||
item.battery_spark_cell_100.name=Spark神秘储能电池组
|
item.battery_spark_cell_100.name=Spark神秘储能电池组(遗留)
|
||||||
item.battery_spark_cell_1000.name=Spark神秘物质能量空间
|
item.battery_spark_cell_1000.name=Spark神秘物质能量空间(遗留)
|
||||||
item.battery_spark_cell_10000.name=Spark时空晶体
|
item.battery_spark_cell_10000.name=Spark时空晶体(遗留)
|
||||||
item.battery_spark_cell_25.name=Spark神秘汽车电池
|
item.battery_spark_cell_25.name=Spark神秘汽车电池(遗留)
|
||||||
item.battery_spark_cell_2500.name=Spark神秘迪拉克之海
|
item.battery_spark_cell_2500.name=Spark神秘迪拉克之海(遗留)
|
||||||
item.battery_spark_cell_6.name=Spark电池组
|
item.battery_spark_cell_6.name=Spark电池组(遗留)
|
||||||
item.battery_spark_cell_power.name=Spark反物理储能装置
|
item.battery_spark_cell_power.name=Spark反物理储能装置(遗留)
|
||||||
item.battery_steam.name=蒸汽动力储能罐
|
item.battery_steam.name=蒸汽动力储能罐(遗留)
|
||||||
item.battery_steam_large.name=大型蒸汽动力储能罐
|
item.battery_steam_large.name=大型蒸汽动力储能罐(遗留)
|
||||||
item.battery_su.name=SU-电池
|
|
||||||
item.battery_su_l.name=大型SU-电池
|
|
||||||
item.battery_trixite.name=杂牌Spark电池
|
item.battery_trixite.name=杂牌Spark电池
|
||||||
item.bdcl.name=BDCL
|
item.bdcl.name=BDCL
|
||||||
item.bedrock_ore.grade.base.name=%s基岩矿石
|
item.bedrock_ore.grade.base.name=%s基岩矿石
|
||||||
@ -2073,8 +2071,6 @@ item.canned_fried.name=炸鸡罐头
|
|||||||
item.canned_fried.desc=甚至罐头都是油炸的!
|
item.canned_fried.desc=甚至罐头都是油炸的!
|
||||||
item.canned_hotdogs.name=热狗罐头
|
item.canned_hotdogs.name=热狗罐头
|
||||||
item.canned_hotdogs.desc=不要与冷猫混淆。
|
item.canned_hotdogs.desc=不要与冷猫混淆。
|
||||||
item.canned_jizz.name=FlimFlam工业牌?马奶罐头
|
|
||||||
item.canned_jizz.desc=等等什么——
|
|
||||||
item.canned_kerosene.name=煤油罐头
|
item.canned_kerosene.name=煤油罐头
|
||||||
item.canned_kerosene.desc=想象一下这句俏皮的台词。
|
item.canned_kerosene.desc=想象一下这句俏皮的台词。
|
||||||
item.canned_leftovers.name=剩菜罐头
|
item.canned_leftovers.name=剩菜罐头
|
||||||
@ -4516,16 +4512,10 @@ shape.wireFine=线
|
|||||||
shape.wireDense=致密线
|
shape.wireDense=致密线
|
||||||
shape.wiresDense=致密线
|
shape.wiresDense=致密线
|
||||||
soundCategory.ntmMachines=NTM机器
|
soundCategory.ntmMachines=NTM机器
|
||||||
|
tile.absorber.name=辐射吸收器(遗留)
|
||||||
tile.absorber.name=辐射吸收器 OLD
|
tile.absorber_green.name=高级辐射吸收器(遗留)
|
||||||
tile.absorber_green.name=高级辐射吸收器 OLD
|
tile.absorber_pink.name=精英辐射吸收器(遗留)
|
||||||
tile.absorber_pink.name=精英辐射吸收器 OLD
|
tile.absorber_red.name=增强型辐射吸收器(遗留)
|
||||||
tile.absorber_red.name=增强型辐射吸收器 OLD
|
|
||||||
|
|
||||||
tile.rad_absorber.base.name=辐射吸收器
|
|
||||||
tile.rad_absorber.red.name=增强型辐射吸收器
|
|
||||||
tile.rad_absorber.green.name=高级辐射吸收器
|
|
||||||
tile.rad_absorber.pink.name=精英辐射吸收器
|
|
||||||
tile.acid_block.name=酸
|
tile.acid_block.name=酸
|
||||||
tile.ams_base.name=AMS基座 [开发中]
|
tile.ams_base.name=AMS基座 [开发中]
|
||||||
tile.ams_emitter.name=AMS发射极 [开发中]
|
tile.ams_emitter.name=AMS发射极 [开发中]
|
||||||
@ -5155,7 +5145,7 @@ tile.machine_bat9000.name=巨尻-9000 储罐
|
|||||||
tile.machine_battery.name=蓄电池(遗留)
|
tile.machine_battery.name=蓄电池(遗留)
|
||||||
tile.machine_battery_potato.name=马铃薯电池组(遗留)
|
tile.machine_battery_potato.name=马铃薯电池组(遗留)
|
||||||
tile.machine_boiler.name=大型锅炉
|
tile.machine_boiler.name=大型锅炉
|
||||||
tile.machine_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热速率:ΔT*0.01 TU/T
|
tile.machine_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热速率:ΔT*0.1 TU/T
|
||||||
tile.machine_boiler_electric_off.name=电锅炉
|
tile.machine_boiler_electric_off.name=电锅炉
|
||||||
tile.machine_boiler_electric_on.name=电锅炉
|
tile.machine_boiler_electric_on.name=电锅炉
|
||||||
tile.machine_boiler_off.name=锅炉
|
tile.machine_boiler_off.name=锅炉
|
||||||
@ -5169,7 +5159,7 @@ tile.machine_chungus.desc=效率: 85%%
|
|||||||
tile.machine_coal_off.name=火力发电机
|
tile.machine_coal_off.name=火力发电机
|
||||||
tile.machine_coal_on.name=火力发电机
|
tile.machine_coal_on.name=火力发电机
|
||||||
tile.machine_coker.name=焦化装置
|
tile.machine_coker.name=焦化装置
|
||||||
tile.machine_coker.desc=炼焦,并产生各类流体副产品$需要外部热源$传热速率:ΔT*0.025 TU/T
|
tile.machine_coker.desc=炼焦,并产生各类流体副产品$需要外部热源$传热速率:ΔT*0.25 TU/T
|
||||||
tile.machine_combine_factory.name=CMB炼钢炉
|
tile.machine_combine_factory.name=CMB炼钢炉
|
||||||
tile.machine_combustion_engine.name=工业内燃机
|
tile.machine_combustion_engine.name=工业内燃机
|
||||||
tile.machine_compressor.name=压缩机
|
tile.machine_compressor.name=压缩机
|
||||||
@ -5217,7 +5207,7 @@ tile.machine_hephaestus.name=地热换热器
|
|||||||
tile.machine_icf_press.name=ICF燃料靶丸制造器
|
tile.machine_icf_press.name=ICF燃料靶丸制造器
|
||||||
tile.machine_icf_press.desc=用于装填ICF靶丸$左侧燃料槽接收顶面/底面输入,右侧燃料槽接收侧面输入$μ子胶囊和空靶丸可从任意面输入
|
tile.machine_icf_press.desc=用于装填ICF靶丸$左侧燃料槽接收顶面/底面输入,右侧燃料槽接收侧面输入$μ子胶囊和空靶丸可从任意面输入
|
||||||
tile.machine_industrial_boiler.name=工业锅炉
|
tile.machine_industrial_boiler.name=工业锅炉
|
||||||
tile.machine_industrial_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热率:ΔT*0.01 TU/T$不会爆炸
|
tile.machine_industrial_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热率:ΔT*0.1 TU/T$不会爆炸
|
||||||
tile.machine_industrial_generator.name=工业发电机
|
tile.machine_industrial_generator.name=工业发电机
|
||||||
tile.machine_keyforge.name=锁匠桌
|
tile.machine_keyforge.name=锁匠桌
|
||||||
tile.machine_large_turbine.name=工业汽轮机
|
tile.machine_large_turbine.name=工业汽轮机
|
||||||
@ -5522,16 +5512,15 @@ tile.rbmk_control_auto.name=RBMK反应堆自动控制棒
|
|||||||
tile.rbmk_control_mod.name=RBMK反应堆慢化控制棒
|
tile.rbmk_control_mod.name=RBMK反应堆慢化控制棒
|
||||||
tile.rbmk_crane_console.name=RBMK起重机控制台
|
tile.rbmk_crane_console.name=RBMK起重机控制台
|
||||||
tile.rbmk_heater.name=RBMK流体加热器
|
tile.rbmk_heater.name=RBMK流体加热器
|
||||||
tile.rbmk_heatex.name=RBMK换热器
|
|
||||||
tile.rbmk_loader.name=RBMK反应堆蒸汽导出器
|
tile.rbmk_loader.name=RBMK反应堆蒸汽导出器
|
||||||
tile.rbmk_loader.desc=让RBMK反应堆在底部同时拥有水接口和蒸汽接口$在RBMK蒸汽管道下方放置水管道,再在下面放置蒸汽导出器$最后将管道连接至蒸汽导出器即可
|
tile.rbmk_loader.desc=让RBMK反应堆在底部同时拥有水接口和蒸汽接口$在RBMK蒸汽管道下方放置水管道,再在下面放置蒸汽导出器$最后将管道连接至蒸汽导出器即可
|
||||||
tile.rbmk_moderator.name=RBMK反应堆石墨慢化剂
|
tile.rbmk_moderator.name=RBMK反应堆石墨慢化剂
|
||||||
tile.rbmk_outgasser.name=RBMK反应堆辐照通道
|
tile.rbmk_outgasser.name=RBMK反应堆辐照通道
|
||||||
tile.rbmk_reflector.name=RBMK反应堆碳化钨中子反射器
|
tile.rbmk_reflector.name=RBMK反应堆碳化钨中子反射器
|
||||||
tile.rbmk_rod.name=RBMK反应堆燃料棒
|
tile.rbmk_rod.name=RBMK反应堆燃料通道
|
||||||
tile.rbmk_rod_mod.name=RBMK反应堆慢化燃料棒
|
tile.rbmk_rod_mod.name=RBMK反应堆慢化燃料通道
|
||||||
tile.rbmk_rod_reasim.name=RBMK反应堆燃料棒(ReaSim)
|
tile.rbmk_rod_reasim.name=RBMK反应堆燃料通道(ReaSim)
|
||||||
tile.rbmk_rod_reasim_mod.name=RBMK反应堆慢化燃料棒(ReaSim)
|
tile.rbmk_rod_reasim_mod.name=RBMK反应堆慢化燃料通道(ReaSim)
|
||||||
tile.rbmk_steam_inlet.name=RBMK ReaSim进水口
|
tile.rbmk_steam_inlet.name=RBMK ReaSim进水口
|
||||||
tile.rbmk_steam_inlet.desc=当启用ReaSim锅炉时向反应堆内输入水$从侧面连接至反应堆结构
|
tile.rbmk_steam_inlet.desc=当启用ReaSim锅炉时向反应堆内输入水$从侧面连接至反应堆结构
|
||||||
tile.rbmk_steam_outlet.name=RBMK ReaSim蒸汽出口
|
tile.rbmk_steam_outlet.name=RBMK ReaSim蒸汽出口
|
||||||
@ -5905,8 +5894,8 @@ item.conveyor_wand.vertical.desc=能放置垂直输送带或者滑槽来垂直
|
|||||||
item.gun_g3_a3.name=G3A3
|
item.gun_g3_a3.name=G3A3
|
||||||
item.gun_g3_infiltrator.name=渗透者
|
item.gun_g3_infiltrator.name=渗透者
|
||||||
item.gun_greasegun_m3.name=M3
|
item.gun_greasegun_m3.name=M3
|
||||||
item.gun_heavy_revolver_scoped.name=带有准镜的.44马格南转轮手枪
|
item.gun_heavy_revolver_scoped.name=带瞄准镜的.44马格南转轮手枪
|
||||||
item.gun_henry_lincoln.name=林肯的中继器
|
item.gun_henry_lincoln.name=林肯拉杆枪
|
||||||
item.gun_maresleg_short.name=马腿
|
item.gun_maresleg_short.name=马腿
|
||||||
item.gun_mas36.name=南方之星
|
item.gun_mas36.name=南方之星
|
||||||
item.gun_uzi_richter.name=里氏
|
item.gun_uzi_richter.name=里氏
|
||||||
@ -5918,9 +5907,9 @@ item.weapon_mod_caliber.m357.name=.357马格南改装套件
|
|||||||
item.weapon_mod_caliber.m44.name=.44马格南改装套件
|
item.weapon_mod_caliber.m44.name=.44马格南改装套件
|
||||||
item.weapon_mod_caliber.p22.name=.22LR改装套件
|
item.weapon_mod_caliber.p22.name=.22LR改装套件
|
||||||
item.weapon_mod_caliber.p45.name=.45口径改装套件
|
item.weapon_mod_caliber.p45.name=.45口径改装套件
|
||||||
item.weapon_mod_caliber.p9.name=9毫米口径改装套件
|
item.weapon_mod_caliber.p9.name=9mm改装套件
|
||||||
item.weapon_mod_caliber.r556.name=5.56mm改装套件
|
item.weapon_mod_caliber.r556.name=5.56mm改装套件
|
||||||
item.weapon_mod_caliber.r762.name=7.62改装套件
|
item.weapon_mod_caliber.r762.name=7.62mm改装套件
|
||||||
item.weapon_mod_generic.bigmt_damage.name=土星弹道优化器
|
item.weapon_mod_generic.bigmt_damage.name=土星弹道优化器
|
||||||
item.weapon_mod_generic.bigmt_dura.name=高耐用性土星部件
|
item.weapon_mod_generic.bigmt_dura.name=高耐用性土星部件
|
||||||
item.weapon_mod_generic.bronze_damage.name=青铜弹道优化器
|
item.weapon_mod_generic.bronze_damage.name=青铜弹道优化器
|
||||||
@ -5935,7 +5924,7 @@ item.weapon_mod_generic.iron_damage.name=铁制弹道优化器
|
|||||||
item.weapon_mod_generic.iron_dura.name=高耐用性铁制部件
|
item.weapon_mod_generic.iron_dura.name=高耐用性铁制部件
|
||||||
item.weapon_mod_generic.steel_damage.name=钢制弹道优化器
|
item.weapon_mod_generic.steel_damage.name=钢制弹道优化器
|
||||||
item.weapon_mod_generic.steel_dura.name=高耐用性钢制部件
|
item.weapon_mod_generic.steel_dura.name=高耐用性钢制部件
|
||||||
item.weapon_mod_generic.tcalloy_damage.name=耐高温合金弹道优化
|
item.weapon_mod_generic.tcalloy_damage.name=耐高温合金弹道优化器
|
||||||
item.weapon_mod_generic.tcalloy_dura.name=高耐用性耐高温合金部件
|
item.weapon_mod_generic.tcalloy_dura.name=高耐用性耐高温合金部件
|
||||||
item.weapon_mod_generic.wsteel_damage.name=武器级钢弹道优化器
|
item.weapon_mod_generic.wsteel_damage.name=武器级钢弹道优化器
|
||||||
item.weapon_mod_generic.wsteel_dura.name=高耐用性武器级钢部件
|
item.weapon_mod_generic.wsteel_dura.name=高耐用性武器级钢部件
|
||||||
@ -6012,11 +6001,11 @@ item.ammo_bag.name=弹药袋
|
|||||||
item.ammo_bag_infinite.name=无限弹药袋
|
item.ammo_bag_infinite.name=无限弹药袋
|
||||||
item.gun_g3_zebra.name=斑马步枪
|
item.gun_g3_zebra.name=斑马步枪
|
||||||
container.rttyController=无线红石信号控制器
|
container.rttyController=无线红石信号控制器
|
||||||
container.rttyReader=无线红石信号控制器
|
container.rttyReader=无线红石信号读取器
|
||||||
tile.radio_torch_controller.name=无线红石信号控制器
|
tile.radio_torch_controller.name=无线红石信号控制器
|
||||||
tile.radio_torch_controller.desc=可以接收信号并将信号传送到与其连接的机器
|
tile.radio_torch_controller.desc=可以接收信号并将信号传送到与其连接的机器
|
||||||
tile.radio_torch_reader.name=无线红石信号控制器
|
tile.radio_torch_reader.name=无线红石信号读取器
|
||||||
tile.radio_torch_reader.desc=从被连接的块读取数值并以指定的频率发送
|
tile.radio_torch_reader.desc=从连接的方块读取数值并以指定的频率发送
|
||||||
item.ammo_standard.ct_hook.name=抓钩
|
item.ammo_standard.ct_hook.name=抓钩
|
||||||
item.ammo_standard.ct_mortar.name=炸药包
|
item.ammo_standard.ct_mortar.name=炸药包
|
||||||
item.ammo_standard.ct_mortar_charge.name=重型炸药包
|
item.ammo_standard.ct_mortar_charge.name=重型炸药包
|
||||||
@ -6371,7 +6360,7 @@ tile.fusion_component.blanket.name=聚变反应堆内部覆层
|
|||||||
tile.fusion_component.bscco_welded.name=BSCCO超导线圈 (焊接)
|
tile.fusion_component.bscco_welded.name=BSCCO超导线圈 (焊接)
|
||||||
tile.fusion_component.motor.name=聚变反应堆线路管道
|
tile.fusion_component.motor.name=聚变反应堆线路管道
|
||||||
tile.fusion_coupler.name=聚变反应堆等离子体耦合器
|
tile.fusion_coupler.name=聚变反应堆等离子体耦合器
|
||||||
tile.fusion_coupler.desc=将等离子体输出的能量转化为调速管能量。$可以用于点燃第二个等离子体容器中的等离子体。
|
tile.fusion_coupler.desc=将等离子体输出的能量转化为速调管能量。$可以用于点燃第二个等离子体容器中的等离子体。
|
||||||
tile.fusion_klystron.name=速调管
|
tile.fusion_klystron.name=速调管
|
||||||
tile.fusion_klystron.desc=聚变反应堆的动力源。$使用压缩空气进行冷却。
|
tile.fusion_klystron.desc=聚变反应堆的动力源。$使用压缩空气进行冷却。
|
||||||
tile.fusion_mhdt.name=磁流体涡轮发电机
|
tile.fusion_mhdt.name=磁流体涡轮发电机
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 235 B |
Loading…
x
Reference in New Issue
Block a user