From 21232efa21b5f3a4955cbd615c9153a0d5f3172a Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 1 Feb 2021 22:48:50 +0100 Subject: [PATCH] mesothelioma mesothelioma mesothelioma mesothelioma mesothelioma --- src/main/java/assets/hbm/lang/de_DE.lang | 1 + src/main/java/assets/hbm/lang/en_US.lang | 3 +- src/main/java/assets/hbm/lang/zh_CN.lang | 194 +++++++++++++++++- src/main/java/com/hbm/blocks/ModBlocks.java | 43 ++-- .../com/hbm/blocks/generic/BlockClorine.java | 161 +++++++-------- .../hbm/blocks/generic/BlockCoalBurning.java | 67 +++--- .../hbm/blocks/generic/BlockGasAsbestos.java | 35 ++++ .../com/hbm/blocks/generic/BlockGasBase.java | 115 +++++++++++ .../hbm/blocks/generic/BlockGasMonoxide.java | 29 +++ .../com/hbm/blocks/generic/BlockGasRadon.java | 32 +++ .../com/hbm/blocks/generic/BlockOutgas.java | 87 ++++++++ .../com/hbm/handler/EntityEffectHandler.java | 13 ++ .../java/com/hbm/lib/ModDamageSource.java | 1 + src/main/java/com/hbm/main/ClientProxy.java | 20 ++ .../java/com/hbm/main/ModEventHandler.java | 10 +- 15 files changed, 655 insertions(+), 156 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockGasAsbestos.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockGasBase.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockGasMonoxide.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockGasRadon.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockOutgas.java diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 78e630567..464232a1b 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -265,6 +265,7 @@ death.attack.laser=%1$s wurde von %2$s zerbröselt. death.attack.lead=%1$s starb an Bleivergiftung. death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. +death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen. death.attack.mudPoisoning=%1$s starb an Giftschlamm. death.attack.nuclearBlast=%1$s wurde von einer Atomexplosion weggeblasen. death.attack.pc=%1$s wurde zu einer Pfütze in der pinken Wolke. diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 418a470de..4e9e35627 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -265,6 +265,7 @@ death.attack.laser=%1$s was turned into ash by %2$s. death.attack.lead=%1$s died from lead poisoning. death.attack.lunar=%1$s forgot to charge their vital organs. death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. death.attack.mudPoisoning=%1$s died in poisonous mud. death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. death.attack.pc=%1$s was reduced to a puddle in the pink cloud. @@ -577,7 +578,7 @@ item.assembly_lacunae.name=.5mm Assembly item.assembly_lead.name=Glass Bullet Assembly item.assembly_nightmare.name=Nightmare Bullet Assembly item.assembly_nopip.name=.44 Magnum Assembly -item.assembly_nuke.name=Mini Muke Shell +item.assembly_nuke.name=Mini Nuke Shell item.assembly_pip.name=Tainted Bullet Assembly item.assembly_schrabidium.name=Schrabidium Bullet Assembly item.assembly_smg.name=9mm Assembly diff --git a/src/main/java/assets/hbm/lang/zh_CN.lang b/src/main/java/assets/hbm/lang/zh_CN.lang index 10b34c2fa..73c211edf 100644 --- a/src/main/java/assets/hbm/lang/zh_CN.lang +++ b/src/main/java/assets/hbm/lang/zh_CN.lang @@ -7,12 +7,20 @@ itemGroup.tabMachine=NTM 机器 itemGroup.tabNuke=NTM 炸弹 itemGroup.tabMissile=NTM 导弹和卫星 itemGroup.tabWeapon=NTM 武器和炮塔 -itemGroup.tabConsumable=NTM 食物和装备0 +itemGroup.tabConsumable=NTM 食物和装备 achievement.FOEQ.desc=向火星传送信号...其实我是说Duna achievement.FOEQ=飞马座运载火箭和发射架 achievement.assembly.desc=Bobmazon 2级 (装配机) achievement.assembly=制作 +achievement.bossCreeper.desc=核爆爬行者? 那是个什么玩意?! +achievement.bossCreeper=四条腿的行走核弹 +achievement.bossMaskman.desc=大男孩邦克 +achievement.bossMaskman=6个月的强制服务,我只得到一件糟糕的t恤 +achievement.bossMeltdown.desc=比伟大更可怕,但我会竭尽所能 +achievement.bossMeltdown=3.6伦琴 +achievement.bossWorm.desc=法布斯塔夫。我的屁股。你算算吧。 +achievement.bossWorm=拆掉机械蠕虫 achievement.c20_5.desc=??? achievement.c20_5=第20.5章 achievement.c44.desc=镀锌!我是说,锌! @@ -64,6 +72,22 @@ achievement.space=最后战线-呃,算了吧 achievement.tasteofblood.desc=这不是任何测试的一部分 achievement.tasteofblood=血的味道 +armor.blastProtection=修正 %s 的爆炸伤害 +armor.cap=伤害上限 %s +armor.damageModifier=修正 %s 对 %s 的伤害 +armor.electricJetpack=离子喷射背包 +armor.fireproof=防火 +armor.fullSetBonus=全套效果: +armor.geigerHUD=盖革计数器HUD +armor.geigerSound=盖革计数器警报 +armor.glider=滑翔 +armor.gravity=重力修正 %s +armor.hardLanding=硬着陆 +armor.modifier=伤害修正 %s +armor.nullDamage=免疫 %s 伤害 +armor.thermal=热成像 +armor.threshold=伤害阈值 %s +armor.vats=抬头显示器(HUD) chem.ASPHALT=沥青生产 chem.BALEFIRE=野火火箭燃料混合 chem.BP_BIOFUEL=生物燃料酯化 @@ -104,6 +128,8 @@ chem.POLYMER=聚合物合成 chem.PUF6=六氟化钚生产 chem.SAS3=三硫化Sa生产 chem.SATURN=土星锭生产 +chem.SCHRABIDATE=Sa酸铁生产 +chem.SCHRABIDIC=Sa酸合成 chem.SF_BIOFUEL=生物燃料固化 chem.SF_BIOGAS=沼气固化 chem.SF_DIESEL=柴油凝固 @@ -130,6 +156,7 @@ container.amsBase=AMS基座 [开发中] container.amsEmitter=AMS发射极 [开发中] container.amsLimiter=AMS稳能器 [开发中] container.arcFurnace=电弧炉 +container.armorTable=装甲改装台 container.assembler=装配机 container.barrel=桶 container.battery=储能 @@ -246,6 +273,7 @@ death.attack.flamethrower=%1$s 被 %2$s 火化 death.attack.ice=%1$s 被 %2$s 做成了冰棒 death.attack.laser=%1$s 被 %2$s 变成了灰烬 death.attack.lead=%1$s 死于铅中毒 +death.attack.lunar=%1$s 忘记了给重要器官充电 death.attack.meteorite=%1$s 被来自外太空的陨石击中 death.attack.mudPoisoning=%1$s 死于毒泥浆中 death.attack.nuclearBlast=%1$s 被核爆炸飞 @@ -270,19 +298,23 @@ death.attack.teleporter=%1$s 被传送到虚空 entity.entity_cyber_crab.name=赛博螃蟹 entity.entity_elder_one.name=老鸭子 entity.entity_fucc_a_ducc.name=鸭子 -entity.entity_ntm_fbi.name=FBI特工 +entity.entity_ntm_fbi.name=FBI探员 +entity.entity_ntm_radiation_blaze.name=核融元素 entity.entity_mob_hunter_chopper.name=猎人直升机 entity.entity_mob_mask_man.name=面具人 entity.entity_mob_nuclear_creeper.name=核爆爬行者 entity.entity_mob_tainted_creeper.name=污染爬行者 entity.entity_taint_crab.name=污染螃蟹 entity.entity_tesla_crab.name=磁暴螃蟹 +entity.hbm.entity_balls_o_tron.name=机械蠕虫 +entity.hbm.entity_balls_o_tron_seg.name=机械蠕虫 entity.hbm.entity_bullet.name=子弹 entity.hbm.entity_rocket.name=火箭弹 entity.hbm.entity_schrabnel.name=Schrabnel fluid.acid_fluid=酸 fluid.mud_fluid=毒泥 +fluid.schrabidic_fluid=Sa酸 fluid.toxic_fluid=绿色软泥 geiger.chunkRad=当前区块辐射: @@ -325,7 +357,7 @@ hbmfluid.lightoil=轻油 hbmfluid.lubricant=润滑油 hbmfluid.mercury=水银 hbmfluid.naphtha=石脑油 -hbmfluid.nitan=NITAN 100号超级燃料 +hbmfluid.nitan=NITAN©100号超级燃料 hbmfluid.none=无 hbmfluid.oil=原油 hbmfluid.oxygen=液氧 @@ -339,6 +371,7 @@ hbmfluid.plasma_xm=氙-汞等离子体 hbmfluid.puf6=六氟化钚 hbmfluid.reclaimed=再生油 hbmfluid.sas3=三硫化Sa +hbmfluid.schrabidic=Sa酸 hbmfluid.smear=工业油 hbmfluid.steam=蒸汽 hbmfluid.superhotsteam=超热蒸汽 @@ -357,6 +390,13 @@ info.template_out=输出: info.template_out_p=输出: info.template_seconds=秒 info.template_time=生产耗时: +item.ajr_boots.name=AJR 动力装甲靴子 +item.ajr_helmet.name=AJR 动力装甲头盔 +item.ajr_legs.name=AJR 动力装甲护腿 +item.ajr_plate.name=item.ajro_boots.name=AJR 动力装甲靴子 +item.ajro_helmet.name=AJR 动力装甲头盔 +item.ajro_legs.name=AJR 动力装甲护腿 +item.ajro_plate.name=AJR 动力装甲胸甲 item.alloy_axe.name=高级合金斧 item.alloy_boots.name=高级合金靴子 item.alloy_helmet.name=高级合金头盔 @@ -399,6 +439,7 @@ item.ammo_44_star.name=.44马格南子弹[星辉] item.ammo_4gauge.name=四号鹿弹 item.ammo_4gauge_balefire.name=23mm野火榴弹 item.ammo_4gauge_canister.name=23mm 火箭弹[榴霰弹] +item.ammo_4gauge_claw.name=4号爪弹 item.ammo_4gauge_explosive.name=23mm榴弹 item.ammo_4gauge_flechette.name=4号箭霰弹 item.ammo_4gauge_flechette_phosphorus.name=4号箭霰弹[白磷] @@ -406,6 +447,8 @@ item.ammo_4gauge_kampf.name=23mm火箭弹 item.ammo_4gauge_semtex.name=23mm采矿弹药 item.ammo_4gauge_sleek.name=4号鹿弹[IF-R&D] item.ammo_4gauge_slug.name=四号实心独头弹 +item.ammo_4gauge_vampire.name=4号木签弹 +item.ammo_4gauge_void.name=4号电离粒子弹 item.ammo_50ae.name=.50AE子弹 item.ammo_50ae_ap.name=.50AE子弹[AP] item.ammo_50ae_chlorophyte.name=.50AE子弹[叶绿] @@ -440,6 +483,9 @@ item.ammo_5mm_chlorophyte.name=5mm子弹[叶绿] item.ammo_5mm_du.name=5mm子弹[贫铀] item.ammo_5mm_explosive.name=5mm子弹[高爆] item.ammo_5mm_star.name=5mm子弹[星辉] +item.ammo_75bolt.name=.75弹匣(30发) +item.ammo_75bolt_incendiary.name=.75燃烧弹匣(30发) +item.ammo_75bolt_he.name=.75高爆弹匣(30发) item.ammo_9mm.name=9mm子弹 item.ammo_9mm_ap.name=9mm子弹[AP] item.ammo_9mm_chlorophyte.name=9mm子弹[叶绿] @@ -448,6 +494,7 @@ item.ammo_9mm_rocket.name=9mm火箭弹 item.ammo_cell.name=能量单元 item.ammo_container.name=万能弹药盒 +item.ammo_dart.name=塑料镖(凋零) item.ammo_folly.name=银弹 item.ammo_folly_du.name=银弹[贫铀, 不爆炸] item.ammo_folly_nuclear.name=银弹[核子] @@ -469,6 +516,17 @@ item.ammo_grenade_sleek.name=40mm榴弹[IF-R&D] item.ammo_grenade_toxic.name=40mm榴弹[化学] item.ammo_grenade_tracer.name=40mm训练榴弹 +item.ammo_mirv.name=迷你MIRV +item.ammo_mirv_high.name=迷你MIRV (高当量) +item.ammo_mirv_low.name=迷你MIRV (低当量) +item.ammo_mirv_safe.name=迷你MIRV (安全) +item.ammo_mirv_special.name=迷你MILV +item.ammo_nuke.name=迷你核弹 +item.ammo_nuke_high.name=迷你核弹 (高当量) +item.ammo_nuke_low.name=迷你核弹 (低当量) +item.ammo_nuke_pumpkin.name=Pumpkin Bomb +item.ammo_nuke_safe.name=迷你核弹 (安全) +item.ammo_nuke_tots.name=迷你核弹 (幼体) item.ammo_rocket.name=84mm火箭弹 item.ammo_rocket_canister.name=84mm Rocket火箭弹[榴霰弹] item.ammo_rocket_emp.name=84mm火箭弹[EMP] @@ -515,6 +573,7 @@ item.apple_schrabidium.name=Sa326苹果 item.arc_electrode.name=石墨电极 item.arc_electrode_burnt.name=熔化电极 item.arc_electrode_desh.name=Desh电极 +item.armor_polish.name=亮甲™ 装甲抛光剂 item.asbestos_boots.name=防火靴 item.asbestos_cloth.name=防火布 item.asbestos_helmet.name=防火头盔 @@ -530,20 +589,26 @@ item.assembly_lacunae.name=.5mm子弹[待装配] item.assembly_lead.name=玻璃子弹[待装配] item.assembly_nightmare.name=钨子弹[待装配] item.assembly_nopip.name=.44马格南[待装配] +item.assembly_nuke.name=迷你核弹外壳 item.assembly_pip.name=污染子弹[待装配] item.assembly_schrabidium.name=Sa326子弹[待装配] item.assembly_smg.name=9mm子弹[待装配] item.assembly_steel.name=铅子弹[待装配] item.assembly_template.name=装配机模板: item.assembly_uzi.name=.22 LR子弹[待装配] +item.attachment_mask.name=附加型防毒面具 item.australium_iii.name=MkIII寿命延长剂 item.australium_iv.name=MkIV寿命延长剂 item.australium_v.name=MkV寿命延长剂 +item.back_tesla.name=背负式特斯拉线圈 item.balefire_and_ham.name=火腿野火蛋 item.balefire_and_steel.name=野火打火石 item.balefire_scrambled.name=炒野火蛋 item.ballistite.name=混合无烟火药 +item.bandaid.name=邦迪创可贴 +item.bathwater.name=有毒肥皂水 +item.bathwater_mk2.name=有毒肥皂水(马香味) item.battery_advanced.name=高级电池 item.battery_advanced_cell.name=高级电池组 item.battery_advanced_cell_12.name=十二联高级电池组 @@ -576,6 +641,7 @@ item.battery_steam_large.name=大型蒸汽动力储能罐 item.battery_su.name=SU-电池 item.battery_su_l.name=大型SU-电池 item.battery_trixite.name=杂牌Spark电池 +item.beta.name=Bata测试版功能 item.big_sword.name=大剑 item.biomass.name=生物质 item.biomass_compressed.name=压缩生物质 @@ -583,7 +649,9 @@ item.bj_boots.name=月球钉靴 item.bj_helmet.name=热传感器眼罩 item.bj_legs.name=月球控制护腿 item.bj_plate.name=月球控制胸甲 +item.bj_plate_jetpack.name=月球控制胸甲 (带翼) item.black_hole.name=微型黑洞 +item.blade_meteorite.name=陨石刀 item.blade_titanium.name=钛扇片 item.blade_tungsten.name=钨强化扇片 item.blades_advanced_alloy.name=高级合金刀片 @@ -631,6 +699,7 @@ item.boy_target.name=次临界铀235标靶 item.briquette_lignite.name=褐煤煤球 item.bucket_acid.name=一桶酸 item.bucket_mud.name=一桶毒泥 +item.bucket_schrabidic_acid.name=一桶Sa酸 item.bucket_toxic.name=一桶绿色软泥 item.burnt_bark.name=烧焦树皮 @@ -688,6 +757,7 @@ item.canned_tube.name=宇航员食品管 item.canned_tuna.name=金枪鱼罐头 item.canned_yogurt.name=酸奶罐头 item.canteen_13.name=Vault13水壶 +item.canteen_fab.name=极品伏特加 item.canteen_vodka.name=伏特加 item.cap_aluminium.name=铝盖 item.cap_fritz.name=Fritz瓶盖 @@ -753,6 +823,7 @@ item.circuit_targeting_tier5.name=军用级电路板[5级] item.circuit_targeting_tier6.name=军用级电路板[6级] item.cladding_desh.name=Desh覆层 item.cladding_lead.name=铅覆层 +item.cladding_obsidian.name=黑曜石覆层 item.cladding_paint.name=铅涂料 item.cladding_rubber.name=橡胶覆层 item.clip_bf.name=两包野火子弹 @@ -812,7 +883,10 @@ item.coil_gold.name=金线圈 item.coil_gold_torus.name=金环形线圈 item.coil_magnetized_tungsten.name=4000K高温超导线圈 item.coil_tungsten.name=加热线圈 +item.coin_creeper.name=核爆爬行者硬币 item.coin_maskman.name=面具硬币 +item.coin_radiation.name=辐射硬币 +item.coin_worm.name=机械蠕虫硬币 item.coke.name=焦炭 item.combine_scrap.name=CMB钢废料 item.component_emitter.name=发射器组件 @@ -860,6 +934,8 @@ item.cyclotron_tower.name=回旋加速器塔 item.definitelyfood.name=完全不脏牌军粮 item.defuser.name=高科技拆弹装置 +item.demon_core_closed.name=封闭的恶魔核心 +item.demon_core_open.name=打开的恶魔核心 item.desh_axe.name=工人合金斧 item.desh_hoe.name=工人合金锄 item.desh_pickaxe.name=工人合金镐 @@ -895,6 +971,7 @@ item.dynosphere_schrabidium_charged.name=Sa326动力球[带电] item.dysfunctional_reactor.name=失控反应堆 item.egg_balefire.name=野火蛋 +item.egg_balefire.desc=什么样的鸟儿才会下带有放射性的蛋? item.egg_balefire_shard.name=野火蛋碎片 item.elec_axe.name=电锯 item.elec_pickaxe.name=冲击钻 @@ -911,6 +988,11 @@ item.euphemium_stopper.name=Ep-阻滞者 item.factory_core_advanced.name=高级工厂能源组件 item.factory_core_titanium.name=工厂能源组件 +item.fallout.name=一堆辐射尘 +item.fau_boots.name=Fau靴子 +item.fau_helmet.name=Fau头盔 +item.fau_legs.name=Fau护腿 +item.fau_plate.name=Fau胸甲 item.filter_coal.name=活性炭过滤器 item.fins_big_steel.name=大型钢栅格翼 item.fins_flat.name=扁钢外壳 @@ -1026,12 +1108,15 @@ item.gun_bolt_action.name=栓动式霰弹枪[原版] item.gun_bolt_action_ammo.name=12x74 独头弹 item.gun_bolt_action_green.name=栓动式霰弹枪[绿色] item.gun_bolt_action_saturnite.name=土星来复枪 +item.gun_bolter.name=Bolter +item.gun_bolter_digamma.name=迪伽马Bolter item.gun_calamity.name=灾难 item.gun_calamity_ammo.name=.50BMG子弹 item.gun_calamity_dual.name=马鞍枪 item.gun_cryolator.name=冻结者 item.gun_cryolator_ammo.name=急冻单元 item.gun_dampfmaschine.name=绝对不是开玩笑的武器 +item.gun_darter.name=飞镖枪 item.gun_deagle.name=大手枪 item.gun_defabricator.name=毁灭者 item.gun_defabricator_ammo.name=毁灭者能量电池 @@ -1110,6 +1195,7 @@ item.gun_spark_ammo.name=电磁弹 item.gun_stinger.name=FIM-92毒刺导弹 item.gun_stinger_ammo.name=毒刺导弹 item.gun_super_shotgun.name="超级"猎枪 +item.gun_supershotgun.name=超级猎枪 item.gun_thompson.name=汤姆森冲锋枪 item.gun_uboinik.name=Uboinik item.gun_uboinik_ammo.name=12x70 鹿弹 @@ -1144,6 +1230,15 @@ item.hazmat_plate.name=防辐射胸甲 item.hazmat_plate_grey.name=高性能防辐射胸甲 item.hazmat_plate_red.name=高级防辐射胸甲 item.hazmat_red_kit.name=高级防护套装 +item.heart_booster.name=心之增强器 +item.heart_container.name=心之容器 +item.heart_piece.name=心之碎片 +item.hev_battery.name=套装电池 +item.hev_boots.name=HEV Mark IV 靴子 +item.hev_plate.name=HEV Mark IV 胸甲 +item.hev_helmet.name=HEV Mark IV 头盔 +item.hev_legs.name=HEV Mark IV 护腿 +item.horseshoe_magnet.name=马蹄形磁铁 item.hull_big_aluminium.name=大型铝壳 item.hull_big_steel.name=大型钢壳 item.hull_big_titanium.name=大型钛壳 @@ -1151,6 +1246,7 @@ item.hull_small_aluminium.name=小型铝壳 item.hull_small_steel.name=小型钢壳 item.igniter.name=点火器 +item.industrial_magnet.name=工业磁铁 item.inf_antimatter.name=无限反物质罐 item.inf_antischrabidium.name=无限反Sa326罐 item.inf_coolant.name=无限冷却液罐 @@ -1180,6 +1276,8 @@ item.ingot_lanthanium.name=半稳定镧锭 item.ingot_lead.name=铅锭 item.ingot_les.name=低浓度Sa326燃料锭 item.ingot_magnetized_tungsten.name=磁化钨锭 +item.ingot_meteorite.name=陨石锭 +item.ingot_meteorite_forged.name=锻造陨石锭 item.ingot_mox_fuel.name=MOX燃料锭 item.ingot_neptunium.name=镎锭 item.ingot_phosphorus.name=白磷锭 @@ -1193,13 +1291,15 @@ item.ingot_pu240.name=钚240锭 item.ingot_red_copper.name=紫铜 item.ingot_reiium.name=雷恩锭 item.ingot_saturnite.name=土星锭 +item.ingot_schrabidate.name=Sa酸铁锭 item.ingot_schrabidium.name=Sa326锭 item.ingot_schrabidium_fuel.name=Sa326燃料锭 item.ingot_schraranium.name=低丰度Sa326锭 item.ingot_semtex.name=塞姆汀塑胶炸药块 item.ingot_solinium.name=Sa327锭 -item.ingot_starmetal.name=星辉锭 +item.ingot_starmetal.name=§9星辉锭§r item.ingot_steel.name=钢锭 +item.ingot_steel_dusted.name=粉末钢锭 item.ingot_th232.name=钍232锭 item.ingot_thorium_fuel.name=钍燃料锭 item.ingot_titanium.name=钛锭 @@ -1214,6 +1314,16 @@ item.ingot_uranium_fuel.name=铀燃料锭 item.ingot_verticium.name=韦德赛锭 item.ingot_weidanium.name=魏丹锭 +item.ink.name=林 墨水 +item.insert_du.name=贫铀插板 +item.insert_era.name=反应装甲插板 +item.insert_esapi.name=ESAPI插板 +item.insert_kevlar.name=凯夫拉插板 +item.insert_sapi.name=SAPI插板 +item.insert_polonium.name=钋插板 +item.insert_steel.name=重型钢插板 +item.insert_xsapi.name=XSAPI插板 +item.insert_yharonite.name=Yharonite插板 item.jackt.name=时尚防弹夹克 item.jackt2.name=时尚防弹夹克2:东京漂移 item.jetpack_boost.name=弹跳背包 @@ -1235,6 +1345,7 @@ item.lignite.name=褐煤 item.limiter.name=发电机限制器 item.linker.name=链接器 item.lithium.name=锂锭 +item.lodestone.name=磁石 item.loop_stew.name=程序猿专属早餐 item.loops.name=五彩麦圈 item.loot_10.name=10号导弹战利箱 @@ -1268,11 +1379,25 @@ item.memory.name=item.null.name item.mese_gavel.name=Mese槌 item.mese_pickaxe.name=Mese镐 item.meteor_remote.name=陨石召唤器 +item.meteorite_sword.name=陨石剑 +item.meteorite_sword_seared.name=陨石剑(烧焦) +item.meteorite_sword_reforged.name=陨石剑(重铸) +item.meteorite_sword_hardened.name=陨石剑(硬化) +item.meteorite_sword_alloyed.name=陨石剑(合金) +item.meteorite_sword_machined.name=陨石剑(机械加工) +item.meteorite_sword_treated.name=陨石剑(精制) +item.meteorite_sword_etched.name=陨石剑(刻蚀) +item.meteorite_sword_bred.name=陨石剑(繁殖) +item.meteorite_sword_irradiated.name=陨石剑(辐照) +item.meteorite_sword_fused.name=陨石剑(熔融) +item.meteorite_sword_baleful.name=陨石剑(凶恶) item.mike_cooling_unit.name=氘冷却装置 item.mike_core.name=铀涂层氘罐 item.mike_deut.name=氘罐 item.mike_kit.name=常青藤麦克 套件 -item.missile_anti_ballistic.name=反弹道导弹 +item.mirror_tool.name=定日镜调整工具 +item.mirror_tool.linked=设置对齐位置! +item.mirror_tool.desc=右键单击“锅炉”以记忆位置 $再单击“定日镜”可将其转向锅炉item.missile_anti_ballistic.name=反弹道导弹 item.missile_assembly.name=小型导弹[待装配] item.missile_bhole.name=黑洞导弹 item.missile_burst.name=洲际导弹 @@ -1311,6 +1436,7 @@ item.missile_soyuz.name=联盟-FG运载火箭 item.missile_soyuz_lander.name=联盟号轨道舱 item.missile_strong.name=强化型高爆导弹 item.missile_taint.name=污染导弹 +item.morning_glory.name=牵牛花 item.motor.name=马达 item.motor_desh.name=Desh马达 item.mp_c_1.name=1级导弹制导芯片 @@ -1447,6 +1573,7 @@ item.mysteryshovel.name=易碎锹 item.n2_charge.name=大型炸药 item.neutron_reflector.name=中子反射板 item.niter.name=硝石粉 +item.nossy_hat.name=华丽的帽子 item.nothing.name=没有东西 item.nuclear_waste.name=核废料 item.nuclear_waste_tiny.name=小撮核废料 @@ -1505,13 +1632,16 @@ item.padlock.name=挂锁 item.padlock_reinforced.name=加强挂锁 item.padlock_rusty.name=生锈的挂锁 item.padlock_unbreakable.name=牢不可破的挂锁 +item.pads_rubber.name=橡胶垫 +item.pads_slime.name=粘液垫 +item.pads_static.name=静电垫 item.pancake.name=用废金属、螺栓和宝石粉做成的薄饼 item.part_beryllium.name=铍粉盒 item.part_carbon.name=碳粉盒 item.part_copper.name=铜粉盒 item.part_lithium.name=锂粉盒 item.part_plutonium.name=钚粉盒 -item.pch.name=马奶锤 +item.particle_aelectron.name=正电子胶囊 item.particle_amat.name=反物质胶囊 item.particle_aproton.name=反质子胶囊 item.particle_aschrab.name=反Sa326胶囊 @@ -1525,7 +1655,8 @@ item.particle_lead.name=铅离子胶囊 item.particle_muon.name=μ介子胶囊 item.particle_sparkticle.name=Spark粒子胶囊 item.particle_strange.name=奇夸克胶囊 - item.pedestal_steel.name=钢底座 +item.peas.name=豌豆 +item.pedestal_steel.name=钢底座 item.pellet_advanced.name=高级Watz性能增强剂 item.pellet_antimatter.name=反物质团 item.pellet_beryllium.name=铍慢化靶丸 @@ -1533,6 +1664,7 @@ item.pellet_buckshot.name=铅弹丸 item.pellet_canister.name=榴霰弹弹丸 item.pellet_charged.name=电离粒子 item.pellet_chlorophyte.name=叶绿弹丸 +item.pellet_claws.name=金属利爪 item.pellet_cluster.name=爆炸弹丸 item.pellet_coal.name=致密煤 item.pellet_coolant.name=冷却液组 @@ -1543,7 +1675,8 @@ item.pellet_lead.name=铅反射靶丸 item.pellet_les.name=LES Watz靶丸 item.pellet_mercury.name=水银弹丸 item.pellet_mes.name=MES Watz靶丸 -item.pellet_meteorite.name=陨石弹丸item.pellet_neptunium.name=镎Watz靶丸 +item.pellet_meteorite.name=陨石弹丸 +item.pellet_neptunium.name=镎Watz靶丸 item.pellet_rtg.name=钚238放射性同位素燃料靶丸 item.pellet_rtg_polonium.name=钋210放射性同位素燃料靶丸 item.pellet_rtg_weak.name=贫铀放射性同位素燃料靶丸 @@ -1556,6 +1689,8 @@ item.piston_selenium.name=星型发动机活塞 item.plan_c.name=C计划 item.plate_advanced_alloy.name=高级合金板 item.plate_aluminium.name=铝板 +item.plate_armor_ajr.name=铁皮装甲板 +item.plate_armor_hev.name=反应装甲板 item.plate_armor_lunar.name=月球镀层 item.plate_armor_titanium.name=钛装甲板 item.plate_combine_steel.name=CMB钢板 @@ -1635,6 +1770,7 @@ item.powder_power.name=能量粉 item.powder_quartz.name=石英粉 item.powder_red_copper.name=紫铜粉 item.powder_reiium.name=雷恩粉 +item.powder_schrabidate.name=Sa酸铁粉 item.powder_schrabidium.name=Sa326粉 item.powder_semtex_mix.name=塞姆汀塑胶炸药混合物 item.powder_spark_mix.name=Spark混合物 @@ -1659,6 +1795,7 @@ item.primer_buckshot.name=鹿弹底火[x12] item.prototype_kit.name=原型 套件 item.pudding.name=布丁 +item.quartz_plutonium.name=深成石英 item.radaway.name=消辐宁 item.radaway_flush.name=超级消辐宁 item.radaway_strong.name=强效消辐宁 @@ -1722,7 +1859,8 @@ item.rod_mox_fuel.name=MOX燃料棒 item.rod_mox_fuel_depleted.name=枯竭MOX燃料棒 item.rod_neptunium.name=镎燃料棒 item.rod_of_discord.name=混沌传送杖 - item.rod_plutonium.name=钚棒item.rod_plutonium_fuel.name=钚燃料棒 +item.rod_plutonium.name=钚棒 +item.rod_plutonium_fuel.name=钚燃料棒 item.rod_plutonium_fuel_depleted.name=枯竭钚燃料棒 item.rod_polonium.name=钋棒 item.rod_pu238.name=钚238燃料棒 @@ -1827,6 +1965,9 @@ item.security_plate.name=防护胸甲 item.seg_10.name=10号连接器 item.seg_15.name=15号连接器 item.seg_20.name=20号连接器 +item.serum.name=血清 +item.servo_set.name=伺服装置 +item.servo_set_desh.name=Desh伺服装置 item.shimmer_axe.name=闪耀斧 item.shimmer_axe_head.name=重型斧头 item.shimmer_handle.name=强化聚合物手柄 @@ -1844,8 +1985,11 @@ item.solinium_igniter.name=Sa327脉冲点火器 item.solinium_kit.name=蔚蓝洗礼套件 item.solinium_propellant.name=Sa327压缩装药 item.sopsign.name=Sop标志战斧 +item.spawn_worm.name=机械蠕虫 item.sphere_steel.name=钢球 -item.spongebob_macaroni.name=海绵宝宝通心粉item.stamp_357.name=.357马格南锻模 +item.spider_milk.name=一瓶蜘蛛奶 +item.spongebob_macaroni.name=海绵宝宝通心粉 +item.stamp_357.name=.357马格南锻模 item.stamp_44.name=.44马格南锻模 item.stamp_50.name=大口径锻模 item.stamp_9.name=小口径锻模 @@ -2033,6 +2177,7 @@ item.weapon_pipe_lead.name=手动覆盖控制 item.weapon_pipe_rusty.name=姿态调节器 item.weapon_saw.name=肢解骨锯 item.weaponized_starblaster_cell.name=§c星际爆能电池§r +item.wd40.name=VT-40 item.wire_advanced_alloy.name=超导体 item.wire_aluminium.name=铝线 item.wire_copper.name=铜线 @@ -2096,10 +2241,12 @@ tile.block_combine_steel.name=CMB钢块 tile.block_copper.name=铜块 tile.block_daffergon.name=达夫贡块 tile.block_desh.name=Desh块 +tile.block_dineutronium.name=双聚中子态素块 tile.block_dura_steel.name=强化高速钢块 tile.block_electrical_scrap.name=电子废料块 tile.block_euphemium.name=Ep块 tile.block_euphemium_cluster.name=Ep刻蚀Sa326团 +tile.block_fallout.name=辐射尘块 tile.block_fiberglass.name=玻璃纤维卷 tile.block_fluorite.name=氟石块 tile.block_insulator.name=绝缘卷 @@ -2123,9 +2270,11 @@ tile.block_pu240.name=钚240块 tile.block_red_copper.name=紫铜块 tile.block_red_phosphorus.name=红磷块 tile.block_reiium.name=雷恩块 +tile.block_schrabidate.name=Sa酸铁块 tile.block_schrabidium.name=Sa326块 tile.block_schrabidium_cluster.name=Sa326团 tile.block_schrabidium_fuel.name=Sa326燃料块 +tile.block_schraranium.name=低丰度Sa326块 tile.block_scrap.name=废品块 tile.block_solinium.name=Sa327块 tile.block_starmetal.name=星辉块 @@ -2166,6 +2315,7 @@ tile.brick_dungeon_tile.name=硒铜瓦 tile.brick_jungle.name=硫砷钢砖块 tile.brick_jungle_circle.name=机械师之环 tile.brick_jungle_cracked.name=开裂硫砷钢砖块 +tile.brick_jungle_fragile.name=粉碎硫砷钢砖块 tile.brick_jungle_glyph.name=硫砷钢石雕砖块 tile.brick_jungle_lava.name=岩浆硫砷钢砖块 tile.brick_jungle_mystic.name=奥术硫砷钢砖块 @@ -2219,6 +2369,7 @@ tile.dfc_stabilizer.name=DFC稳定器 tile.drill_pipe.name=钻杆 tile.dummy_block.name=虚拟方块 tile.dummy_port.name=虚拟方块[电力接口] +tile.dungeon_chain.name=金属链 tile.emp_bomb.name=EMP炸弹 tile.factory_advanced_conductor.name=高级工厂电力端口 tile.factory_advanced_core.name=高级工厂核心组件 @@ -2228,7 +2379,12 @@ tile.factory_titanium_conductor.name=工厂电力端口 tile.factory_titanium_core.name=工厂核心组件 tile.factory_titanium_furnace.name=工厂端口 tile.factory_titanium_hull.name=工厂外壳 +tile.fallout.name=辐射尘 tile.fence_metal.name=铁丝网围栏 +tile.fireworks.name=烟花箱 +tile.fireworks.charges=已充能: %s +tile.fireworks.message=信息: %s +tile.fireworks.color=颜色: %s tile.flame_war.name=盒中论战 tile.float_bomb.name=悬浮炸弹 tile.fluid_duct.name=通用流体管道 @@ -2283,6 +2439,7 @@ tile.lox_barrel.name=液氧桶 tile.machine_amgen.name=环境辐射发电机 tile.machine_arc_furnace_off.name=电弧炉 tile.machine_arc_furnace_on.name=电弧炉 +tile.machine_armor_table.name=装甲改装台 tile.machine_assembler.name=装配机 tile.machine_battery.name=蓄电池 tile.machine_battery_potato.name=马铃薯电池组 @@ -2300,6 +2457,7 @@ tile.machine_converter_he_rf.name=HE→RF转换器 tile.machine_converter_rf_he.name=RF→HE转换器 tile.machine_crystallizer.name=矿物酸化器 tile.machine_cyclotron.name=回旋加速器 +tile.machine_detector.name=功率检测器 tile.machine_deuterium.name=氘提取器 tile.machine_diesel.name=柴油发电机 tile.machine_difurnace_off.name=高炉 @@ -2353,6 +2511,7 @@ tile.machine_schrabidium_transmutator.name=Sa326嬗变装置 tile.machine_selenium.name=星型发动机 tile.machine_shredder.name=粉碎机 tile.machine_siren.name=警报器 +tile.machine_solar_boiler.name=太阳能锅炉 tile.machine_spp_bottom.name=ZPE电位发生器 [底部] tile.machine_spp_top.name=ZPE电位发生器 [顶部] tile.machine_telelinker.name=炮塔ID管理器 @@ -2380,6 +2539,7 @@ tile.mine_fat.name=核地雷 tile.mine_he.name=反坦克地雷 tile.mine_shrap.name=破片地雷 tile.mud_block.name=毒泥 +tile.muffler.name=消声器 tile.mush.name=发光真菌 tile.ntm_dirt.name=泥土 tile.nuke_boy.name=小男孩 @@ -2408,6 +2568,7 @@ tile.ore_daffergon.name=达夫贡矿石 tile.ore_fluorite.name=氟石矿石 tile.ore_gneiss_asbestos.name=石棉矿页岩 tile.ore_gneiss_copper.name=铜矿页岩 +tile.ore_gneiss_gas.name=气页岩 tile.ore_gneiss_gold.name=金矿页岩 tile.ore_gneiss_iron.name=铁矿页岩 tile.ore_gneiss_lithium.name=锂矿页岩 @@ -2506,6 +2667,7 @@ tile.sellafield_3.name=灼热的放射性熔融凝固物 tile.sellafield_4.name=地狱般的放射性熔融凝固物 tile.sellafield_core.name=放射性熔融凝固物核心 tile.sellafield_slaked.name=消沉的放射性熔融凝固物 +tile.solar_mirror.name=定日镜 tile.soyuz_capsule.name=货物着陆舱 tile.soyuz_launcher.name=联盟号发射平台 tile.spikes.name=地刺 @@ -2563,6 +2725,17 @@ tile.watz_end.name=Watz反应堆稳定元件 tile.watz_hatch.name=Watz反应堆端口 tile.yellow_barrel.name=核废料桶 +trait.blinding=致盲 +trait.breeding=可在增殖反应堆中工作 %s 次 +trait.digamma=迪伽马辐射 +trait.drop=掉落物危险 +trait.furnace=可在核熔炉中工作 %s 次 +trait.heat=提供 %s 热量 +trait.hlParticle=粒子半衰期: %s +trait.hlPlayer=玩家半衰期: %s +trait.hot=自燃/高温 +trait.radioactive=放射性 +trait.radResistance=辐射抗性: %s tool.ability.centrifuge=自动离心 tool.ability.crystallizer=自动结晶 tool.ability.explosion=爆破 @@ -2581,4 +2754,3 @@ weapon.ability.radiation=辐射 weapon.ability.phosphorus=白磷刀刃 weapon.ability.stun=震撼 weapon.ability.vampire=吸血 - diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 597d0fd37..d328ab21e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -807,6 +807,10 @@ public class ModBlocks { public static Block vent_chlorine_seal; public static Block chlorine_gas; + public static Block gas_radon; + public static Block gas_monoxide; + public static Block gas_asbestos; + public static Block absorber; public static Block absorber_red; public static Block absorber_green; @@ -899,8 +903,8 @@ public class ModBlocks { test_missile = new TestMissile(Material.iron).setBlockName("test_missile").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_missile"); - ore_uranium = new BlockGeneric(Material.rock).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); - ore_uranium_scorched = new BlockGeneric(Material.rock).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); + ore_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); + ore_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); ore_thorium = new BlockGeneric(Material.rock).setBlockName("ore_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_thorium"); @@ -914,14 +918,14 @@ public class ModBlocks { ore_schrabidium = new BlockOre(Material.rock, 0.1F, 0.5F).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); ore_lignite = new BlockOre(Material.rock).setBlockName("ore_lignite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_lignite"); - ore_asbestos = new BlockOre(Material.rock).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); + ore_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); - ore_nether_coal = new BlockCoalBurning(Material.rock).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); + ore_nether_coal = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); - ore_nether_uranium = new BlockOre(Material.rock).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); - ore_nether_uranium_scorched = new BlockOre(Material.rock).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); + ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); + ore_nether_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); @@ -942,10 +946,10 @@ public class ModBlocks { stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold"); - ore_gneiss_uranium = new BlockOre(Material.rock).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); - ore_gneiss_uranium_scorched = new BlockOre(Material.rock).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); + ore_gneiss_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); + ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper"); - ore_gneiss_asbestos = new BlockOre(Material.rock).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); + ore_gneiss_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium"); ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium"); ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); @@ -1014,7 +1018,7 @@ public class ModBlocks { block_yellowcake = new BlockFallingRad(Material.sand, 0.5F, 3F).setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); - block_asbestos = new BlockGeneric(Material.cloth).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); + block_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); block_cobalt = new BlockGeneric(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); block_white_phosphorus = new BlockGeneric(Material.rock).setBlockName("block_white_phosphorus").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_white_phosphorus"); @@ -1044,7 +1048,7 @@ public class ModBlocks { deco_steel = new BlockOre(Material.iron).setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel"); deco_lead = new BlockOre(Material.iron).setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); deco_beryllium = new BlockOre(Material.iron).setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); - deco_asbestos = new BlockOre(Material.iron).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); + deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":hazmat"); @@ -1068,15 +1072,15 @@ public class ModBlocks { brick_concrete_cracked = new BlockGeneric(Material.rock).setBlockName("brick_concrete_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(2000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_cracked"); brick_concrete_broken = new BlockGeneric(Material.rock).setBlockName("brick_concrete_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(1500.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_broken"); brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); - brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); + brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10000.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); - brick_asbestos = new BlockGeneric(Material.rock).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); + brick_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); - tile_lab = new BlockGeneric(Material.rock).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); - tile_lab_cracked = new BlockGeneric(Material.rock).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); - tile_lab_broken = new BlockGeneric(Material.rock).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); + tile_lab = new BlockOutgas(Material.rock, true, 5, false).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); + tile_lab_cracked = new BlockOutgas(Material.rock, true, 5, false).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); + tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); block_meteor = new BlockOre(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor"); block_meteor_cobble = new BlockOre(Material.rock).setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble"); @@ -1515,6 +1519,10 @@ public class ModBlocks { vent_pink_cloud = new BlockVent(Material.iron).setBlockName("vent_pink_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_pink_cloud"); vent_chlorine_seal = new BlockClorineSeal(Material.iron).setBlockName("vent_chlorine_seal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); chlorine_gas = new BlockClorine(Material.cloth).setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); + + gas_radon = new BlockGasRadon().setBlockName("gas_radon").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); + gas_monoxide = new BlockGasMonoxide().setBlockName("gas_monoxide").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); + gas_asbestos = new BlockGasAsbestos().setBlockName("gas_asbestos").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); absorber = new BlockAbsorber(Material.iron, 2.5F).setBlockName("absorber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber"); absorber_red = new BlockAbsorber(Material.iron, 10F).setBlockName("absorber_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_red"); @@ -2316,6 +2324,9 @@ public class ModBlocks { GameRegistry.registerBlock(vent_pink_cloud, vent_pink_cloud.getUnlocalizedName()); GameRegistry.registerBlock(vent_chlorine_seal, vent_chlorine_seal.getUnlocalizedName()); GameRegistry.registerBlock(chlorine_gas, chlorine_gas.getUnlocalizedName()); + GameRegistry.registerBlock(gas_radon, gas_radon.getUnlocalizedName()); + GameRegistry.registerBlock(gas_monoxide, gas_monoxide.getUnlocalizedName()); + GameRegistry.registerBlock(gas_asbestos, gas_asbestos.getUnlocalizedName()); //??? GameRegistry.registerBlock(crystal_virus, crystal_virus.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockClorine.java b/src/main/java/com/hbm/blocks/generic/BlockClorine.java index 5c25158f0..85c301063 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockClorine.java +++ b/src/main/java/com/hbm/blocks/generic/BlockClorine.java @@ -21,98 +21,87 @@ import net.minecraft.world.World; public class BlockClorine extends Block { - public BlockClorine(Material p_i45394_1_) { + public BlockClorine(Material p_i45394_1_) { super(p_i45394_1_); - this.setTickRandomly(true); + this.setTickRandomly(true); } @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { - - return super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); - - /*Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - - if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_])) - { - return true; - } - - if (block == this) - { - return false; - } - - return block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_);*/ - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) - { - world.setBlock(x, y, z, Blocks.air); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) - { - return null; - } - - @Override - public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) - { - if (entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) { - - if(world.rand.nextInt(25) == 0) - ArmorUtil.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2)); - - } else if (entity instanceof EntityLivingBase) { - ((EntityLivingBase) entity) - .addPotionEffect(new PotionEffect(Potion.blindness.getId(), 5 * 20, 0)); - ((EntityLivingBase) entity) - .addPotionEffect(new PotionEffect(Potion.poison.getId(), 20 * 20, 2)); - ((EntityLivingBase) entity) - .addPotionEffect(new PotionEffect(Potion.wither.getId(), 1 * 20, 1)); - ((EntityLivingBase) entity) - .addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1)); - ((EntityLivingBase) entity) - .addPotionEffect(new PotionEffect(Potion.digSlowdown.getId(), 30 * 20, 2)); - } - } + public boolean isOpaqueCube() { + return false; + } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + + return super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + + /* + * Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, + * p_149646_4_); + * + * if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, + * p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - + * Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - + * Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - + * Facing.offsetsZForSide[p_149646_5_])) { return true; } + * + * if (block == this) { return false; } + * + * return block == this ? false : + * super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, + * p_149646_4_, p_149646_5_); + */ + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + world.setBlock(x, y, z, Blocks.air); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { return null; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() - { - return 1; - } - - public boolean canCollideCheck(int p_149678_1_, boolean p_149678_2_) - { - return false; - } - - public boolean isReplaceable(IBlockAccess world, int x, int y, int z) - { - return true; - } + } + + @Override + public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) { + if(entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity)) { + + if(world.rand.nextInt(25) == 0) + ArmorUtil.damageSuit((EntityPlayer) entity, 3, world.rand.nextInt(2)); + + } else if(entity instanceof EntityLivingBase) { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.blindness.getId(), 5 * 20, 0)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 20 * 20, 2)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 1 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.digSlowdown.getId(), 30 * 20, 2)); + } + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + public boolean canCollideCheck(int p_149678_1_, boolean p_149678_2_) { + return false; + } + + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { + return true; + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index a70e463c5..82fadc35b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -12,55 +12,56 @@ import net.minecraft.item.Item; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockCoalBurning extends Block { +public class BlockCoalBurning extends BlockOutgas { public BlockCoalBurning(Material mat) { - super(mat); + super(mat, true, 1, true); + this.setTickRandomly(true); } - - @Override + + @Override @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand) { - super.randomDisplayTick(world, x, y, z, rand); - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - if(dir == ForgeDirection.DOWN) - continue; - - if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).getMaterial() == Material.air) { + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + super.randomDisplayTick(world, x, y, z, rand); - double ix = x + 0.5F + dir.offsetX + rand.nextDouble() - 0.5D; - double iy = y + 0.5F + dir.offsetY + rand.nextDouble() - 0.5D; - double iz = z + 0.5F + dir.offsetZ + rand.nextDouble() - 0.5D; + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - if(dir.offsetX != 0) - ix = x + 0.5F + dir.offsetX * 0.5 + rand.nextDouble() * 0.125 * dir.offsetX; - if(dir.offsetY != 0) - iy = y + 0.5F + dir.offsetY * 0.5 + rand.nextDouble() * 0.125 * dir.offsetY; - if(dir.offsetZ != 0) - iz = z + 0.5F + dir.offsetZ * 0.5 + rand.nextDouble() * 0.125 * dir.offsetZ; + if(dir == ForgeDirection.DOWN) + continue; - world.spawnParticle("flame", ix, iy, iz, 0.0, 0.0, 0.0); - world.spawnParticle("smoke", ix, iy, iz, 0.0, 0.0, 0.0); - world.spawnParticle("smoke", ix, iy, iz, 0.0, 0.1, 0.0); - } - } - } + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).getMaterial() == Material.air) { + + double ix = x + 0.5F + dir.offsetX + rand.nextDouble() - 0.5D; + double iy = y + 0.5F + dir.offsetY + rand.nextDouble() - 0.5D; + double iz = z + 0.5F + dir.offsetZ + rand.nextDouble() - 0.5D; + + if(dir.offsetX != 0) + ix = x + 0.5F + dir.offsetX * 0.5 + rand.nextDouble() * 0.125 * dir.offsetX; + if(dir.offsetY != 0) + iy = y + 0.5F + dir.offsetY * 0.5 + rand.nextDouble() * 0.125 * dir.offsetY; + if(dir.offsetZ != 0) + iz = z + 0.5F + dir.offsetZ * 0.5 + rand.nextDouble() * 0.125 * dir.offsetZ; + + world.spawnParticle("flame", ix, iy, iz, 0.0, 0.0, 0.0); + world.spawnParticle("smoke", ix, iy, iz, 0.0, 0.0, 0.0); + world.spawnParticle("smoke", ix, iy, iz, 0.0, 0.1, 0.0); + } + } + } @Override public Item getItemDropped(int i, Random rand, int j) { return null; - } + } public void breakBlock(World world, int x, int y, int z, Block block, int i) { super.breakBlock(world, x, y, z, block, i); - + world.setBlock(x, y, z, Blocks.fire); } - @Override + @Override public void onEntityWalking(World world, int x, int y, int z, Entity entity) { - entity.setFire(3); - } + entity.setFire(3); + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGasAsbestos.java b/src/main/java/com/hbm/blocks/generic/BlockGasAsbestos.java new file mode 100644 index 000000000..db452f4f5 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockGasAsbestos.java @@ -0,0 +1,35 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockGasAsbestos extends BlockGasBase { + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + super.randomDisplayTick(world, x, y, z, rand); + + if(world.rand.nextInt(5) == 0) + world.spawnParticle("townaura", x + rand.nextFloat(), y + rand.nextFloat(), z + rand.nextFloat(), 0.0D, 0.0D, 0.0D); + } + + @Override + public ForgeDirection getFirstDirection(World world, int x, int y, int z) { + + if(world.rand.nextInt(5) == 0) + return ForgeDirection.DOWN; + + return ForgeDirection.getOrientation(world.rand.nextInt(6)); + } + + @Override + public ForgeDirection getSecondDirection(World world, int x, int y, int z) { + return this.randomHorizontal(world); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockGasBase.java b/src/main/java/com/hbm/blocks/generic/BlockGasBase.java new file mode 100644 index 000000000..be82d2f71 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockGasBase.java @@ -0,0 +1,115 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public abstract class BlockGasBase extends Block { + + public BlockGasBase() { + super(Material.cloth); + this.setHardness(0.0F); + this.setResistance(0.0F); + this.lightOpacity = 0; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { + return null; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + /* + * @Override + * + * @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 1; } + */ + + @Override + public int getRenderType() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return false; + } + + @Override + public boolean canCollideCheck(int p_149678_1_, boolean p_149678_2_) { + return false; + } + + @Override + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + + if(!world.isRemote) + world.scheduleBlockUpdate(x, y, z, this, 10); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + if(!world.isRemote) { + + if(!tryMove(world, x, y, z, getFirstDirection(world, x, y, z))) + if(!tryMove(world, x, y, z, getSecondDirection(world, x, y, z))) + world.scheduleBlockUpdate(x, y, z, this, getDelay(world)); + } + } + + public abstract ForgeDirection getFirstDirection(World world, int x, int y, int z); + + public ForgeDirection getSecondDirection(World world, int x, int y, int z) { + return getFirstDirection(world, x, y, z); + } + + public boolean tryMove(World world, int x, int y, int z, ForgeDirection dir) { + + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { + world.setBlockToAir(x, y, z); + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, this); + world.scheduleBlockUpdate(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, this, getDelay(world)); + return true; + } + + return false; + } + + public int getDelay(World world) { + return 2; + } + + public ForgeDirection randomHorizontal(World world) { + return ForgeDirection.getOrientation(world.rand.nextInt(4) + 2); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockGasMonoxide.java b/src/main/java/com/hbm/blocks/generic/BlockGasMonoxide.java new file mode 100644 index 000000000..fb989654f --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockGasMonoxide.java @@ -0,0 +1,29 @@ +package com.hbm.blocks.generic; + +import com.hbm.lib.ModDamageSource; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockGasMonoxide extends BlockGasBase { + + @Override + public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) { + + if(entity instanceof EntityLivingBase) { + ((EntityLivingBase)entity).attackEntityFrom(ModDamageSource.monoxide, 1F); + } + } + + @Override + public ForgeDirection getFirstDirection(World world, int x, int y, int z) { + return ForgeDirection.DOWN; + } + + @Override + public ForgeDirection getSecondDirection(World world, int x, int y, int z) { + return this.randomHorizontal(world); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockGasRadon.java b/src/main/java/com/hbm/blocks/generic/BlockGasRadon.java new file mode 100644 index 000000000..019559ca1 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockGasRadon.java @@ -0,0 +1,32 @@ +package com.hbm.blocks.generic; + +import com.hbm.potion.HbmPotion; +import com.hbm.util.ArmorUtil; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockGasRadon extends BlockGasBase { + + @Override + public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) { + + if(entity instanceof EntityLivingBase && !(entity instanceof EntityPlayer && ArmorUtil.checkForGasMask((EntityPlayer) entity))) { + ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30, 1)); + } + } + + @Override + public ForgeDirection getFirstDirection(World world, int x, int y, int z) { + return ForgeDirection.DOWN; + } + + @Override + public ForgeDirection getSecondDirection(World world, int x, int y, int z) { + return this.randomHorizontal(world); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java new file mode 100644 index 000000000..e52b38bde --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -0,0 +1,87 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockOutgas extends BlockOre { + + boolean randomTick; + int rate; + boolean onBreak; + + public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak) { + super(mat); + this.setTickRandomly(randomTick); + this.randomTick = randomTick; + this.rate = rate; + this.onBreak = onBreak; + } + + public int tickRate(World p_149738_1_) { + return rate; + } + + private Block getGas() { + + if(this == ModBlocks.ore_uranium || this == ModBlocks.ore_uranium_scorched || + this == ModBlocks.ore_gneiss_uranium || this == ModBlocks.ore_gneiss_uranium_scorched || + this == ModBlocks.ore_nether_uranium || this == ModBlocks.ore_nether_uranium_scorched) { + return ModBlocks.gas_radon; + } + + if(this == ModBlocks.ore_coal_oil_burning || this == ModBlocks.ore_nether_coal) { + return ModBlocks.gas_monoxide; + } + + if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos || + this == ModBlocks.block_asbestos || this == ModBlocks.deco_asbestos || + this == ModBlocks.brick_asbestos || this == ModBlocks.tile_lab || + this == ModBlocks.tile_lab_cracked || this == ModBlocks.tile_lab_broken) { + return ModBlocks.gas_asbestos; + } + + return Blocks.air; + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + + if(this.randomTick && getGas() == ModBlocks.gas_asbestos) { + + if(world.getBlock(x, y + 1, z) == Blocks.air) { + + if(world.rand.nextInt(10) == 0) + world.setBlock(x, y + 1, z, ModBlocks.gas_asbestos); + + for(int i = 0; i < 5; i++) + world.spawnParticle("townaura", x + world.rand.nextFloat(), y + 1.1, z + world.rand.nextFloat(), 0.0D, 0.0D, 0.0D); + } + } + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + ForgeDirection dir = ForgeDirection.getOrientation(rand.nextInt(6)); + + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, getGas()); + } + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + if(onBreak) { + world.setBlock(x, y, z, getGas()); + } + } +} diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 095310258..151b3f3f8 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -14,6 +14,8 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; @@ -71,12 +73,23 @@ public class EntityEffectHandler { if(HbmLivingProps.getRadiation(entity) > 600 && world.getTotalWorldTime() % 600 == 0) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("type", "bloodvomit"); + nbt.setInteger("entity", entity.getEntityId()); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + + world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F); + entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19)); + } else if(HbmLivingProps.getRadiation(entity) > 200 && world.getTotalWorldTime() % 1200 == 0) { + NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vomit"); nbt.setInteger("entity", entity.getEntityId()); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); world.playSoundEffect(ix, iy, iz, "hbm:entity.vomit", 1.0F, 1.0F); + entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19)); + } } diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index 46939fc50..7966cba5a 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -48,6 +48,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource exhaust = (new DamageSource("exhaust")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource spikes = (new DamageSource("spikes")).setDamageBypassesArmor(); public static DamageSource lunar = (new DamageSource("lunar")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource monoxide = (new DamageSource("monoxide")).setDamageIsAbsolute().setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index da590c660..fc9553d3e 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1076,6 +1076,26 @@ public class ClientProxy extends ServerProxy { Entity e = world.getEntityByID(data.getInteger("entity")); + if(e instanceof EntityLivingBase) { + + double ix = e.posX; + double iy = e.posY - e.getYOffset() + e.getEyeHeight() + 1; + double iz = e.posZ; + + Vec3 vec = e.getLookVec(); + + for(int i = 0; i < 25; i++) { + EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, (vec.xCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.yCoord + rand.nextGaussian() * 0.2) * 0.2, (vec.zCoord + rand.nextGaussian() * 0.2) * 0.2, Blocks.stained_hardened_clay, 13); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + } + + if("bloodvomit".equals(type)) { + + Entity e = world.getEntityByID(data.getInteger("entity")); + if(e instanceof EntityLivingBase) { double ix = e.posX; diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 85ddff0c1..eb3bcb2ff 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -187,7 +187,7 @@ public class ModEventHandler event.entityLiving.dropItem(ModItems.spider_milk, 1); } - if(event.entityLiving instanceof EntityAnimal && event.entityLiving.getRNG().nextInt(5) == 0) { + if(event.entityLiving instanceof EntityAnimal && event.entityLiving.getRNG().nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.bandaid, 1); } @@ -485,8 +485,6 @@ public class ModEventHandler entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 2)); if(event.world.rand.nextInt(700) == 0) entity.addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 20, 1)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 5 * 20, 3)); } else if(eRad >= 600) { if(event.world.rand.nextInt(300) == 0) @@ -497,8 +495,6 @@ public class ModEventHandler entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 10 * 20, 2)); if(event.world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.poison.id, 3 * 20, 1)); - if(event.world.rand.nextInt(300) == 0) - entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 3 * 20, 3)); } else if(eRad >= 400) { if(event.world.rand.nextInt(300) == 0) @@ -507,16 +503,12 @@ public class ModEventHandler entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 0)); if(event.world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 1)); - if(event.world.rand.nextInt(500) == 0) - entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 3 * 20, 2)); } else if(eRad >= 200) { if(event.world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); if(event.world.rand.nextInt(500) == 0) entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 0)); - if(event.world.rand.nextInt(700) == 0) - entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 3 * 20, 2)); if(entity instanceof EntityPlayer) ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadPoison);