001/* 002 * The FML Forge Mod Loader suite. 003 * Copyright (C) 2012 cpw 004 * 005 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or any later version. 007 * 008 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 009 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 010 * 011 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 012 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 013 */ 014 015package cpw.mods.fml.common; 016 017import java.util.EnumSet; 018 019public enum TickType { 020 /** 021 * Fired during the world evaluation loop 022 * server and client side 023 * 024 * arg 0 : The world that is ticking 025 */ 026 WORLD, 027 /** 028 * client side 029 * Fired during the render processing phase 030 * arg 0 : float "partial render time" 031 */ 032 RENDER, 033 /** 034 * Not fired 035 */ 036 @Deprecated 037 GUI, 038 /** 039 * Not fired 040 */ 041 @Deprecated 042 CLIENTGUI, 043 /** 044 * server side 045 * Fired once as the world loads from disk 046 */ 047 WORLDLOAD, 048 /** 049 * client side only 050 * Fired once per client tick loop. 051 */ 052 CLIENT, 053 /** 054 * client and server side. 055 * Fired whenever the players update loop runs. 056 * arg 0 : the player 057 * arg 1 : the world the player is in 058 */ 059 PLAYER, 060 /** 061 * server side only. 062 * This is the server game tick. 063 * Fired once per tick loop on the server. 064 */ 065 SERVER; 066 067 /** 068 * Partner ticks that are also cancelled by returning false from onTickInGame 069 */ 070 public EnumSet<TickType> partnerTicks() 071 { 072 if (this==CLIENT) return EnumSet.of(RENDER); 073 if (this==RENDER) return EnumSet.of(CLIENT); 074 if (this==GUI) return EnumSet.of(CLIENTGUI); 075 if (this==CLIENTGUI) return EnumSet.of(GUI); 076 return EnumSet.noneOf(TickType.class); 077 } 078}