JAVA刷TNT_Java Blocks.tnt方法代码示例
import net.minecraft.init.Blocks; //导入方法依赖的package包/类
@Override
public void onImpact(MovingObjectPosition target)// Server-side
{
if (target.entityHit != null) // Hit a entity
{
// Damage
target.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.shootingEntity), (float)this.damage);
target.entityHit.hurtResistantTime = 0; // No immunity frames
// Knockback
double f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
if (f3 > 0.0F)
{
target.entityHit.addVelocity(
this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3,
0.1D,
this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3
);
}
// Effect
if ( !(target.entityHit instanceof EntityEnderman) ) { target.entityHit.setFire(this.fireDuration); }
this.setDead();
}
else // Hit a block
{
Block block = this.worldObj.getBlock(target.blockX, target.blockY, target.blockZ);
// Glass breaking, once
if (Helper.tryBlockBreak(this.worldObj, this, target, 1) && this.targetsHit < 1) { this.targetsHit += 1; }
else { this.setDead(); }// else, either we didn't break that block or we already hit one entity
// Let's ignite TNT explicitly here.
if (block == Blocks.tnt)
{
this.worldObj.setBlockToAir(target.blockX, target.blockY, target.blockZ); // setBlockToAir
EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(this.worldObj,
(double)((float)target.blockX + 0.5F),
(double)((float)target.blockY + 0.5F),
(double)((float)target.blockZ + 0.5F),
this.shootingEntity);
this.worldObj.spawnEntityInWorld(entitytntprimed);// This is TNT, so begone with that block and replace it with primed TNT
this.worldObj.playSoundAtEntity(entitytntprimed, "random.fuse", 1.0F, 1.0F);
}
// else, block is not TNT
}
if (!this.isInWater()) // Only explode if we're not in water
{
boolean griefing = true;// Allowed by default
if (this.shootingEntity instanceof EntityPlayer)
{
griefing = this.dmgTerrain;// It's up to player settings to allow/forbid this
}
else
{
griefing = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing");// Are we allowed to break things?
}
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float) this.explosionSize, griefing);
// 4.0F is TNT, false is for "not flaming"
// Editchevsky: Actually, false is double-used for "don't damage terrain"
}
}
JAVA刷TNT_Java Blocks.tnt方法代码示例相关推荐
- cdate在java中_Java Calendar.add方法代码示例
本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...
- java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例
import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 /** * 生成更新Sql * @param entity * @ ...
- java中setattribute_Java Files.setAttribute方法代码示例
import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...
- java default locale_Java JSON.defaultLocale方法代码示例
import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...
- java sql xml_Java ResultSet.getSQLXML方法代码示例
import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...
- java get timestamp_Java Timestamp.getTime方法代码示例
import java.sql.Timestamp; //导入方法依赖的package包/类 /** * Tests fix for BUG#5874, timezone correction goe ...
- java的setvisible_Java Container.setVisible方法代码示例
import java.awt.Container; //导入方法依赖的package包/类 public static void loadOptions(final String name, fin ...
- java byte xml_Java XMLInputSource.setByteStream方法代码示例
import org.apache.xerces.xni.parser.XMLInputSource; //导入方法依赖的package包/类 /** * Resolves an external p ...
- JAVA中rootpanel_Java JPanel.setFocusCycleRoot方法代码示例
import javax.swing.JPanel; //导入方法依赖的package包/类 @Override public void actionPerformed(ActionEvent e) ...
最新文章
- PhalGo-Request
- 新建idea加入的一句话,键值对
- sqlsourcesafe mysql_mysql权限问题,看不到其它的库!
- android qq 登陆 简书,使用QQ第三方登录
- 好用的Perl包 Class::Ref
- python爬取的内容不是中午_大年初六中午,全国各区县哪里最冷?
- 227 Puzzle
- dnf如何快速拾取物品_极简断舍离|如何快速处理闲置物品?
- 南充高中计算机老师,2021四川南充教师招聘考试高中信息技术说课稿之《表格的装饰》...
- 操作系统中进程的同步、互斥、通信的区别,进程与线程同步知识
- 作曲大师2019破解版|作曲大师音乐梦想家2019破解版下载 v2019.9(附安装破解图文教程)
- ANYCUBIC Photon Mono 4K光固化打印机快速上手(多次试错的经验积累)
- 2021面试题——微信小程序面试题
- 2021-5月13日-今日收获
- pbcms 文章新增 修改 实现自动百度推送
- 关于XUtils的View 注入解析
- 【合天网安】DoraBox靶场之Xss跨站
- 下载IE6安装文件到本地的方法
- 机器人Scribit_Scribit墙壁绘图机器人:一款可以在墙上涂鸦和创作的机器人
- 个人对粗糙集的一些理解和简单举例
热门文章
- matlab 低秩矩阵分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
- Arduino--蓝牙
- SigmaStar SSD201 操作记录
- Android 6.0动态权限
- TCP/IP详解学习笔记-基本概念
- 小米手机怎么获取 ROOT 权限
- 通过getGeneratedKeys获取记录的主键
- 解决Can't connect to MySQL server on 'localhost' (10048)
- php操作mysql的封装类_PHP封装的mysqli数据库操作类示例
- dnslog在mysql在linux_DNSLog在MySQL注入中的实战