/******************************************************************************* * 3. Blockstate *******************************************************************************/ @Override protected BlockStateContainer createBlockState() { return new ExtendedBlockState(this, new IProperty[]{META_PROPERTY, BlockLeaves.FANCY}, new IUnlistedProperty[]{ B3DLoader.B3DFrameProperty.INSTANCE }); }
@Override public IBlockState getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos) { if(state.getValue(META_PROPERTY) == WoodType.Palm) { B3DLoader.B3DState newState = new B3DLoader.B3DState(null, 1); return ((IExtendedBlockState) state).withProperty(B3DLoader.B3DFrameProperty.INSTANCE, newState); } return state; }
@EventHandler public void preInit(FMLPreInitializationEvent event) { FMLCommonHandler.instance().bus().register(instance); FMLCommonHandler.instance().bus().register(new ClientProxy()); MinecraftForge.EVENT_BUS.register(proxy); MinecraftForge.EVENT_BUS.register(new ClientHandler()); NetworkRegistry.INSTANCE.registerGuiHandler(RealLifeMod.instance, new GuiHandler()); FMLCommonHandler.instance().bus().register(new CommonHandler()); RenderPlayerAPI.register(Reference.ID, CustomPlayerRenderer.class); RealLifeMod_Blocks.defineBlocks(); RealLifeMod_Items.defineItems(); Physics.init(); this.vehiclefile = new File(MinecraftServer.getServer().getDataDirectory() + "/RLM/vehicles/"); this.signfile = new File(MinecraftServer.getServer().getDataDirectory() + "/RLM/signs/"); registerEntities(); loadAddonPacks(); Vehicles.setupVehicles(); Signs.setupSigns(); setupApps(); config = new Configuration(event.getSuggestedConfigurationFile()); RealLifeModConfig.syncConfig(); network = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.ID); network.registerMessage(SetPropertiesHandler.class, SetPropertiesPackage.class, 0, Side.SERVER); network.registerMessage(PacketHandlerPropsSet.class, PropertiesSetPackage.class, 1, Side.CLIENT); network.registerMessage(MountHandler.class, MountVehicleMessage.class, 2, Side.SERVER); network.registerMessage(SetPositionHandler.class, UpdateVehiclePacket.class, 3, Side.SERVER); network.registerMessage(CustomCollisionHandler.class, CustomCollisionPacket.class, 4, Side.SERVER); network.registerMessage(UpdateControlHandler.class, UpdateControlPackage.class, 5, Side.SERVER); network.registerMessage(ControllableInputHandler.class, ControlableInputPacket.class, 6, Side.SERVER); network.registerMessage(KeyHeldHandler.class, PacketDriveableKeyHeld.class, 7, Side.SERVER); network.registerMessage(PlaySoundHandler.class, PacketPlaySound.class, 8, Side.CLIENT); network.registerMessage(DefecationHandler.class, DefecatePacket.class, 9, Side.SERVER); network.registerMessage(UpdateToiletHandler.class, UpdateToiletPacket.class, 10, Side.SERVER); setupTileEntities(); GameRegistry.registerWorldGenerator(new WorldGenCopper(), 8); if (event.getSide().isClient()) { B3DLoader.instance.addDomain(Reference.ID); } }
@Override protected BlockState createBlockState() { return new ExtendedBlockState(this, new IProperty[]{}, new IUnlistedProperty[]{B3DLoader.B3DFrameProperty.instance}); }