Java 类net.minecraft.util.IThreadListener 实例源码
项目:Loot-Slash-Conquer
文件:PacketClassGui.java
@Override
public IMessage onMessage(final PacketClassGui message, final MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
EntityPlayer player = Minecraft.getMinecraft().player;
PlayerInformation playerInfo = (PlayerInformation) player.getCapability(CapabilityPlayerInformation.PLAYER_INFORMATION, null);
if (playerInfo != null && playerInfo.getPlayerClass() == 0)
{
player.openGui(LootSlashConquer.instance, GuiHandler.CLASS_SELECTION, player.getEntityWorld(), player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ());
}
}
});
return null;
}
项目:Loot-Slash-Conquer
文件:PacketUpdateChunkLevel.java
@Override
public IMessage onMessage(final PacketUpdateChunkLevel message, final MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
World world = Minecraft.getMinecraft().world;
ChunkPos chunkPos = new ChunkPos(message.chunkX, message.chunkZ);
IChunkLevelHolder chunkLevelHolder = CapabilityChunkLevel.getChunkLevelHolder(world);
if (chunkLevelHolder.getChunkLevel(chunkPos) != null) return;
IChunkLevel chunkLevel = new ChunkLevel(world, chunkPos, message.level);
chunkLevelHolder.setChunkLevel(chunkPos, chunkLevel);
}
});
return null;
}
项目:VillagerInventory
文件:ConfigSyncMessage.java
@Override
public IMessage onMessage(final ConfigSyncMessage message, MessageContext ctx)
{
IThreadListener threadListener = this.getThreadListener(ctx);
threadListener.addScheduledTask(new Runnable()
{
@Override
public void run()
{
ModConfiguration.enableInventoryGui = message.enableInventoryGui;
ModConfiguration.enableDeathDrops = message.enableDeathDrops;
ModConfiguration.requireEmptyHand = message.requireEmptyHand;
}
});
return null;
}
项目:Proyecto-DASI
文件:ObservationFromServer.java
/** IMPORTANT: Call this from the onMessage method in the subclass. */
public IMessage processMessage(final ObservationRequestMessage message, final MessageContext ctx)
{
IThreadListener mainThread = (WorldServer)ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
EntityPlayerMP player = ctx.getServerHandler().playerEntity;
JsonObject json = new JsonObject();
buildJson(json, player, message, ctx);
// Send this message back again now we've filled in the json stats.
Map<String, String> returnData = new HashMap<String, String>();
returnData.put("json", json.toString());
message.addReturnData(returnData);
MalmoMod.network.sendTo(new MalmoMod.MalmoMessage(MalmoMessageType.SERVER_OBSERVATIONSREADY, message.id, returnData), player);
}
});
return null; // no response in this case
}
项目:Proyecto-DASI
文件:ObservationFromServer.java
/** IMPORTANT: Call this from the onMessage method in the subclass. */
public IMessage processMessage(final ObservationRequestMessage message, final MessageContext ctx)
{
IThreadListener mainThread = (WorldServer)ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
EntityPlayerMP player = ctx.getServerHandler().playerEntity;
JsonObject json = new JsonObject();
buildJson(json, player, message, ctx);
// Send this message back again now we've filled in the json stats.
Map<String, String> returnData = new HashMap<String, String>();
returnData.put("json", json.toString());
message.addReturnData(returnData);
MalmoMod.network.sendTo(new MalmoMod.MalmoMessage(MalmoMessageType.SERVER_OBSERVATIONSREADY, message.id, returnData), player);
}
});
return null; // no response in this case
}
项目:CustomWorldGen
文件:OpenGuiHandler.java
@Override
protected void channelRead0(ChannelHandlerContext ctx, final OpenGui msg) throws Exception
{
IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get());
if (thread.isCallingFromMinecraftThread())
{
process(msg);
}
else
{
thread.addScheduledTask(new Runnable()
{
public void run()
{
OpenGuiHandler.this.process(msg);
}
});
}
}
项目:CustomWorldGen
文件:EntitySpawnHandler.java
@Override
protected void channelRead0(ChannelHandlerContext ctx, final EntityMessage msg) throws Exception
{
IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get());
if (thread.isCallingFromMinecraftThread())
{
process(msg);
}
else
{
thread.addScheduledTask(new Runnable()
{
public void run()
{
EntitySpawnHandler.this.process(msg);
}
});
}
}
项目:ToroChess
文件:MessageLegalMovesResponse.java
@Override
public IMessage onMessage(final MessageLegalMovesResponse message, MessageContext ctx) {
if (message.legalPositions == null || message.controlBlockPos == null) {
return null;
}
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
CheckerBoardOverlay.INSTANCE.setValidMoves(message.legalPositions);
}
});
return null;
}
项目:ToroChess
文件:MessageUpdateControlBlock.java
@Override
public IMessage onMessage(final MessageUpdateControlBlock message, MessageContext ctx) {
if (message.controlBlockPos == null) {
return null;
}
final IThreadListener mainThread = Minecraft.getMinecraft();
final EntityPlayerSP player = Minecraft.getMinecraft().player;
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
TileEntityChessControl control = ItemChessControlWand.getChessControlAt(player.world, message.controlBlockPos);
if (control == null) {
System.out.println("control block not found");
return;
}
control.readFromNBT(message.data);
}
});
return null;
}
项目:DynamicSurroundings
文件:RegistryManager.java
public static void reloadResources(@Nonnull final Side side) {
// Reload can be called on either side so make sure we queue
// up a scheduled task appropriately.
if (managers.hasValue(side)) {
final IThreadListener tl = side == Side.SERVER ? FMLCommonHandler.instance().getMinecraftServerInstance()
: Minecraft.getMinecraft();
if (tl == null)
managers.clear(side);
else
tl.addScheduledTask(new Runnable() {
public void run() {
managers.get().reload();
}
});
}
}
项目:malmo
文件:InventoryCommandsImplementation.java
@Override
public InventoryChangeMessage onMessage(final InventoryMessage message, MessageContext ctx)
{
final EntityPlayerMP player = ctx.getServerHandler().playerEntity;
IThreadListener mainThread = (WorldServer)ctx.getServerHandler().playerEntity.world;
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
ItemStack[] changes = null;
if (message.combine)
changes = combineSlots(player, message.invA, message.slotA, message.invB, message.slotB, message.containerPos);
else
changes = swapSlots(player, message.invA, message.slotA, message.invB, message.slotB, message.containerPos);
if (changes != null)
MalmoMod.network.sendTo(new InventoryChangeMessage(changes[0], changes[1]), player);
}
});
return null;
}
项目:malmo
文件:ObservationFromServer.java
/** IMPORTANT: Call this from the onMessage method in the subclass. */
public IMessage processMessage(ObservationRequestMessage message, MessageContext ctx)
{
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.world;
final EntityPlayerMP player = ctx.getServerHandler().playerEntity;
final ObservationRequestMessage mess = message;
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
JsonObject json = new JsonObject();
buildJson(json, player, mess);
// Send this message back again now we've filled in the json stats.
Map<String, String> returnData = new HashMap<String, String>();
returnData.put("json", json.toString());
mess.addReturnData(returnData);
MalmoMod.network.sendTo(new MalmoMod.MalmoMessage(MalmoMessageType.SERVER_OBSERVATIONSREADY, mess.id, returnData), player);
}
});
return null; // no response in this case
}
项目:UncraftingTable
文件:RecipeNavigationMessage.java
@Override
public IMessage onMessage(final RecipeNavigationMessage message, MessageContext ctx)
{
final EntityPlayerMP player = ctx.getServerHandler().player;
IThreadListener threadListener = (WorldServer)player.world;
threadListener.addScheduledTask(new Runnable()
{
@Override
public void run()
{
Container container = player.openContainer;
if (container instanceof ContainerUncraftingTable)
{
ContainerUncraftingTable uncraftingContainer = (ContainerUncraftingTable)container;
uncraftingContainer.uncraftingResult.selectedCraftingGrid = message.recipeIndex;
uncraftingContainer.switchRecipe();
}
}
});
return null;
}
项目:UncraftingTable
文件:ConfigSyncMessage.java
@Override
public IMessage onMessage(final ConfigSyncMessage message, MessageContext ctx)
{
IThreadListener threadListener = getThreadListener(ctx);
threadListener.addScheduledTask(new Runnable()
{
@Override
public void run()
{
ModConfiguration.maxUsedLevel = message.maxUsedLevel;
ModConfiguration.standardLevel = message.standardLevel;
ModConfiguration.enchantmentCost = message.enchantmentCost;
ModConfiguration.uncraftMethod = message.uncraftMethod;
ModConfiguration.excludedItems = message.excludedItems;
ModConfiguration.useNuggets = message.useNuggets;
ModConfiguration.registerNuggets = message.registerNuggets;
ModConfiguration.useRabbitHide = message.useRabbitHide;
ModConfiguration.ensureReturn = message.ensureReturn;
}
});
return null;
}
项目:MC-Prefab
文件:StructureHandler.java
@Override
public IMessage onMessage(final StructureTagMessage message, final MessageContext ctx)
{
// Or Minecraft.getMinecraft() on the client.
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world;
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
// This is server side. Build the structure.
EnumStructureConfiguration structureConfig = message.getStructureConfig();
StructureConfiguration configuration = structureConfig.structureConfig.ReadFromNBTTagCompound(message.getMessageTag());
configuration.BuildStructure(ctx.getServerHandler().player, ctx.getServerHandler().player.world);
}
});
// no response in this case
return null;
}
项目:MC-Prefab
文件:PlayerEntityHandler.java
@Override
public IMessage onMessage(final PlayerEntityTagMessage message, final MessageContext ctx)
{
// Or Minecraft.getMinecraft() on the client.
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
// This is client side.
NBTTagCompound newPlayerTag = Minecraft.getMinecraft().player.getEntityData();
newPlayerTag.setTag(EntityPlayerConfiguration.PLAYER_ENTITY_TAG, message.getMessageTag());
ClientEventHandler.playerConfig.loadFromNBTTagCompound(message.getMessageTag());
}
});
// no response in this case
return null;
}
项目:MobHunter
文件:MessageCapability.java
@Override
public IMessage onMessage(final MessageCapability message, MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
Minecraft mc = Minecraft.getMinecraft();
EntityPlayerSP player = mc.player;
Object capability = player.getCapability(message.capabilityType.getCapability(), null);
if(capability != null && capability instanceof INBTSerializable)
((INBTSerializable) capability).deserializeNBT(message.capabilityNBT);
//Refresh GuiQuest if open
if(message.capabilityType == EnumCapability.QUEST && mc.currentScreen != null && mc.currentScreen instanceof GuiQuest)
((GuiQuest) mc.currentScreen).updateQuest(null);
//Refresh GuiQuestList if open
if(mc.currentScreen != null && mc.currentScreen instanceof GuiQuestList)
((GuiQuestList) mc.currentScreen).refreshButtons();
}
});
return null;
}
项目:Lost-Eclipse-Outdated
文件:PacketMana.java
@Override
public IMessage onMessage(final PacketMana message, MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
EntityPlayer entity = Minecraft.getMinecraft().player;
if (entity instanceof EntityPlayer)
{
final IMana mana = CapabilityMana.getMana(entity);
LostEclipse.LOGGER.info("Sending mana over to client: " + message.mana);
mana.setMana(message.mana);
}
}
});
return null;
}
项目:Lost-Eclipse-Outdated
文件:PacketMaxMana.java
@Override
public IMessage onMessage(final PacketMaxMana message, MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
EntityPlayer entity = Minecraft.getMinecraft().player;
if (entity instanceof EntityPlayer)
{
final IMaxMana mana = CapabilityMaxMana.getMaxMana(entity);
mana.setMaxMana(message.mana);
}
}
});
return null;
}
项目:MoarCarts
文件:EntityTileEntityUpdateMessage.java
@Override
public IMessage onMessage(final EntityTileEntityUpdateMessage message, final MessageContext ctx)
{
IThreadListener mainThread = MoarCarts.proxy.getIThreadListener(ctx);
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
EntityMinecartTEBase minecartTEBase = message.getEntityMinecartTEBaseFromMessage(ctx);
if(minecartTEBase != null)
{
minecartTEBase.getTileEntity().readFromNBT(message.nbtTagCompound);
}
}
});
return null;
}
项目:TFC2
文件:CAnvilStrikePacket.java
@Override
public IMessage onMessage(final CAnvilStrikePacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
TileEntity te = net.minecraft.client.Minecraft.getMinecraft().world.getTileEntity(message.pos);
if(te != null)
{
TileAnvil anvil = (TileAnvil)te;
anvil.setStrikePoint(message.strikeIndex, message.strikePoint);
}
}
});
return null; // no response in this case
}
项目:TFC2
文件:CFoodPacket.java
@Override
public IMessage onMessage(final CFoodPacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
IFoodStatsTFC stats = (IFoodStatsTFC)net.minecraft.client.Minecraft.getMinecraft().player.getFoodStats();
stats.getNutritionMap().put(EnumFoodGroup.Fruit, message.nutritionFruit);
stats.getNutritionMap().put(EnumFoodGroup.Vegetable, message.nutritionVeg);
stats.getNutritionMap().put(EnumFoodGroup.Grain, message.nutritionGrain);
stats.getNutritionMap().put(EnumFoodGroup.Protein, message.nutritionProtein);
stats.getNutritionMap().put(EnumFoodGroup.Dairy, message.nutritionDairy);
stats.setWaterLevel(message.waterLevel);
}
});
return null; // no response in this case
}
项目:TFC2
文件:CMapPacket.java
@Override
public IMessage onMessage(final CMapPacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
if(WorldGen.getInstance().worldSeed == Long.MIN_VALUE)
{
WorldGen.getInstance().worldSeed = message.seed - Helper.combineCoords(message.islandX, message.islandZ);
ClientRenderHandler.IsGeneratingFirstIsland = true;
}
//WorldGen.getInstance().createIsland(message.islandX, message.islandZ, message.seed, true);
WorldGen.getInstance().forceBuildIsland(message.islandX, message.islandZ, message.seed);
}
});
return null; // no response in this case
}
项目:TFC2
文件:SMapRequestPacket.java
@Override
public IMessage onMessage(final SMapRequestPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
int j;
IslandMap map = WorldGen.getInstance().getIslandMap(message.islandX, message.islandZ);
long seed = ctx.getServerHandler().player.world.getSeed()+Helper.combineCoords(message.islandX, message.islandZ);
TFC.network.sendTo(new CMapPacket(message.islandX, message.islandZ, seed), ctx.getServerHandler().player);
}
});
return null; // no response in this case
}
项目:TFC2
文件:SKnappingPacket.java
@Override
public IMessage onMessage(final SKnappingPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
PlayerInfo pi = PlayerManagerTFC.getInstance().getPlayerInfoFromUUID(ctx.getServerHandler().player.getUniqueID());
pi.knappingInterface[message.id] = true;
if(ctx.getServerHandler().player.openContainer != null && ctx.getServerHandler().player.openContainer instanceof ContainerSpecialCrafting)
{
if(pi.specialCraftingTypeAlternate == null)
((ContainerSpecialCrafting)ctx.getServerHandler().player.openContainer).craftMatrix.setInventorySlotContents(message.id, ItemStack.EMPTY);
else
((ContainerSpecialCrafting)ctx.getServerHandler().player.openContainer).craftMatrix.setInventorySlotContents(message.id, pi.specialCraftingTypeAlternate);
}
}
});
return null; // no response in this case
}
项目:TFC2
文件:SAnvilCraftingPacket.java
@Override
public IMessage onMessage(final SAnvilCraftingPacket message, final MessageContext ctx) {
final IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
TileEntity te = ((WorldServer)mainThread).getTileEntity(message.pos);
if(te != null && te instanceof TileAnvil)
{
((TileAnvil)te).setAnvilRecipeIndex(message.recipe);
if(message.startedCrafting)
{
((TileAnvil)te).startCrafting(message.smithID);
}
}
}
});
return null; // no response in this case
}
项目:Cyclic
文件:PacketTileTextbox.java
private static void checkThreadAndEnqueue(final PacketTileTextbox message, final MessageContext ctx) {
//copied in from my PacketSyncPlayerData
IThreadListener thread = ModCyclic.proxy.getThreadFromContext(ctx);
// pretty much copied straight from vanilla code, see {@link PacketThreadUtil#checkThreadAndEnqueue}
thread.addScheduledTask(new Runnable() {
public void run() {
EntityPlayerMP player = ctx.getServerHandler().player;
World world = player.getEntityWorld();
TileEntity tile = world.getTileEntity(message.pos);
if (tile != null && tile instanceof ITileTextbox) {
//TODO: PacketTilePassword reusing this?
((ITileTextbox) tile).setText(message.text);
tile.markDirty();
}
}
});
}
项目:Cyclic
文件:PacketSpellFromServer.java
private void checkThreadAndEnqueue(final PacketSpellFromServer message, final MessageContext ctx) {
IThreadListener thread = ModCyclic.proxy.getThreadFromContext(ctx);
thread.addScheduledTask(new Runnable() {
public void run() {
if (ctx.side.isServer() && message != null && message.pos != null) {
EntityPlayer p = ctx.getServerHandler().player;
ISpell spell = SpellRegistry.getSpellFromID(message.spellID);
if (spell != null && spell instanceof ISpellFromServer) {
((ISpellFromServer) spell).castFromServer(message.pos, message.posOffset, message.face, p);
}
else {
ModCyclic.logger.error("WARNING: Message from server: spell not found" + message.spellID);
}
}
}
});
}
项目:Real-Life-Mod-1.8
文件:CustomCollisionHandler.java
@Override
public CustomCollisionPacket onMessage(final CustomCollisionPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
World world = ctx.getServerHandler().playerEntity.worldObj;
Entity e = (Entity) world.getEntityByID(message.id);
@Override
public void run() {
if (e != null) {
e.motionY=message.newY;
} else
System.out.println("Is null");
}
});
return null;
}
项目:Real-Life-Mod-1.8
文件:MountHandler.java
@Override
public MountVehicleMessage onMessage(final MountVehicleMessage message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
EntityPlayer player = ctx.getServerHandler().playerEntity;
World world = ctx.getServerHandler().playerEntity.worldObj;
Entity v = world.getEntityByID(message.vehicleId);
@Override
public void run() {
if (v != null) {
v.interactFirst(player);
}
}
});
return null;
}
项目:Real-Life-Mod-1.8
文件:ControllableInputHandler.java
@Override
public ControlableInputPacket onMessage(final ControlableInputPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
World world = ctx.getServerHandler().playerEntity.worldObj;
@Override
public void run() {
if(world.isRemote){
message.handleServerSide(ctx.getServerHandler().playerEntity);
}
}
});
return null;
}
项目:Real-Life-Mod-1.8
文件:SetPropertiesHandler.java
@Override
public SetPropertiesPackage onMessage(final SetPropertiesPackage message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().playerEntity.worldObj;
mainThread.addScheduledTask(new Runnable() {
@Override
public void run() {
EntityPlayerMP player = ctx.getServerHandler().playerEntity;
RLMPlayerProps.get(player).name = message.name;
RLMPlayerProps.get(player).surname = message.surname;
RLMPlayerProps.get(player).gender = EnumGender.valueOf(message.gender);
RLMPlayerProps.get(player).profession = EnumJob.valueOf(message.profession);
System.out.println(RLMPlayerProps.get(player).name + " " + RLMPlayerProps.get(player).surname + " "
+ String.valueOf(RLMPlayerProps.get(player).gender));
}
});
return null;
}
项目:Levels
文件:PacketMythicSound.java
@Override
public IMessage onMessage(final PacketMythicSound message, final MessageContext ctx)
{
IThreadListener mainThread = Minecraft.getMinecraft();
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
EntityPlayer player = Minecraft.getMinecraft().player;
player.playSound(SoundEvents.ENTITY_ENDERDRAGON_DEATH, 1.0F, 1.0F);
}
});
return null;
}
项目:TFC2
文件:CAnvilStrikePacket.java
@Override
public IMessage onMessage(final CAnvilStrikePacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
TileEntity te = net.minecraft.client.Minecraft.getMinecraft().world.getTileEntity(message.pos);
if(te != null)
{
TileAnvil anvil = (TileAnvil)te;
anvil.setStrikePoint(message.strikeIndex, message.strikePoint);
}
}
});
return null; // no response in this case
}
项目:TFC2
文件:CFoodPacket.java
@Override
public IMessage onMessage(final CFoodPacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
IFoodStatsTFC stats = (IFoodStatsTFC)net.minecraft.client.Minecraft.getMinecraft().player.getFoodStats();
stats.getNutritionMap().put(EnumFoodGroup.Fruit, message.nutritionFruit);
stats.getNutritionMap().put(EnumFoodGroup.Vegetable, message.nutritionVeg);
stats.getNutritionMap().put(EnumFoodGroup.Grain, message.nutritionGrain);
stats.getNutritionMap().put(EnumFoodGroup.Protein, message.nutritionProtein);
stats.getNutritionMap().put(EnumFoodGroup.Dairy, message.nutritionDairy);
stats.setWaterLevel(message.waterLevel);
}
});
return null; // no response in this case
}
项目:TFC2
文件:CMapPacket.java
@Override
public IMessage onMessage(final CMapPacket message, MessageContext ctx) {
IThreadListener mainThread = net.minecraft.client.Minecraft.getMinecraft(); //(WorldServer) ctx.getServerHandler().playerentityIn.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
if(WorldGen.getInstance().worldSeed == Long.MIN_VALUE)
{
WorldGen.getInstance().worldSeed = message.seed - Helper.combineCoords(message.islandX, message.islandZ);
ClientRenderHandler.IsGeneratingFirstIsland = true;
}
//WorldGen.getInstance().createIsland(message.islandX, message.islandZ, message.seed, true);
WorldGen.getInstance().forceBuildIsland(message.islandX, message.islandZ, message.seed);
}
});
return null; // no response in this case
}
项目:TFC2
文件:SMapRequestPacket.java
@Override
public IMessage onMessage(final SMapRequestPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
int j;
IslandMap map = WorldGen.getInstance().getIslandMap(message.islandX, message.islandZ);
long seed = ctx.getServerHandler().player.world.getSeed()+Helper.combineCoords(message.islandX, message.islandZ);
TFC.network.sendTo(new CMapPacket(message.islandX, message.islandZ, seed), ctx.getServerHandler().player);
}
});
return null; // no response in this case
}
项目:TFC2
文件:SKnappingPacket.java
@Override
public IMessage onMessage(final SKnappingPacket message, final MessageContext ctx) {
IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
PlayerInfo pi = PlayerManagerTFC.getInstance().getPlayerInfoFromUUID(ctx.getServerHandler().player.getUniqueID());
pi.knappingInterface[message.id] = true;
if(ctx.getServerHandler().player.openContainer != null && ctx.getServerHandler().player.openContainer instanceof ContainerSpecialCrafting)
{
if(pi.specialCraftingTypeAlternate == null)
((ContainerSpecialCrafting)ctx.getServerHandler().player.openContainer).craftMatrix.setInventorySlotContents(message.id, ItemStack.EMPTY);
else
((ContainerSpecialCrafting)ctx.getServerHandler().player.openContainer).craftMatrix.setInventorySlotContents(message.id, pi.specialCraftingTypeAlternate);
}
}
});
return null; // no response in this case
}
项目:TFC2
文件:SAnvilCraftingPacket.java
@Override
public IMessage onMessage(final SAnvilCraftingPacket message, final MessageContext ctx) {
final IThreadListener mainThread = (WorldServer) ctx.getServerHandler().player.world; // or Minecraft.getMinecraft() on the client
mainThread.addScheduledTask(new Runnable()
{
@Override
public void run()
{
TileEntity te = ((WorldServer)mainThread).getTileEntity(message.pos);
if(te != null && te instanceof TileAnvil)
{
((TileAnvil)te).setAnvilRecipeIndex(message.recipe);
if(message.startedCrafting)
{
((TileAnvil)te).startCrafting(message.smithID);
}
}
}
});
return null; // no response in this case
}
项目:MobTotems
文件:Message.java
@Override
public REQ onMessage(REQ aMessage, MessageContext aCtx) {
final REQ message = aMessage;
final MessageContext ctx = aCtx;
if (ctx.side == Side.SERVER) {
((IThreadListener) ctx.getServerHandler().player.world).addScheduledTask(new Runnable() {
@Override
public void run() {
handleServer(message, ctx.getServerHandler().player);
}
});
} else if (ctx.side == Side.CLIENT) {
Minecraft.getMinecraft().addScheduledTask(new Runnable() {
@Override
public void run() {
handleClient(message, Minecraft.getMinecraft().player);
}
});
}
return null;
}