Class JobLumberjack

All Implemented Interfaces:
IJob<EntityAIWorkLumberjack>, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class JobLumberjack extends AbstractJobCrafter<EntityAIWorkLumberjack,JobLumberjack>
The Lumberjack job class.
  • Field Details

    • BONUS_SPEED_PER_LEVEL

      public static final double BONUS_SPEED_PER_LEVEL
      Walking speed bonus per level
      See Also:
  • Constructor Details

    • JobLumberjack

      public JobLumberjack(ICitizenData entity)
      Create a lumberjack job.
      Parameters:
      entity - the lumberjack.
  • Method Details

    • 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>
      Overrides:
      serializeNBT in class AbstractJobCrafter<EntityAIWorkLumberjack,JobLumberjack>
    • getModel

      @NotNull public @NotNull net.minecraft.resources.ResourceLocation getModel()
      Description copied from interface: IJob
      Get the RenderBipedCitizen.Model to use when the Citizen performs this job role.
      Specified by:
      getModel in interface IJob<EntityAIWorkLumberjack>
      Overrides:
      getModel in class AbstractJobCrafter<EntityAIWorkLumberjack,JobLumberjack>
      Returns:
      Model of the citizen.
    • deserializeNBT

      public void deserializeNBT(@NotNull net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag compound)
      Specified by:
      deserializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
      Overrides:
      deserializeNBT in class AbstractJobCrafter<EntityAIWorkLumberjack,JobLumberjack>
    • onLevelUp

      public void onLevelUp()
      Description copied from interface: IJob
      Levelup actions on citizen levelup, allows custom actions based on Jobs
    • getTree

      @Nullable public @Nullable Tree getTree()
      Get the current tree the lumberjack is cutting.
      Returns:
      the tree.
    • setTree

      public void setTree(@Nullable @Nullable Tree tree)
      Set the tree he is currently cutting.
      Parameters:
      tree - the tree.
    • generateAI

      @NotNull public @NotNull EntityAIWorkLumberjack generateAI()
      Description copied from interface: IJob
      Generate your AI class to register.

      Suppressing Sonar Rule squid:S1452 This rule does "Generic wildcard types should not be used in return parameters" But in this case the rule does not apply because We are fine with all AbstractJob implementations and need generics only for java

      Returns:
      your personal AI instance.
    • getSaturationFactor

      public double getSaturationFactor()
      Description copied from interface: IJob
      Job saturation factor.
      Returns:
      increase in saturation consumption based on job.