[Mod+Сервер]Мод работает лишь на клиенте, как исправить?

Версия Minecraft
1.7.10
Да, да, да... я почитал форум и знаю, что сейчас некоторые скажут: Фууу... Mcreator... это еще та кака... лучше ручками пиши... и т.д.
НО!
Я впервые начал заниматься этим и начал с простого - MCreator.
Собственно, после создания мода в выше указанной программе появилась проблема. Мод запускается лишь на стороне клиента. При попытке запуска на сервере - вываливается ошибка.
Погуглив чуток я понял, что необходимо в код добавить некий Proxy. 
Объясните, пожалуйста, что это такое и как заставить мод написанный в MCreator запускаться на стороне сервера?
Спасибо тем, кто ответит по существу темы!

Приложу логи ошибок и скрипты Всякие))

[22:31:54] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
[22:31:55] [main/INFO]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
[22:31:55] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLServerTweaker
[22:31:55] [main/INFO]: Forge Mod Loader version 7.10.85.1240 for Minecraft 1.7.10 loading
[22:31:56] [main/INFO]: Java is Java HotSpot(TM) Client VM, version 1.8.0_151, running on Windows 7:x86:6.1, installed at C:\Program Files\Java\jre1.8.0_151
[22:31:56] [main/INFO]: Loading tweaker net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer from LegacyJavaFixer-1.0.jar
[22:31:56] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[22:31:56] [main/INFO]: Loading tweak class name net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer
[22:31:56] [main/INFO]: [LegacyJavaFixer] Tweaker: cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@1e6f74c
[22:31:56] [main/INFO]: [LegacyJavaFixer] Replacing tweaker cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@1e6f74c with net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement@1d05255
[22:31:56] [main/INFO]: [LegacyJavaFixer] Tweaker: FMLCorePlugin {[]}
[22:31:56] [main/INFO]: [LegacyJavaFixer] Tweaker: FMLForgePlugin {[]}
[22:31:56] [main/INFO]: [LegacyJavaFixer] Tweaker: cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@1e6f74c
[22:31:56] [main/INFO]: [LegacyJavaFixer] Replacing tweaker cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@1e6f74c with net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement@1d05255
[22:31:56] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[22:31:56] [main/INFO]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement
[22:31:56] [main/INFO]: [LegacyJavaFixer] Replacing sort
[22:31:56] [main/INFO]: [LegacyJavaFixer] Detected TerminalTweaker
[22:31:56] [main/INFO]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement
[22:31:56] [main/INFO]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer
[22:31:56] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[22:31:59] [main/INFO]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[22:31:59] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[22:32:00] [main/INFO]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[22:32:00] [main/INFO]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[22:32:00] [main/INFO]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
[22:32:10] [Server thread/INFO]: Starting minecraft server version 1.7.10
[22:32:10] [Server thread/INFO]: Attempting early MinecraftForge initialization
[22:32:10] [Server thread/INFO]: MinecraftForge v10.13.2.1240 Initialized
[22:32:10] [Server thread/INFO]: Replaced 182 ore recipies
[22:32:10] [Server thread/INFO]: Completed early MinecraftForge initialization
[22:32:10] [Server thread/INFO]: Searching D:\Server Mods 2\mods for mods
[22:32:10] [Server thread/INFO]: Forge Mod Loader has identified 4 mods to load
[22:32:11] [Server thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, modname] at CLIENT
[22:32:11] [Server thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, modname] at SERVER
[22:32:11] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP
at mod.mcreator.mcreator_crystalOre.<clinit>(mcreator_crystalOre.java:54) ~[mcreator_crystalOre.class:?]
at mod.mcreator.modname.<init>(modname.java:45) ~[modname.class:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_151]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_151]
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173) ~[ILanguageAdapter$JavaAdapter.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486) ~[FMLModContainer.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.7.10.jar:?]
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.7.10.jar:?]
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) ~[Loader.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87) ~[FMLServerHandler.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:319) ~[FMLCommonHandler.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:170) ~[lt.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:620) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityClientPlayerMP
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.11.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
... 36 more
Caused by: java.lang.NullPointerException
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.11.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
... 36 more
[22:32:11] [Server thread/ERROR]: Cause of unexpected exception was
java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityClientPlayerMP
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.11.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_151]
at mod.mcreator.mcreator_crystalOre.<clinit>(mcreator_crystalOre.java:54) ~[mcreator_crystalOre.class:?]
at mod.mcreator.modname.<init>(modname.java:45) ~[modname.class:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_151]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_151]
at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173) ~[ILanguageAdapter$JavaAdapter.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:486) ~[FMLModContainer.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.7.10.jar:?]
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.7.10.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.7.10.jar:?]
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) ~[LoadController.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) ~[Loader.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87) ~[FMLServerHandler.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:319) ~[FMLCommonHandler.class:git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:170) ~[lt.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:620) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.NullPointerException
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.11.jar:?]
... 38 more
[22:32:11] [Server thread/ERROR]: This crash report has been saved to: D:\Server Mods 2\.\crash-reports\crash-2017-11-15_22.32.11-server.txt
[22:32:11] [Server thread/WARN]: Can't revert to frozen GameData state without freezing first.
[22:32:11] [Server thread/INFO]: Applying holder lookups
[22:32:11] [Server thread/INFO]: Holder lookups applied
[22:32:11] [Server thread/INFO]: The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED. Errors may have been discarded.
[22:32:11] [Server thread/INFO]: The state engine was in incorrect state ERRORED and forced into state AVAILABLE. Errors may have been discarded.



package mod.mcreator;
import net.minecraftforge.common.MinecraftForge;

import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.World;
import net.minecraft.item.ItemStack;
import net.minecraft.entity.player.EntityPlayer;

import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.FMLEmbeddedChannel;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.IFuelHandler;

@Mod(modid = testenvironmentmod.MODID, version = testenvironmentmod.VERSION)
public class testenvironmentmod implements IFuelHandler, IWorldGenerator {

public static final String MODID = "testenvironmentmod";
public static final String VERSION = "1.0.0";

@SidedProxy(clientSide = "mod.mcreator.ClientProxytestenvironmentmod", serverSide = "mod.mcreator.CommonProxytestenvironmentmod")
// @SidedProxy(clientSide="mod.mcreator.ClientProxytestenvironmentmod",
// serverSide="mod.mcreator.CommonProxytestenvironmentmod")
public static CommonProxytestenvironmentmod proxy;
// public static EnumMap<Side, FMLEmbeddedChannel> channels =
// NetworkRegistry.INSTANCE.newChannel("MCRBUS", new
// ChannelHandlertestenvironmentmod());

@Instance(MODID)
public static testenvironmentmod instance;

mcreator_crystal mcreator_0 = new mcreator_crystal();
mcreator_crystalOre mcreator_1 = new mcreator_crystalOre();
mcreator_crystalArmor mcreator_2 = new mcreator_crystalArmor();
mcreator_mob mcreator_3 = new mcreator_mob();
mcreator_blueCrystal mcreator_4 = new mcreator_blueCrystal();
mcreator_blueArmor mcreator_5 = new mcreator_blueArmor();

@Override
public int getBurnTime(ItemStack fuel) {
if (mcreator_0.addFuel(fuel) != 0)
return mcreator_0.addFuel(fuel);
if (mcreator_1.addFuel(fuel) != 0)
return mcreator_1.addFuel(fuel);
if (mcreator_2.addFuel(fuel) != 0)
return mcreator_2.addFuel(fuel);
if (mcreator_3.addFuel(fuel) != 0)
return mcreator_3.addFuel(fuel);
if (mcreator_4.addFuel(fuel) != 0)
return mcreator_4.addFuel(fuel);
if (mcreator_5.addFuel(fuel) != 0)
return mcreator_5.addFuel(fuel);
return 0;
}

@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

chunkX = chunkX * 16;
chunkZ = chunkZ * 16;
if (world.provider.dimensionId == -1)
mcreator_0.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_0.generateSurface(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == -1)
mcreator_1.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_1.generateSurface(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == -1)
mcreator_2.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_2.generateSurface(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == -1)
mcreator_3.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_3.generateSurface(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == -1)
mcreator_4.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_4.generateSurface(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == -1)
mcreator_5.generateNether(world, random, chunkX, chunkZ);
if (world.provider.dimensionId == 0)
mcreator_5.generateSurface(world, random, chunkX, chunkZ);

}

@EventHandler
public void load(FMLInitializationEvent event) {

GameRegistry.registerFuelHandler(this);
GameRegistry.registerWorldGenerator(this, 1);
MinecraftForge.EVENT_BUS.register(new mcreator_GlobalEventstestenvironmentmod());
NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler());
mcreator_0.load();
mcreator_1.load();
mcreator_2.load();
mcreator_3.load();
mcreator_4.load();
mcreator_5.load();

}

@EventHandler
public void serverLoad(FMLServerStartingEvent event) {
mcreator_0.serverLoad(event);
mcreator_1.serverLoad(event);
mcreator_2.serverLoad(event);
mcreator_3.serverLoad(event);
mcreator_4.serverLoad(event);
mcreator_5.serverLoad(event);
}

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
mcreator_0.instance = this.instance;
mcreator_1.instance = this.instance;
mcreator_2.instance = this.instance;
mcreator_3.instance = this.instance;
mcreator_4.instance = this.instance;
mcreator_5.instance = this.instance;
mcreator_0.preInit(event);
mcreator_1.preInit(event);
mcreator_2.preInit(event);
mcreator_3.preInit(event);
mcreator_4.preInit(event);
mcreator_5.preInit(event);
proxy.registerRenderers(this);
}

public static class GuiHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
return null;
}

@Override
public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
return null;
}
}

}



package mod.mcreator;
public class CommonProxytestenvironmentmod {
public void registerRenderers(testenvironmentmod ins) {
}
}


package mod.mcreator;
public class ClientProxytestenvironmentmod extends CommonProxytestenvironmentmod {

@Override
public void registerRenderers(testenvironmentmod ins) {
ins.mcreator_0.registerRenderers();
ins.mcreator_1.registerRenderers();
ins.mcreator_2.registerRenderers();
ins.mcreator_3.registerRenderers();
ins.mcreator_4.registerRenderers();
ins.mcreator_5.registerRenderers();

}
}



Думаю ктото подкинет исправленный код)) 


Help Please
 
Решение
вместо
Код:
public void onBlockAdded(World world, int i, int j, int k) {
EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
if (entity != null && world != null) {
int le = MathHelper.floor_double((double) (entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
world.setBlockMetadataWithNotify(i, j, k, le, 2);
}

Код:
@Override
    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLiving, ItemStack itemStack)
    {
        int metadata = world.getBlockMetadata(x, y, z);

        int angle = MathHelper.floor_double(entityLiving.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
        int change = 0;

        switch (angle)
        {
        case 0:
            change = 3;
            break;
        case 1...
Сверху