// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.core.modules.projectile.config;

import com.hypixel.hytale.component.ComponentAccessor;
import com.hypixel.hytale.math.vector.Vector3d;
import javax.annotation.Nullable;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Holder;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.lookup.CodecMapCodec;
import com.hypixel.hytale.server.core.io.NetworkSerializable;

public interface PhysicsConfig extends NetworkSerializable<com.hypixel.hytale.protocol.PhysicsConfig>
{
    @Nonnull
    public static final CodecMapCodec<PhysicsConfig> CODEC = new CodecMapCodec<PhysicsConfig>("Type");
    
    void apply(@Nonnull final Holder<EntityStore> p0, @Nullable final Ref<EntityStore> p1, @Nonnull final Vector3d p2, @Nonnull final ComponentAccessor<EntityStore> p3, final boolean p4);
    
    default double getGravity() {
        return 0.0;
    }
}
