我的世界种子代码大全代码。

您的位置:
游戏攻略秘籍
《植物大战僵尸》是一款极富策略性的小游戏,可...
《魔兽争霸Ⅲ》是一款非常著名的即时战略游戏。...
《愤怒的小鸟》是一款首发于iOS,尔后跨平台...
PC版《侠盗猎车手:罪恶都市》(Grand ...
  EA的《模拟人生》系列是PC平台最畅销的...
《极品飞车15:变速2》由EA的DICE和S...
小游戏推荐
出处:2345游戏攻略
您可能感兴趣的话题:
核心提示:我的世界秘籍怎么输入?我的世界(Minecraft)是一款带有生存冒险元素的建造类游戏。相信玩的朋友很多,不过我的世界秘籍怎么输入很多朋友都不知道,下面为大家介绍我的世界秘籍大全输入方法。
  物品代码大全:
  我的世界物品代码怎么使用?我的世界单机命令详解:
&把自己提升到上一个平台
&bind &KEYCODE值& &命令& {命令关键字}
&设置一键命令
&清空控制台
&关闭或者开启伤害 即无敌
&把自己移动到下面一个的平台
&destroy [all]
&破坏当前的东西(背包)
&defuse [all]
&拆弹(拆除已经点燃了的TNT炸药)
&diff &VALUE&
&difficulty &VALUE&
&设置游戏难度
&dropstore
&在身边创建一个储物柜
&开关物品掉落,关闭的话采矿打怪不掉东西。
&dupe [all]
&duplicate [all]
&复制手上的东西并丢出来
&explode [范围]
&设置一个地方爆炸(在自家慎用)
&extinguish [all]
&熄灭周围所有的火
&ext [all]
&一样是熄灭火
&falldamage
&开关高空落下伤害
&firedamage
&开关火的伤害
&give &物品& [数量]
&给一样物品
&goto &名字&
&去一个地方
&grow [all]
&让立即小麦成长
&h [COMMAND]
&命令列表/帮助
&heal &HEALTH&
&补指定的血
&health &MIN|MAX|INFINITE&
&设置生命值
&help [COMMAND]
&命令列表/帮助
&回到出生点
&i &物品代码& [数量]
&instantmine
&开关即时采矿(采矿无延迟)
&item &物品代码|物品名称& [数量] [费用]
&给玩家物品, 如果不指定则是最大的数量
&显示当前手上的物品名称
&itemstack &物品代码& [数量]
&给玩家指定数量的物品
&自杀不解释
&瞬移到鼠标所指的地方
&killnpc [all]
&杀死周围全部NPC 或者叫 杀了附近所有除自己外的活体生物
&把光永久性关闭
&listwaypoints
&列出所有路径点
&macro &文件名& {参数}
&允许运行宏
&maxstack [物品ID|物品名称|全部] [数量]
&最大的把某物品堆起来
&*mobdamage
&怪物不会给你伤害
&msg &消息&
&添加一个消息到控制台
&music [音量]
&显示当前坐标
&现在玩家的坐标
&reach &DISTANCE&
&玩家到指定地方
&传送到之前传送的地方
&rem &NAME&
&删除指定路点
&removedrops [all]
&删掉地上物品
&*rename &COMMANDNAME&
&修改命令名称
&replenish [all]
&repair [all]
&修复当前物品耐久
&恢复默认设置
&Same as /set
&search &关键词&
&搜索物品名称
&set &名字&
&在这世界标记一个路径点
&setjump [JUMP|reset]
&设置跳跃的高度 落地伤害和移动 1:1
&setspawn [&X& &Y& &Z&]
&设置当前位置 X轴 Y轴 Z轴
&setspeed [速度|重置]
&设置移动速度
&spawn &NAME|ID|random|list& [QTY]
&产生一个生物
&spawnstack
&NAME|ID|random|list&&{NAME|ID|random}
&产生一个合体的怪物NPC
&*superheat [all]
&Turns items which are furnace-able into their
furnaced form
&t &X& &Y& &Z&
&Same as /tele
&tele &X& &Y& &Z&
&传送到此坐标
&time [set|get|day|night [minute|hour|day
&设置指定时间得到物品
&timeschedule &reset | &TIME1&
&设定一段时间段,让世界永远保持在这段时间之间- -
《凉宫春日漫无止境的八月》
&unbind &KEYCODE值&
&解除一个命令
&useportal
&传送到地狱
&waterdamage
&开关潜水伤害
&load|save|seed|new|exit|list&
&world load &FILENAME&
&加载指定的文件
&world save
&保存退出游戏
&world seed [SEED]
&给你看看你世界里有多少个方块
&world new [FILENAME] [SEED]
&在指定位置创建新地图
&world exit
&不保存退出游戏
&world list
&列出所有存档&& 你可以去这看&&".minecraft/saves"
&* = 新命令?
&设置重生点
相关软件推荐我的世界作弊模式指令 手机版常用作弊代码大全_4399手机游戏网
我的世界作弊模式指令 手机版常用作弊代码大全
在手机上浏览
今天蕾米为大家带来作弊码大全,手机版常用作弊指令大全。想知道我的世界手机版有哪些作弊代码,我的世界手机版常用作弊码有什么功能的小伙伴就一起来看看吧!
常用作弊码大全
我的世界指令大全(1.2新增)
/tickingarea
设置常加载区域
我的世界指令大全(1.1新增)
/replaceitem
替换方块或物品
设置游戏规则
我的世界指令大全(1.0.5新增)
清空玩家物品栏
/difficulty
设置游戏难度
给予玩家状态效果
设置游戏规则
发送一条关于自己的信息
/playsound
/replaceitem
/spreadplayers
/stopsound
统计复合条件的实体
设置屏幕上的标题
我的世界指令大全(1.0新增)
定位特殊结构
连接服务器
我的世界指令大全(0.16.X)
/clearfixedinv
清除固定物品栏的设置
复制指定区域的方块到另外一个位置
取消玩家的管理员权限
执行另外一条指令
用方块填充指定区域
设置游戏模式
给予玩家指定数量的物品
查看所有可用指令
列出在服务器中的玩家
给予玩家管理员权限
向其他玩法显示一条公共信息
在某个区域设置方块
/setfixedinvslot
设定固定物品栏设置
/setworldspawn
设置世界出生点
/spawnpoint
设置玩家出生点
生成一个实体
向其他玩家显示一条四人信息
/testforblock
探测某个位置的方块
/testforblocks
探测两个区域内的方块是否匹配
传送实体到某处
传送实体到某处
/toggledownfall
设置服务器白名单
设置玩家经验值
学习更多指令,一键生成指令,就用&&&&,手机上也可以使用哦!
更多精彩内容请关注专区。
看我的世界攻略秘籍&推荐海量好玩游戏
扫一扫,用手机随身看!
用微信扫描还可以
分享至好友和朋友圈
类别:休闲娱乐
大小:282.20M
视频排行榜
热门推荐红石教程建造攻略
在百度等搜索引擎中输入4399我的世界手游,搜索一下找到我的世界手游专区,点击就可以快速回到专区啦~
4399我的世界手游
你还可以收藏我的世界手游 下次快速回到专区
收藏我的世界手游这就是我对待梦想的态度.
Minecraft源码分析(1) - 刷怪逻辑
生成循环生物大致划分为四种:攻击型,被动型,水生型(也就是鱿鱼)和环境型(也就是蝙蝠)。攻击型生物每一个Tick(1/20秒)有一次的生成周期。被动型和水生型生物只有每400刻(20秒)一次的生成周期。因为这一点,攻击型生物可以在任何时候生成,而动物生成则非常少。另外,大部分动物在建立世界时产生的Block中生成。生物的刷新范围通常是以玩家为中心的 15 * 15的Chunk,当有多个玩家的时候,所有玩家的附近都会刷新。当敌对怪物离玩家超过128个block的时候,就会立即把它刷掉。下图表述刷新逻辑和玩家距离的关系。Entity种类源码中对应的类是EnumCreatureType.javapublic enum EnumCreatureType
MONSTER(IMob.class, 70, Material.air, false, false),
CREATURE(EntityAnimal.class, 10, Material.air, true, true),
AMBIENT(EntityAmbientCreature.class, 15, Material.air, true, false),
WATER_CREATURE(EntityWaterMob.class, 5, Material.water, true, false);
* The root class of creatures associated with this EnumCreatureType (IMobs for aggressive creatures, EntityAnimals
* for friendly ones)
private final Class creatureC
private final int maxNumberOfC
private final Material creatureM
/** A flag indicating whether this creature type is peaceful. */
private final boolean isPeacefulC
/** Whether this creature type is an animal. */
private final boolean isA
private EnumCreatureType(Class class, int _maxNumberOfCreature, Material _creatureMaterial, boolean _isPeacefulCreature, boolean _isAnimal)
this.creatureClass =
this.maxNumberOfCreature = _maxNumberOfC
this.creatureMaterial = _creatureM
this.isPeacefulCreature = _isPeacefulC
this.isAnimal = _isA
public Class getCreatureClass()
return this.creatureC
public int getMaxNumberOfCreature()
return this.maxNumberOfC
* Gets whether or not this creature type is peaceful.
public boolean getPeacefulCreature()
return this.isPeacefulC
* Return whether this creature type is an animal.
public boolean getAnimal()
return this.isA
}怪物容量(可理解为人口)与适合生成的Chunk总数直接成比例。要计算容量的话,生成区域在每一方向上均扩展一个区块,所以有17*17 BChunk的大小,然后总的ChunkCount被代入到下式中: 容量 = 常量* ChunkCount / 289每一种生物均具有自己的容量计算和公式中不同的常量值: 攻击型 = 70 被动型 = 10 环境型(蝙蝠) = 15 水生型 = 5在单人游戏的时候,ChunkCount 一直是289,但是在多人游戏中,每个chunk只被计算一次,所以玩家分得越开,怪物的容量也就越大。在 Spawn开始之前,首先进行一次 mob 容量检查,如果生物的数量超过了容量,那么这个种类的生物的生成就会跳过。服务器架构图1. MC服务器架构MinecraftServer作为服务器,主要负责服务端的更新,里面可以包含多个WorldServer,WorldClent作为服务端,当玩家加入一个服务器的时候,就会创建一个在本地。SpawnerAnimals作为刷怪的工具类,主要用来处理刷怪逻辑。首先来看WorldServer的Tick注:如无特别说明,所有tick都是一秒20次。
图2. WorldServer Tick 流程很清晰的逻辑,这里主要看一下findChunksForSpawning的实现。在单人游戏模式下,区块计数总为17*17=289,那么各种生物的容量也就是上面列出的数值。在多人游戏中,在多个玩家范围内的区块只被计算一次,所以玩家越分散,更多地区块会被覆盖且会有更高的生物容量。在每次生成周期的开始都会检查一次容量。如果存活的生物数量超过它的容量,整个生成周期就会被跳过。在每一生成周期中,会在每一个合适的区块中进行一次生成一组生物的尝试。该区块内选择一个随机地点作为这组生物的中心点。为生成这组生物,中心方块对水生生物而言必须是水方块,对所有其它生物来说则必须是空气方块。注意在后面的情形中,它一定得是空气方块。任何其它方块,哪怕是一个透明方块都会阻止整组生物的生成。 图3. 陆地怪物的生成条件如果该组位置合适,会在以中心方块为原点41*1*41的范围(就是41*41格大小的方型,有1格高的区域)内进行12次尝试以生成多至4个的生物(狼是8个,恶魂是1个)。生物将会在这一区域生成其身体的最下部分。在每次生成尝试中,会在这一区域中随机选择一个方块的地点。尽管生成区域能扩展到中心21格之外,但是随机选出的地点强烈地向该组的中心集中。大约有85%的生成将会在该组中心的5格以内,99%会落在10格以内组内所有的生物都是相同的种类。在该组第一次生成尝试时从该地区所适合生成的种类中随机挑选一种以决定整组的种类。具体的种类可以参考要Minecraft的Wiki。findChunksForSpawning函数实现的就是上面描述的逻辑。看一下SpawnerAnimals.java这个类。public final class SpawnerAnimals
private static final int MOB_COUNT_DIV = (int)Math.pow(17.0D, 2.0D);
/** The 17x17 area around the player where mobs can spawn */
private final Set eligibleChunksForSpawning = Sets.newHashSet();
private static final String __OBFID = "CL_";
* adds all chunks within the spawn radius of the players to eligibleChunksForSpawning. pars: the world,
* hostileCreatures, passiveCreatures. returns number of eligible chunks.
public int findChunksForSpawning(WorldServer server, boolean spawnHostileMobs, boolean spawnPeacefulMobs, boolean isSpecialSpawnTick)
if (!spawnHostileMobs && !spawnPeacefulMobs)
this.eligibleChunksForSpawning.clear();
int chunkCount = 0;
Iterator iterator = server.playerEntities.iterator();
int creatureC
while (iterator.hasNext())
EntityPlayer entityplayer = (EntityPlayer)iterator.next();
if (!entityplayer.isSpectator())
int chunkCoordX = Mathf.FloorToInt(entityplayer.GetPosition().x / 16.0f);
int chunkCoordZ = Mathf.FloorToInt(entityplayer.GetPosition().z / 16.0f);
byte chunkLength = 8;
for (int directionX = -chunkL directionX &= chunkL ++directionX)
for (directionZ = -chunkL directionZ &= chunkL ++directionZ)
bool isBorderChunk = (directionX == -chunkLength || directionX == chunkLength || directionZ == -chunkLength || directionZ == chunkLength);
IntVector2 chunkcoordintpair = new IntVector2(directionX + chunkCoordX, directionZ + chunkCoordZ);
if (!this.eligibleChunksForSpawning.Contains(chunkcoordintpair))
if (!isBorderChunk && server.getWorldBorder().contains(chunkcoordintpair))
this.eligibleChunksForSpawning.Add(chunkcoordintpair);
int totalEntityCount = 0;
BlockPos blockpos2 = server.getSpawnPoint();
EnumCreatureType[] aenumcreaturetype = EnumCreatureType.values();
k = aenumcreaturetype.
for (int i = 0; i & ++i)
EnumCreatureType enumcreaturetype = aenumcreaturetype[i];
if ((!enumcreaturetype.getPeacefulCreature() || spawnPeacefulMobs) && (enumcreaturetype.getPeacefulCreature() || spawnHostileMobs) && (!enumcreaturetype.getAnimal() || isSpecialSpawnTick))
creatureCount = server.countEntities(enumcreaturetype, true);
int maxCreatureCount = enumcreaturetype.getMaxNumberOfCreature() * chunkCount / MOB_COUNT_DIV;
if (creatureCount &= maxCreatureCount)
Iterator iterator1 = this.eligibleChunksForSpawning.iterator();
ArrayList&ChunkCoordIntPair& tmp = new ArrayList(eligibleChunksForSpawning);
Collections.shuffle(tmp);
iterator1 = tmp.iterator();
while (iterator1.hasNext())
ChunkCoordIntPair chunkcoordintpair1 = (ChunkCoordIntPair)iterator1.next();
BlockPos blockpos = getRandomChunkPosition(server, chunkcoordintpair1.chunkXPos, chunkcoordintpair1.chunkZPos);
int j1 = blockpos.getX();
int k1 = blockpos.getY();
int l1 = blockpos.getZ();
Block block = server.getBlockState(blockpos).getBlock();
if (!block.isNormalCube())
int entityCountOnChunk = 0;
int j2 = 0;
while (j2 & 3)
int k2 = j1;
int l2 = k1;
int i3 = l1;
byte b1 = 6;
BiomeGenBase.SpawnListEntry spawnlistentry =
IEntityLivingData ientitylivingdata =
int j3 = 0;
while (true)
if (j3 & 4)
k2 += server.rand.nextInt(b1) - server.rand.nextInt(b1);
l2 += server.rand.nextInt(1) - server.rand.nextInt(1);
i3 += server.rand.nextInt(b1) - server.rand.nextInt(b1);
BlockPos blockpos1 = new BlockPos(k2, l2, i3);
float f = (float)k2 + 0.5F;
float f1 = (float)i3 + 0.5F;
//Check must be away from Player by 24 block, and away from player spawn point. 576 = 24 * 24
if (!server.CheckCanSpawnHere((double)f, (double)l2, (double)f1, 24.0D) && blockpos2.distanceSq((double)f, (double)l2, (double)f1) &= 576.0D)
if (spawnlistentry == null)
spawnlistentry = server.GetSpawnListEntry(enumcreaturetype, blockpos1);
if (spawnlistentry == null)
break label108;
if (server.CheckChunkHasSpawnEntry(enumcreaturetype, spawnlistentry, blockpos1) && canCreatureTypeSpawnAtLocation(EntitySpawnPlacementRegistry.GetSpawnPointType(spawnlistentry.entityClass), server, blockpos1))
entityliving = (EntityLiving)spawnlistentry.entityClass.getConstructor(new Class[] {World.class}).newInstance(new Object[] {server});
catch (Exception exception)
exception.printStackTrace();
return totalEntityC
entityliving.setLocationAndAngles((double)f, (double)l2, (double)f1, server.rand.nextFloat() * 360.0F, 0.0F);
Result canSpawn = ForgeEventFactory.canEntitySpawn(entityliving, server, f, l2, f1);
if (canSpawn == Result.ALLOW || (canSpawn == Result.DEFAULT && (entityliving.getCanSpawnHere() && entityliving.handleLavaMovement())))
if (!ForgeEventFactory.doSpecialSpawn(entityliving, server, f1, l2, f1))
ientitylivingdata = entityliving.getEntityData(server.getDifficultyForLocation(new BlockPos(entityliving)), ientitylivingdata);
if (entityliving.handleLavaMovement())
++entityCountOnC
server.spawnEntityInWorld(entityliving);
if (entityCountOnChunk &= ForgeEventFactory.getMaxSpawnPackSize(entityliving))
continue label115;
totalEntityCount += entityCountOnC
return totalEntityC
protected static BlockPos getRandomChunkPosition(World worldIn, int x, int z)
Chunk chunk = worldIn.getChunkFromChunkCoords(x, z);
int k = x * 16 + worldIn.rand.nextInt(16);
int l = z * 16 + worldIn.rand.nextInt(16);
int creatureCount = MathHelper.Ceiling(chunk.getHeight(new BlockPos(k, 0, l)) + 1, 16);
int j1 = worldIn.rand.nextInt(creatureCount & 0 ? creatureCount : chunk.getTopFilledSegment() + 16 - 1);
return new BlockPos(k, j1, l);
public static boolean canCreatureTypeSpawnAtLocation(EntityLiving.SpawnPlacementType placeType, World worldIn, BlockPos pos)
if (!worldIn.getWorldBorder().contains(pos))
Block block = worldIn.getBlockState(pos).getBlock();
if (placeType == EntityLiving.SpawnPlacementType.IN_WATER)
return block.getMaterial().isLiquid() && worldIn.getBlockState(pos.down()).getBlock().getMaterial().isLiquid() && !worldIn.getBlockState(pos.up()).getBlock().isNormalCube();
BlockPos blockpos1 = pos.down();
if (!worldIn.getBlockState(blockpos1).getBlock().canCreatureSpawn(worldIn, blockpos1, placeType))
Block block1 = worldIn.getBlockState(blockpos1).getBlock();
boolean flag = block1 != Blocks.bedrock && block1 != Blocks.
return flag && !block.isNormalCube() && !block.getMaterial().isLiquid() && !worldIn.getBlockState(pos.up()).getBlock().isNormalCube();
* Called during chunk generation to spawn initial creatures.
public static void performWorldGenSpawning(World worldIn, BiomeGenBase biomeGenBase, int chunkCenterX, int chunkCenterY, int rangeX, int rangeY, Random rand)
List list = biomeGenBase.getSpawnableList(EnumCreatureType.CREATURE);
if (!list.isEmpty())
while (rand.nextFloat() & biomeGenBase.getSpawningChance())
BiomeGenBase.SpawnListEntry spawnlistentry = (BiomeGenBase.SpawnListEntry)WeightedRandom.getRandomItem(worldIn.rand, list);
int creatureCount = spawnlistentry.minGroupCount + rand.nextInt(1 + spawnlistentry.maxGroupCount - spawnlistentry.minGroupCount);
IEntityLivingData ientitylivingdata =
int j1 = chunkCenterX + rand.nextInt(rangeX);
int k1 = chunkCenterY + rand.nextInt(rangeY);
int l1 = j1;
int entityCountOnChunk = k1;
for (int j2 = 0; j2 & creatureC ++j2)
boolean flag =
for (int k2 = 0; !flag && k2 & 4; ++k2)
BlockPos blockpos = worldIn.getTopSolidOrLiquidBlock(new BlockPos(j1, 0, k1));
if (canCreatureTypeSpawnAtLocation(EntityLiving.SpawnPlacementType.ON_GROUND, worldIn, blockpos))
entityliving = (EntityLiving)spawnlistentry.entityClass.getConstructor(new Class[] {World.class}).newInstance(new Object[] {worldIn});
catch (Exception exception)
exception.printStackTrace();
entityliving.setLocationAndAngles((double)((float)j1 + 0.5F), (double)blockpos.getY(), (double)((float)k1 + 0.5F), rand.nextFloat() * 360.0F, 0.0F);
worldIn.spawnEntityInWorld(entityliving);
ientitylivingdata = entityliving.func_180482_a(worldIn.getDifficultyForLocation(new BlockPos(entityliving)), ientitylivingdata);
j1 += rand.nextInt(5) - rand.nextInt(5);
for (k1 += rand.nextInt(5) - rand.nextInt(5); j1 & chunkCenterX || j1 &= chunkCenterX + rangeX || k1 & chunkCenterY || k1 &= chunkCenterY + rangeX; k1 = entityCountOnChunk + rand.nextInt(5) - rand.nextInt(5))
j1 = l1 + rand.nextInt(5) - rand.nextInt(5);
}生物群落的生成在维基百科中,生物群系(Biome)在气候学和地理学上被定义为具有类似气候条件的地方,比如植物、动物和土壤生物组成的群落,它经常被称作生态系统。是Minecraft里有不同的地域特色,植物,高度,温度,湿度评级的地区。 在Minecraft中, 从万圣节更新开始,它意味着具有不同高度、温度、湿度、叶子颜色的区域。图4. 高寒地区Biome图5. 雪地Biome当地图被创建时会具有雪地或草地主题。但在这个更新之后,一个世界中就可以具有所有的主题,它们的分布由生物群系图决定。Anvil文件格式中,世界数据直接存储在生物群系中,这不同于先前的国家或地区的文件格式的格式,其中的生物群系,从种子中动态计算。Chunk中的生物也是根据Biome来生成,这里的限制主要体现在当SpawnAnimals在Chunk中生成生物的时候,总会调用WorldServer的方法进行Check,看对应的生物种类能否生成。public boolean CheckCreatureCanSpawn(EnumCreatureType creatureType, BiomeGenBase.SpawnListEntry spawnListEntry, BlockPos blockPos)
List list = this.getChunkProvider().getSpawnableList(creatureType, blockPos);
return list != null && !list.isEmpty() ? list.contains(spawnListEntry) :
}相关的还有ChunkProviderGenerate.getSpawnableList()
public List getSpawnableList(EnumCreatureType creatureType, BlockPos pos)
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(pos);
if (this.mapFeaturesEnabled)
if (creatureType == EnumCreatureType.MONSTER && this.scatteredFeatureGenerator.func_175798_a(pos))
return this.scatteredFeatureGenerator.getScatteredFeatureSpawnList();
if (creatureType == EnumCreatureType.MONSTER && this.settings.useMonuments && this.oceanMonumentGenerator.func_175796_a(this.worldObj, pos))
return this.oceanMonumentGenerator.func_175799_b();
return biomegenbase.getSpawnableList(creatureType);
}而所有的Biome和生物的对应关系都在BiomeGenBase这个类中定义。在EntityLiving中定义了一个getCanSpawnHere函数,用于查询是否可以在某个位置生成
* Checks if the entity's current position is a valid location to spawn this entity.
public boolean getCanSpawnHere()
}继承EntityLiving的类就override这个函数,比如EntityAnimal
* Checks if the entity's current position is a valid location to spawn this entity.
public boolean getCanSpawnHere()
int i = MathHelper.floor_double(this.posX);
int j = MathHelper.floor_double(this.getEntityBoundingBox().minY);
int k = MathHelper.floor_double(this.posZ);
BlockPos blockpos = new BlockPos(i, j, k);
return this.worldObj.getBlockState(blockpos.down()).getBlock() == this.spawnBlock && this.worldObj.getLight(blockpos) & 8 && super.getCanSpawnHere();
* Checks if the entity's current position is a valid location to spawn this entity.
public boolean getCanSpawnHere()
Chunk chunk = this.worldObj.getChunkFromBlockCoords(new BlockPos(MathHelper.floor_double(this.posX), 0, MathHelper.floor_double(this.posZ)));
if (this.worldObj.getWorldInfo().getTerrainType().handleSlimeSpawnReduction(rand, worldObj))
if (this.worldObj.getDifficulty() != EnumDifficulty.PEACEFUL)
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(new BlockPos(MathHelper.floor_double(this.posX), 0, MathHelper.floor_double(this.posZ)));
if (biomegenbase == BiomeGenBase.swampland && this.posY & 50.0D && this.posY & 70.0D && this.rand.nextFloat() & 0.5F && this.rand.nextFloat() & this.worldObj.getCurrentMoonPhaseFactor() && this.worldObj.getLightFromNeighbors(new BlockPos(this)) &= this.rand.nextInt(8))
return super.getCanSpawnHere();
if (this.rand.nextInt(10) == 0 && chunk.getRandomWithSeed(L).nextInt(10) == 0 && this.posY & 40.0D)
return super.getCanSpawnHere();
参考Minecraft WikiMinecraft Forge
没有更多推荐了,

我要回帖

更多关于 我的世界刷怪笼代码 的文章

 

随机推荐