在1.7.10中是否有一个事件用于当一个块生成时,所以我可以在它上面放置一些东西。还是我一定要在这一代人中做到这一点?
我已经上网了,但我找不到
onBlockGenerated
事件之类的。
您需要扩展WorldGenerator
class Foo extends WorldGenerator {
protected Block[] GetValidSpawnBlocks() {
return new Block[] { Blocks.quartz };
}
public boolean generate(final World world, final Random rand, final int x, final int y, final int z) {
world.setBlock(x,y+1,z,FooModBlocks.yourFancyBlock,0,2);
}
}
并将其注册到iworldgenerator中
public class MagicCookieWorldGen implements IWorldGenerator {
private Foo myGenerator;
public MagicCookieWorldGen() {
super();
myGenerator = new Foo();
}
@Override
public void generate(Random random, int chunkX, int chunkZ, World world,
IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
this.worldGeneration(random, chunkX, chunkZ, world, true);
}
public void worldGeneration(final Random random, final int chunkX, final int chunkZ, final World world, final boolean newGen) {
switch (world.provider.dimensionId) {
case -1: {
this.generateNether(world, random, chunkX, chunkZ, newGen);
break;
}
case 1: {
break;
}
default: {
break;
}
}
}
private void generateNether(final World world, final Random random, final int chunkX, final int chunkZ, final boolean newGen) {
int startX = chunkX * 16;
int startZ = chunkZ * 16;
int startY = 5;
int endX = startX + 16;
int endZ = startZ + 16;
int endY = 65;
for(int x=startX;x<endX;x++)for(int z=startZ;z<endZ;z++)for(int y = startY;y<endY;y++) {
Block block = world.getBlock(x,y,z);
for(Block match : Foo.GetValidSpawnBlocks()) {
if(match == block) {
Foo.generate(world, final Random random, x, y, z);
break;
}
}
}
}
}
然后在init阶段的commonproxy中
GameRegistry.registerWorldGenerator((IWorldGenerator)(StuffLoader.worldGenerator = new MagicCookieWorldGen()), 0);
MagicCookie.log.info("Registered worldgenerator" + StuffLoader.worldGenerator);
使用newBlockHeaders参数订阅新的区块头生成事件。可用做检查区块链上变化的计时器。 调用: web3.eth.subscribe('newBlockHeaders' [, callback]); 参数: type:String - "newBlockHeaders", 订阅类型 callback:Function - 可选的回调函数,其第一个参数为错误对象,第二个参数为结果 返回值:
我试图使用Flux.create生成异步服务器发送事件。当我的客户端连接时,请求最终超时,并且没有收到任何事件。我硬编码了一个由Flux发送的事件。创建只是为了查看数据流,但客户端仍然没有收到任何数据。 客户端(Angular)代码: 我从来没有看到一个事件来自事件源。最终请求超时,我看到错误:< code > net::ERR _ EMPTY _ RESPONSE 我是使用WebFlux的新手,
我正在构建一个Flink流媒体应用程序,并且更喜欢使用事件时间,因为它将确保在历史数据出现故障或重播时,所有设置的计时器都将决定性地触发。事件时间的问题在于,只有当事件发生时,时间才会向前移动。我们的数据源(物理传感器)有时产生的数据很少,因此有时单个数据点可能会打开一个5分钟的聚合窗口,但下一个数据点会在20分钟后关闭,因此窗口会很晚关闭并发出输出记录。 我们提出的解决方案是使用AWS lamb
tempfile 模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好。 tempfile 模块中常用的函数,如表 1 所示。 表 1 tempfile 模块常用函数及功能 tempfile 模块函数 功能描述 tempfile.TemporaryFile(mode='w+b', buffering=None, encoding=Non
我最近开始用Eclipse在Minecraft 1.8中进行修改。我创建了一个测试模块,它工作得非常好。然后我决定从头开始新的mod。 我几乎马上就被我的输入搞错了。 我试着按Ctrl-Shift-O来组织我的导入,但它只是删除了它们,因为它们无法解析。我试图回到我以前的项目,但导入也不起作用。 玩了一会儿之后,我意识到其他进口商品也在起作用。 只有网。minecraftforge的进口产品不起作