Record Class UnlockTradeEntityReward

java.lang.Object
java.lang.Record
petrolpark.mc.library.core.data.reward.entity.UnlockTradeEntityReward
All Implemented Interfaces:
net.minecraft.world.level.storage.loot.LootContextUser, IEntityReward, ISimpleEntityReward, IAbstractReward<IEntityReward.Type>, INamedRewardInfo, IRewardInfo

@ParametersAreNonnullByDefault public record UnlockTradeEntityReward(net.minecraft.world.item.trading.MerchantOffer trade) extends Record implements ISimpleEntityReward

petrolpark:unlock_trade

Adds a Trade to the Entity (if they are a Merchant). Arguments:
  • trade - The MerchantOffer to add to the recipient
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<UnlockTradeEntityReward> CODEC
    • STREAM_CODEC

      public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,UnlockTradeEntityReward> STREAM_CODEC
  • Constructor Details

    • UnlockTradeEntityReward

      public UnlockTradeEntityReward(net.minecraft.world.item.trading.MerchantOffer trade)
      Creates an instance of a UnlockTradeEntityReward record class.
      Parameters:
      trade - the value for the trade record component
  • Method Details

    • reward

      public boolean reward(net.minecraft.world.entity.Entity entity, net.minecraft.world.level.storage.loot.LootContext context, float multiplier, boolean simulate)
      Specified by:
      reward in interface IEntityReward
    • render

      public void render(net.minecraft.client.gui.GuiGraphics graphics)
      Specified by:
      render in interface IRewardInfo
    • addToDescription

      public void addToDescription(Lang.IndentedTooltipBuilder builder)
      Specified by:
      addToDescription in interface IRewardInfo
    • getType

      public EntityRewardAndInfoType getType()
      Specified by:
      getType in interface IAbstractReward<IEntityReward.Type>
      Specified by:
      getType in interface ISimpleEntityReward
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • trade

      public net.minecraft.world.item.trading.MerchantOffer trade()
      Returns the value of the trade record component.
      Returns:
      the value of the trade record component