private void resetTimer() { if (this.maxSpawnDelay <= this.minSpawnDelay) { this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } if (!this.potentialSpawns.isEmpty()) { this.setNextSpawnData((WeightedSpawnerEntity)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.potentialSpawns)); } this.broadcastEvent(1); }
private void resetTimer() { if (this.maxSpawnDelay <= this.minSpawnDelay) { this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } if (!this.minecartToSpawn.isEmpty()) { this.setNextSpawnData((WeightedSpawnerEntity)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); } this.broadcastEvent(1); }
public NBTTagCompound writeToNBT(NBTTagCompound p_189530_1_) { ResourceLocation resourcelocation = this.func_190895_g(); if (resourcelocation == null) { return p_189530_1_; } else { p_189530_1_.setShort("Delay", (short)this.spawnDelay); p_189530_1_.setShort("MinSpawnDelay", (short)this.minSpawnDelay); p_189530_1_.setShort("MaxSpawnDelay", (short)this.maxSpawnDelay); p_189530_1_.setShort("SpawnCount", (short)this.spawnCount); p_189530_1_.setShort("MaxNearbyEntities", (short)this.maxNearbyEntities); p_189530_1_.setShort("RequiredPlayerRange", (short)this.activatingRangeFromPlayer); p_189530_1_.setShort("SpawnRange", (short)this.spawnRange); p_189530_1_.setTag("SpawnData", this.randomEntity.getNbt().copy()); NBTTagList nbttaglist = new NBTTagList(); if (this.potentialSpawns.isEmpty()) { nbttaglist.appendTag(this.randomEntity.toCompoundTag()); } else { for (WeightedSpawnerEntity weightedspawnerentity : this.potentialSpawns) { nbttaglist.appendTag(weightedspawnerentity.toCompoundTag()); } } p_189530_1_.setTag("SpawnPotentials", nbttaglist); return p_189530_1_; } }
public void setNextSpawnData(WeightedSpawnerEntity p_184993_1_) { super.setNextSpawnData(p_184993_1_); if (this.getSpawnerWorld() != null) { IBlockState iblockstate = this.getSpawnerWorld().getBlockState(this.getSpawnerPosition()); this.getSpawnerWorld().notifyBlockUpdate(TileEntityMobSpawner.this.pos, iblockstate, iblockstate, 4); } }
public NBTTagCompound writeToNBT(NBTTagCompound p_189530_1_) { String s = this.getEntityNameToSpawn(); if (StringUtils.isNullOrEmpty(s)) { return p_189530_1_; } else { p_189530_1_.setShort("Delay", (short)this.spawnDelay); p_189530_1_.setShort("MinSpawnDelay", (short)this.minSpawnDelay); p_189530_1_.setShort("MaxSpawnDelay", (short)this.maxSpawnDelay); p_189530_1_.setShort("SpawnCount", (short)this.spawnCount); p_189530_1_.setShort("MaxNearbyEntities", (short)this.maxNearbyEntities); p_189530_1_.setShort("RequiredPlayerRange", (short)this.activatingRangeFromPlayer); p_189530_1_.setShort("SpawnRange", (short)this.spawnRange); p_189530_1_.setTag("SpawnData", this.randomEntity.getNbt().copy()); NBTTagList nbttaglist = new NBTTagList(); if (this.minecartToSpawn.isEmpty()) { nbttaglist.appendTag(this.randomEntity.toCompoundTag()); } else { for (WeightedSpawnerEntity weightedspawnerentity : this.minecartToSpawn) { nbttaglist.appendTag(weightedspawnerentity.toCompoundTag()); } } p_189530_1_.setTag("SpawnPotentials", nbttaglist); return p_189530_1_; } }
public void readFromNBT(NBTTagCompound nbt) { this.spawnDelay = nbt.getShort("Delay"); this.potentialSpawns.clear(); if (nbt.hasKey("SpawnPotentials", 9)) { NBTTagList nbttaglist = nbt.getTagList("SpawnPotentials", 10); for (int i = 0; i < nbttaglist.tagCount(); ++i) { this.potentialSpawns.add(new WeightedSpawnerEntity(nbttaglist.getCompoundTagAt(i))); } } if (nbt.hasKey("SpawnData", 10)) { this.setNextSpawnData(new WeightedSpawnerEntity(1, nbt.getCompoundTag("SpawnData"))); } else if (!this.potentialSpawns.isEmpty()) { this.setNextSpawnData((WeightedSpawnerEntity)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.potentialSpawns)); } if (nbt.hasKey("MinSpawnDelay", 99)) { this.minSpawnDelay = nbt.getShort("MinSpawnDelay"); this.maxSpawnDelay = nbt.getShort("MaxSpawnDelay"); this.spawnCount = nbt.getShort("SpawnCount"); } if (nbt.hasKey("MaxNearbyEntities", 99)) { this.maxNearbyEntities = nbt.getShort("MaxNearbyEntities"); this.activatingRangeFromPlayer = nbt.getShort("RequiredPlayerRange"); } if (nbt.hasKey("SpawnRange", 99)) { this.spawnRange = nbt.getShort("SpawnRange"); } if (this.getSpawnerWorld() != null) { this.cachedEntity = null; } }
public void setNextSpawnData(WeightedSpawnerEntity p_184993_1_) { this.randomEntity = p_184993_1_; }
public void readFromNBT(NBTTagCompound nbt) { this.spawnDelay = nbt.getShort("Delay"); this.minecartToSpawn.clear(); if (nbt.hasKey("SpawnPotentials", 9)) { NBTTagList nbttaglist = nbt.getTagList("SpawnPotentials", 10); for (int i = 0; i < nbttaglist.tagCount(); ++i) { this.minecartToSpawn.add(new WeightedSpawnerEntity(nbttaglist.getCompoundTagAt(i))); } } NBTTagCompound nbttagcompound = nbt.getCompoundTag("SpawnData"); if (!nbttagcompound.hasKey("id", 8)) { nbttagcompound.setString("id", "Pig"); } this.setNextSpawnData(new WeightedSpawnerEntity(1, nbttagcompound)); if (nbt.hasKey("MinSpawnDelay", 99)) { this.minSpawnDelay = nbt.getShort("MinSpawnDelay"); this.maxSpawnDelay = nbt.getShort("MaxSpawnDelay"); this.spawnCount = nbt.getShort("SpawnCount"); } if (nbt.hasKey("MaxNearbyEntities", 99)) { this.maxNearbyEntities = nbt.getShort("MaxNearbyEntities"); this.activatingRangeFromPlayer = nbt.getShort("RequiredPlayerRange"); } if (nbt.hasKey("SpawnRange", 99)) { this.spawnRange = nbt.getShort("SpawnRange"); } if (this.getSpawnerWorld() != null) { this.cachedEntity = null; } }