仿照Minecraft服务器小游戏——掉落铁砧(事实上我也不记得叫什么了,总之就是在某大型服务器里的小游戏) 原理制作的小游戏
请使用Js版Survivalcraft使用代码(仅限Win8电脑)
Js版链接:Survivalcraft 1.27.17.0 with JS
http://v.tieba.baidu.com/p/3734334395
使用方法:进入游戏后按“J”键,弹出JS控制台,输入代码,确定
确定后一般会卡几秒,视配置而定
代码:
var x=Math.floor(getX());var y=Math.floor(getY());var z=Math.floor(getZ());movePlayer(x,y,z);var subsystemTerrain=findSubsystem("Terrain");var terrainData=subsystemTerrain.get_TerrainData();function setBlock(x,y,z,value){terrainData.SetCellValueFast(x,y,z,value);var terrainChunk=subsystemTerrain.CellToChunk(x,z);if(terrainChunk!=null){terrainChunk.ModificationCounter++;subsystemTerrain.TerrainUpdater.DowngradeChunkNeighborhoodState(terrainChunk,1,Game.TerrainChunkState.InvalidLight,false);}}function placeBlock(x, y, z, value) {subsystemTerrain.ChangeCell(x, y, z, value)};for(var x=getX();x<getX()+10;x++){for(var y=getY();y<getY()+128;y++){for(var z=getZ();z<getZ()+10;z++){setBlock(x,y,z,15);}}};for(var x=getX()+1;x<getX()+9;x++){for(var y=getY();y<getY()+128;y++){for(var z=getZ()+1;z<getZ()+9;z++){setBlock(x,y,z,0);}}};for(var x=getX();x<getX()+10;x++){for(var z=getZ();z<getZ()+10;z++){setBlock(x,getY(),z,1)}};var x=Math.floor(getX());var y=Math.floor(getY());var z=Math.floor(getZ());function frameHandler(){var x2=Math.floor(Math.random()*8+x+1);var z2=Math.floor(Math.random()*8+z+1);placeBlock(x2,y+60,z2,7)};movePlayer(x+5,y,z+5);setGameMode(1)
注意事项:
游戏设置里请勿设置“静止模式”
请勿在【主角在水平线以上】的情况下开始游戏(即玩家坐标高于64)
无论你是创造模式还是生存模式开始游戏后都会转为生存模式的,大可放心
重置游戏则可以重新输入代码
如想停止游戏,输入 function frameHandler(){} 即可
Bug:
事实上毫无难度的游戏,依旧因为游戏本身的机制,沙子无法压死人却可以把人抬起来,只有特定情况下才会压死人。
配置太差的输入代码容易死机,多等一会,或者多试几次。
图示介绍:
代码执行,游戏开始↓
↓掉落的沙子
创造模式下看掉落沙子↓
游戏平台的顶部↓
↓游戏结束,同时炫耀配置
生存模式下再次尝试↓
↓最后你有可能发现,基岩下面会有一个很深的坑(深坑勿入)
请使用Js版Survivalcraft使用代码(仅限Win8电脑)
Js版链接:Survivalcraft 1.27.17.0 with JS
http://v.tieba.baidu.com/p/3734334395
使用方法:进入游戏后按“J”键,弹出JS控制台,输入代码,确定
确定后一般会卡几秒,视配置而定
代码:
var x=Math.floor(getX());var y=Math.floor(getY());var z=Math.floor(getZ());movePlayer(x,y,z);var subsystemTerrain=findSubsystem("Terrain");var terrainData=subsystemTerrain.get_TerrainData();function setBlock(x,y,z,value){terrainData.SetCellValueFast(x,y,z,value);var terrainChunk=subsystemTerrain.CellToChunk(x,z);if(terrainChunk!=null){terrainChunk.ModificationCounter++;subsystemTerrain.TerrainUpdater.DowngradeChunkNeighborhoodState(terrainChunk,1,Game.TerrainChunkState.InvalidLight,false);}}function placeBlock(x, y, z, value) {subsystemTerrain.ChangeCell(x, y, z, value)};for(var x=getX();x<getX()+10;x++){for(var y=getY();y<getY()+128;y++){for(var z=getZ();z<getZ()+10;z++){setBlock(x,y,z,15);}}};for(var x=getX()+1;x<getX()+9;x++){for(var y=getY();y<getY()+128;y++){for(var z=getZ()+1;z<getZ()+9;z++){setBlock(x,y,z,0);}}};for(var x=getX();x<getX()+10;x++){for(var z=getZ();z<getZ()+10;z++){setBlock(x,getY(),z,1)}};var x=Math.floor(getX());var y=Math.floor(getY());var z=Math.floor(getZ());function frameHandler(){var x2=Math.floor(Math.random()*8+x+1);var z2=Math.floor(Math.random()*8+z+1);placeBlock(x2,y+60,z2,7)};movePlayer(x+5,y,z+5);setGameMode(1)
注意事项:
游戏设置里请勿设置“静止模式”
请勿在【主角在水平线以上】的情况下开始游戏(即玩家坐标高于64)
无论你是创造模式还是生存模式开始游戏后都会转为生存模式的,大可放心
重置游戏则可以重新输入代码
如想停止游戏,输入 function frameHandler(){} 即可
Bug:
事实上毫无难度的游戏,依旧因为游戏本身的机制,沙子无法压死人却可以把人抬起来,只有特定情况下才会压死人。
配置太差的输入代码容易死机,多等一会,或者多试几次。
图示介绍:
代码执行,游戏开始↓
↓掉落的沙子
创造模式下看掉落沙子↓
游戏平台的顶部↓
↓游戏结束,同时炫耀配置
生存模式下再次尝试↓
↓最后你有可能发现,基岩下面会有一个很深的坑(深坑勿入)