Exemplo n.º 1
0
        public override void Initialize(ICoreAPI api)
        {
            base.Initialize(api);

            Block = api.World.BlockAccessor.GetBlock(pos);

            manager = api.ModLoader.GetModSystem <MechanicalPowerMod>();

            if (api.World.Side == EnumAppSide.Client)
            {
                lightRbs = api.World.BlockAccessor.GetLightRGBs(pos);
            }

            manager.AddDeviceForRender(this);
            if (NetworkId > 0)
            {
                network = manager.GetOrCreateNetwork(NetworkId);
            }

            AxisMapping = new int[3] {
                0, 1, 2
            };
            AxisSign = new int[3] {
                1, 1, 1
            };
        }
Exemplo n.º 2
0
        public override void Initialize(ICoreAPI api, JsonObject properties)
        {
            base.Initialize(api, properties);

            Shape = GetShape();

            manager = Api.ModLoader.GetModSystem <MechanicalPowerMod>();

            if (Api.World.Side == EnumAppSide.Client)
            {
                lightRbs = Api.World.BlockAccessor.GetLightRGBs(Blockentity.Pos);
                if (NetworkId > 0)
                {
                    network = manager.GetOrCreateNetwork(NetworkId);
                    JoinNetwork(network);
                }
            }

            manager.AddDeviceForRender(this);

            AxisSign = new int[3] {
                0, 0, 1
            };
            SetOrientations();

            if (api.Side == EnumAppSide.Server && OutFacingForNetworkDiscovery != null)
            {
                CreateJoinAndDiscoverNetwork(OutFacingForNetworkDiscovery);
            }
        }
Exemplo n.º 3
0
        public override void Initialize(ICoreAPI api)
        {
            base.Initialize(api);
            Shape  = Block.Shape;
            Facing = BlockFacing.FromCode(Block.Variant["side"]);
            this.transmissionPos = Pos.AddCopy(Facing);

            manager = Api.ModLoader.GetModSystem <MechanicalPowerMod>();
            manager.AddDeviceForRender(this);

            AxisSign = new int[3] {
                0, 0, 0
            };
            switch (Facing.Index)
            {
            case 0:
                AxisSign[0] = -1;
                hinge       = new Vec3f(0.5f, 0f, 0.375f);
                break;

            case 2:
                AxisSign[0] = 1;
                hinge       = new Vec3f(0.5f, 0f, 0.625f);
                break;

            case 1:
                AxisSign[2] = -1;
                hinge       = new Vec3f(0.625f, 0f, 0.5f);
                break;

            default:
                AxisSign[2] = 1;
                break;
            }

            if (api.World.Side == EnumAppSide.Client)
            {
                RegisterGameTickListener(OnClientGameTick, 16);
            }
        }