protected void incrementAllWorldTimes(MinecraftServer server, int amount)
{
for (int i = 0; i < server.worldServers.length; ++i)
{
WorldServer worldserver = server.worldServers[i];
worldserver.setWorldTime(worldserver.getWorldTime() + (long)amount);
}
}
java类net.minecraft.world.WorldServer的实例源码
CommandTime.java 文件源码
项目:CustomWorldGen
阅读 16
收藏 0
点赞 0
评论 0
HandlerTileData.java 文件源码
项目:VoidApi
阅读 14
收藏 0
点赞 0
评论 0
@Override
public void handleData(NBTTagCompound data)
{
DimBlockPos dbp = new DimBlockPos();
dbp.deserializeNBT(data.getCompoundTag("blockPosData"));
NBTTagCompound tileData = data.getCompoundTag("tileData");
if (MC.getSide() == Side.CLIENT)
{
VoidApi.proxy.getClientListener().addScheduledTask(() -> {
if (VoidApi.proxy.getClientWorld().isBlockLoaded(dbp.pos) && VoidApi.proxy.getClientWorld().getTileEntity(dbp.pos) != null)
{
Optional.ofNullable(VoidApi.proxy.getClientWorld().getTileEntity(dbp.pos)).ifPresent(t -> t.deserializeNBT(tileData));
}
VoidApi.proxy.getClientWorld().markBlockRangeForRenderUpdate(dbp.pos.down().north().west(), dbp.pos.up().west().south());
});
}
else
{
// Server deserializing a tile from client data?..
WorldServer ws = DimensionManager.getWorld(dbp.dim);
ws.addScheduledTask(() -> {
if (ws.isBlockLoaded(dbp.pos) && ws.getTileEntity(dbp.pos) != null)
{
Optional.ofNullable(ws.getTileEntity(dbp.pos)).ifPresent(t -> t.deserializeNBT(tileData));
}
});
}
}
NetHandlerPlayServer.java 文件源码
项目:CustomWorldGen
阅读 23
收藏 0
点赞 0
评论 0
public void processRightClickBlock(CPacketPlayerTryUseItemOnBlock packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());
WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension);
EnumHand enumhand = packetIn.getHand();
ItemStack itemstack = this.playerEntity.getHeldItem(enumhand);
BlockPos blockpos = packetIn.getPos();
EnumFacing enumfacing = packetIn.getDirection();
this.playerEntity.markPlayerActive();
if (blockpos.getY() < this.serverController.getBuildLimit() - 1 || enumfacing != EnumFacing.UP && blockpos.getY() < this.serverController.getBuildLimit())
{
double dist = playerEntity.interactionManager.getBlockReachDistance() + 3;
dist *= dist;
if (this.targetPos == null && this.playerEntity.getDistanceSq((double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 0.5D, (double)blockpos.getZ() + 0.5D) < dist && !this.serverController.isBlockProtected(worldserver, blockpos, this.playerEntity) && worldserver.getWorldBorder().contains(blockpos))
{
this.playerEntity.interactionManager.processRightClickBlock(this.playerEntity, worldserver, itemstack, enumhand, blockpos, enumfacing, packetIn.getFacingX(), packetIn.getFacingY(), packetIn.getFacingZ());
}
}
else
{
TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("build.tooHigh", new Object[] {Integer.valueOf(this.serverController.getBuildLimit())});
textcomponenttranslation.getStyle().setColor(TextFormatting.RED);
this.playerEntity.connection.sendPacket(new SPacketChat(textcomponenttranslation));
}
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos));
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos.offset(enumfacing)));
itemstack = this.playerEntity.getHeldItem(enumhand);
if (itemstack != null && itemstack.stackSize == 0)
{
this.playerEntity.setHeldItem(enumhand, (ItemStack)null);
net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem(this.playerEntity, itemstack, enumhand);
}
}
HarshenSoulOre.java 文件源码
项目:harshencastle
阅读 19
收藏 0
点赞 0
评论 0
@Override
public boolean addHitEffects(IBlockState state, World worldObj, RayTraceResult target, ParticleManager manager) {
if(world != null && pos != null)
if (world instanceof WorldServer)
((WorldServer)world).spawnParticle(EnumParticleTypes.CLOUD, false, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, 4, 0.7, 0.8, 0.6, 0, new int[EnumParticleTypes.CLOUD.getArgumentCount()]);
return super.addHitEffects(state, worldObj, target, manager);
}
NetHandlerPlayServer.java 文件源码
项目:Backmemed
阅读 24
收藏 0
点赞 0
评论 0
public void processRightClickBlock(CPacketPlayerTryUseItemOnBlock packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());
WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension);
EnumHand enumhand = packetIn.getHand();
ItemStack itemstack = this.playerEntity.getHeldItem(enumhand);
BlockPos blockpos = packetIn.getPos();
EnumFacing enumfacing = packetIn.getDirection();
this.playerEntity.markPlayerActive();
if (blockpos.getY() < this.serverController.getBuildLimit() - 1 || enumfacing != EnumFacing.UP && blockpos.getY() < this.serverController.getBuildLimit())
{
if (this.targetPos == null && this.playerEntity.getDistanceSq((double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 0.5D, (double)blockpos.getZ() + 0.5D) < 64.0D && !this.serverController.isBlockProtected(worldserver, blockpos, this.playerEntity) && worldserver.getWorldBorder().contains(blockpos))
{
this.playerEntity.interactionManager.processRightClickBlock(this.playerEntity, worldserver, itemstack, enumhand, blockpos, enumfacing, packetIn.getFacingX(), packetIn.getFacingY(), packetIn.getFacingZ());
}
}
else
{
TextComponentTranslation textcomponenttranslation = new TextComponentTranslation("build.tooHigh", new Object[] {Integer.valueOf(this.serverController.getBuildLimit())});
textcomponenttranslation.getStyle().setColor(TextFormatting.RED);
this.playerEntity.connection.sendPacket(new SPacketChat(textcomponenttranslation, (byte)2));
}
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos));
this.playerEntity.connection.sendPacket(new SPacketBlockChange(worldserver, blockpos.offset(enumfacing)));
}
CommandSaveOn.java 文件源码
项目:BaseClient
阅读 15
收藏 0
点赞 0
评论 0
/**
* Callback when the command is invoked
*/
public void processCommand(ICommandSender sender, String[] args) throws CommandException
{
MinecraftServer minecraftserver = MinecraftServer.getServer();
boolean flag = false;
for (int i = 0; i < minecraftserver.worldServers.length; ++i)
{
if (minecraftserver.worldServers[i] != null)
{
WorldServer worldserver = minecraftserver.worldServers[i];
if (worldserver.disableLevelSaving)
{
worldserver.disableLevelSaving = false;
flag = true;
}
}
}
if (flag)
{
notifyOperators(sender, this, "commands.save.enabled", new Object[0]);
}
else
{
throw new CommandException("commands.save-on.alreadyOn", new Object[0]);
}
}
ServerConfigurationManager.java 文件源码
项目:DecompiledMinecraft
阅读 24
收藏 0
点赞 0
评论 0
/**
* Called when a player disconnects from the game. Writes player data to disk and removes them from the world.
*/
public void playerLoggedOut(EntityPlayerMP playerIn)
{
playerIn.triggerAchievement(StatList.leaveGameStat);
this.writePlayerData(playerIn);
WorldServer worldserver = playerIn.getServerForPlayer();
if (playerIn.ridingEntity != null)
{
worldserver.removePlayerEntityDangerously(playerIn.ridingEntity);
logger.debug("removing player mount");
}
worldserver.removeEntity(playerIn);
worldserver.getPlayerManager().removePlayer(playerIn);
this.playerEntityList.remove(playerIn);
UUID uuid = playerIn.getUniqueID();
EntityPlayerMP entityplayermp = (EntityPlayerMP)this.uuidToPlayerMap.get(uuid);
if (entityplayermp == playerIn)
{
this.uuidToPlayerMap.remove(uuid);
this.playerStatFiles.remove(uuid);
}
this.sendPacketToAllPlayers(new S38PacketPlayerListItem(S38PacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {playerIn}));
}
LostCitySupport.java 文件源码
项目:InControl
阅读 13
收藏 0
点赞 0
评论 0
public static <T> boolean isBuilding(IEventQuery<T> query, T event) {
World world = query.getWorld(event);
WorldServer ws = (WorldServer) world;
if (ws.getChunkProvider().chunkGenerator instanceof ILostChunkGenerator) {
ILostChunkGenerator gen = (ILostChunkGenerator) ws.getChunkProvider().chunkGenerator;
BlockPos pos = query.getPos(event);
ILostChunkInfo chunkInfo = gen.getChunkInfo(pos.getX() >> 4, pos.getZ() >> 4);
return chunkInfo.isCity() && chunkInfo.getBuildingType() != null;
}
return false;
}
CmdKillMobs.java 文件源码
项目:InControl
阅读 15
收藏 0
点赞 0
评论 0
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
if (args.length <= 0) {
ChatTools.addChatMessage(sender, new TextComponentString(TextFormatting.RED + "Use 'all', 'passive', 'hostile' or name of the mob followed by optional dimension id"));
InControl.logger.error("Use 'all', 'passive', 'hostile', 'entity' or name of the mob followed by optional dimension id");
return;
}
int dimension = (sender instanceof EntityPlayer) ? sender.getEntityWorld().provider.getDimension() : 0;
if (args.length > 1) {
dimension = Integer.parseInt(args[1]);
}
String arg0 = args[0].toLowerCase();
boolean all = "all".equals(arg0);
boolean passive = "passive".equals(arg0);
boolean hostile = "hostile".equals(arg0);
boolean entity = "entity".equals(arg0);
WorldServer worldServer = server.worldServerForDimension(dimension);
List<Entity> entities = worldServer.getEntities(Entity.class, input -> {
if (all) {
return !(input instanceof EntityPlayer);
} else if (passive) {
return input instanceof IAnimals && !(input instanceof IMob);
} else if (hostile) {
return input instanceof IMob;
} else if (entity) {
return !(input instanceof IAnimals) && !(input instanceof EntityPlayer);
} else {
String id = EntityTools.findEntityIdByClass(input.getClass());
return arg0.equals(id);
}
});
for (Entity e : entities) {
worldServer.removeEntity(e);
}
ChatTools.addChatMessage(sender, new TextComponentString(TextFormatting.YELLOW + "Removed " + entities.size() + " entities!"));
}
EntityShulkerBullet.java 文件源码
项目:Backmemed
阅读 16
收藏 0
点赞 0
评论 0
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (!this.world.isRemote)
{
this.playSound(SoundEvents.ENTITY_SHULKER_BULLET_HURT, 1.0F, 1.0F);
((WorldServer)this.world).spawnParticle(EnumParticleTypes.CRIT, this.posX, this.posY, this.posZ, 15, 0.2D, 0.2D, 0.2D, 0.0D, new int[0]);
this.setDead();
}
return true;
}