java.lang.Object
com.simibubi.create.content.contraptions.minecart.capability.MinecartController
All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class MinecartController extends Object implements net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
Extended code for Minecarts, this allows for handling stalled carts and coupled trains
  • Field Details

    • EMPTY

      public static final MinecartController EMPTY
    • SERIALIZER

      public static final net.neoforged.neoforge.attachment.IAttachmentSerializer<net.minecraft.nbt.CompoundTag,MinecartController> SERIALIZER
  • Constructor Details

    • MinecartController

      public MinecartController(net.minecraft.world.entity.vehicle.AbstractMinecart minecart)
  • Method Details

    • isEmpty

      public final boolean isEmpty()
    • getType

      @NotNull protected @NotNull MinecartController.Type getType()
    • tick

      public void tick()
    • isFullyCoupled

      public boolean isFullyCoupled()
    • isLeadingCoupling

      public boolean isLeadingCoupling()
    • isConnectedToCoupling

      public boolean isConnectedToCoupling()
    • isCoupledThroughContraption

      public boolean isCoupledThroughContraption()
    • hasContraptionCoupling

      public boolean hasContraptionCoupling(boolean current)
    • getCouplingLength

      public float getCouplingLength(boolean leading)
    • decouple

      public void decouple()
    • removeConnection

      public void removeConnection(boolean main)
    • prepareForCoupling

      public void prepareForCoupling(boolean isLeading)
    • coupleWith

      public void coupleWith(boolean isLeading, UUID coupled, float length, boolean contraption)
    • getCoupledCart

      @Nullable public UUID getCoupledCart(boolean asMain)
    • isStalled

      public boolean isStalled()
    • setStalledExternally

      public void setStalledExternally(boolean stall)
    • sendData

      public void sendData()
    • sendData

      public void sendData(@Nullable net.minecraft.world.entity.vehicle.AbstractMinecart cart)
    • serializeNBT

      public net.minecraft.nbt.CompoundTag serializeNBT(@NotNull net.minecraft.core.HolderLookup.Provider provider)
      Specified by:
      serializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
    • deserializeNBT

      public void deserializeNBT(@NotNull net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag nbt)
      Specified by:
      deserializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
    • isPresent

      public boolean isPresent()
    • cart

      public net.minecraft.world.entity.vehicle.AbstractMinecart cart()