Search in sources :

Example 1 with Boat

use of net.minecraft.world.entity.vehicle.Boat in project SpongeCommon by SpongePowered.

the class BoatData method register.

// @formatter:off
public static void register(final DataProviderRegistrator registrator) {
    registrator.asMutable(Boat.class).create(Keys.BOAT_TYPE).get(h -> ((BoatType) (Object) h.getBoatType())).set((h, v) -> h.setType((Boat.Type) (Object) v)).asMutable(BoatAccessor.class).create(Keys.IS_IN_WATER).get(h -> h.accessor$status() == Boat.Status.IN_WATER).asMutable(BoatBridge.class).create(Keys.CAN_MOVE_ON_LAND).get(BoatBridge::bridge$getMoveOnLand).set(BoatBridge::bridge$setMoveOnLand).asMutable(BoatBridge.class).create(Keys.OCCUPIED_DECELERATION).get(BoatBridge::bridge$getOccupiedDecelerationSpeed).set(BoatBridge::bridge$setOccupiedDecelerationSpeed).asMutable(BoatBridge.class).create(Keys.MAX_SPEED).get(BoatBridge::bridge$getMaxSpeed).set(BoatBridge::bridge$setMaxSpeed).asMutable(BoatBridge.class).create(Keys.UNOCCUPIED_DECELERATION).get(BoatBridge::bridge$getUnoccupiedDecelerationSpeed).set(BoatBridge::bridge$setUnoccupiedDecelerationSpeed);
    final ResourceKey boatDataStoreKey = ResourceKey.sponge("boat");
    registrator.spongeDataStore(boatDataStoreKey, 2, new DataContentUpdater[] { BoatData.BOAT_UPDATER_BYTE_TO_BOOL_FIX }, BoatBridge.class, Keys.MAX_SPEED, Keys.CAN_MOVE_ON_LAND, Keys.OCCUPIED_DECELERATION, Keys.UNOCCUPIED_DECELERATION);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Entity.Boat.BOAT_MAX_SPEED, boatDataStoreKey, Keys.MAX_SPEED);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Entity.Boat.BOAT_MOVE_ON_LAND, boatDataStoreKey, Keys.CAN_MOVE_ON_LAND);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Entity.Boat.BOAT_OCCUPIED_DECELERATION_SPEED, boatDataStoreKey, Keys.OCCUPIED_DECELERATION);
    SpongeDataManager.INSTANCE.registerLegacySpongeData(Constants.Entity.Boat.BOAT_UNOCCUPIED_DECELERATION_SPEED, boatDataStoreKey, Keys.UNOCCUPIED_DECELERATION);
}
Also used : DataContentUpdater(org.spongepowered.api.data.persistence.DataContentUpdater) Keys(org.spongepowered.api.data.Keys) BoatBridge(org.spongepowered.common.bridge.world.entity.vehicle.BoatBridge) Constants(org.spongepowered.common.util.Constants) Boat(net.minecraft.world.entity.vehicle.Boat) DataProviderRegistrator(org.spongepowered.common.data.provider.DataProviderRegistrator) ResourceKey(org.spongepowered.api.ResourceKey) ByteToBooleanContentUpdater(org.spongepowered.common.data.ByteToBooleanContentUpdater) BoatAccessor(org.spongepowered.common.accessor.world.entity.vehicle.BoatAccessor) BoatType(org.spongepowered.api.data.type.BoatType) SpongeDataManager(org.spongepowered.common.data.SpongeDataManager) BoatType(org.spongepowered.api.data.type.BoatType) BoatBridge(org.spongepowered.common.bridge.world.entity.vehicle.BoatBridge) Boat(net.minecraft.world.entity.vehicle.Boat) ResourceKey(org.spongepowered.api.ResourceKey)

Aggregations

Boat (net.minecraft.world.entity.vehicle.Boat)1 ResourceKey (org.spongepowered.api.ResourceKey)1 Keys (org.spongepowered.api.data.Keys)1 DataContentUpdater (org.spongepowered.api.data.persistence.DataContentUpdater)1 BoatType (org.spongepowered.api.data.type.BoatType)1 BoatAccessor (org.spongepowered.common.accessor.world.entity.vehicle.BoatAccessor)1 BoatBridge (org.spongepowered.common.bridge.world.entity.vehicle.BoatBridge)1 ByteToBooleanContentUpdater (org.spongepowered.common.data.ByteToBooleanContentUpdater)1 SpongeDataManager (org.spongepowered.common.data.SpongeDataManager)1 DataProviderRegistrator (org.spongepowered.common.data.provider.DataProviderRegistrator)1 Constants (org.spongepowered.common.util.Constants)1