cpw.mods.fml.common

## Annotation Type SidedProxy

-     @Retention(value=RUNTIME)
      @Target(value=FIELD)
      public @interface SidedProxy

  Sided proxies are loaded based on the specific environment they find themselves loaded into. They are used to ensure that client-specific code (such as GUIs) is only loaded into the game on the client side. It is applied to static fields of a class, anywhere in your mod code. FML will scan and load any classes with this annotation at mod construction time.

  This example will load a CommonProxy on the server side, and a ClientProxy on the client side.

      public class MySidedProxyHolder {
            {@literal @}SidedProxy(modId="MyModId",clientSide="mymod.ClientProxy", serverSide="mymod.CommonProxy")
            public static CommonProxy proxy;
        }

        public class CommonProxy {
            // Common or server stuff here that needs to be overridden on the client
        }

        public class ClientProxy extends CommonProxy {
            // Override common stuff with client specific stuff here
        }

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `java.lang.String` | `clientSide` The name of the client side class to load and populate
    `java.lang.String` | `modId` The (optional) name of a mod to load this proxy for.
    `java.lang.String` | `serverSide` The name of the server side class to load and populate

- - ### Element Detail

    - #### clientSide

          public abstract java.lang.String clientSide

      The name of the client side class to load and populate
      Default:
        ""

    - #### serverSide

          public abstract java.lang.String serverSide

      The name of the server side class to load and populate
      Default:
        ""

    - #### modId

          public abstract java.lang.String modId

      The (optional) name of a mod to load this proxy for. This will help ensure correct behaviour when loading a combined scala/java mod package. It is almost never going to be required, unless you ship both Scala and Java `Mod` content in a single jar.
      Default:
        ""