Datensatzklasse LimitProfile

java.lang.Object
java.lang.Record
de.delinkedde.areashopreborn.domain.LimitProfile
Datensatzkomponenten:
name - stable profile name
permission - optional permission selecting this profile
priority - selection priority; greater values win
maximumOwnedParcels - maximum simultaneously owned parcels
maximumManagedCities - maximum cities managed as owner or landlord
maximumParcelsPerCity - maximum direct parcels in a managed city
maximumRegionVolume - maximum volume of a newly created city or parcel

public record LimitProfile(String name, String permission, int priority, int maximumOwnedParcels, int maximumManagedCities, int maximumParcelsPerCity, long maximumRegionVolume) extends Record
Immutable permission-selected limits applied to one player. A value of -1 means unlimited; every other value must be non-negative.
  • Konstruktordetails

    • LimitProfile

      public LimitProfile(String name, String permission, int priority, int maximumOwnedParcels, int maximumManagedCities, int maximumParcelsPerCity, long maximumRegionVolume)
      Validates every configured limit at startup.
  • Methodendetails

    • permitsOwnedParcel

      public boolean permitsOwnedParcel(int current)
      Tests whether another owned parcel may be acquired.
      Parameter:
      current - current owned parcel count
      Gibt zurück:
      whether acquisition stays within the profile
    • permitsManagedCity

      public boolean permitsManagedCity(int current)
      Tests whether another city may be assigned.
      Parameter:
      current - current managed city count
      Gibt zurück:
      whether assignment stays within the profile
    • permitsParcelInCity

      public boolean permitsParcelInCity(int current)
      Tests whether another direct parcel may be created.
      Parameter:
      current - current direct parcel count
      Gibt zurück:
      whether creation stays within the profile
    • permitsVolume

      public boolean permitsVolume(long volume)
      Tests a proposed cuboid volume.
      Parameter:
      volume - proposed volume
      Gibt zurück:
      whether the volume stays within the profile
    • toString

      public final String toString()
      Gibt eine Zeichenfolgendarstellung dieser Datensatzklasse zurück. Die Darstellung enthält den Namen der Klasse, gefolgt vom Namen und Wert jeder der Datensatzkomponenten.
      Angegeben von:
      toString in Klasse Record
      Gibt zurück:
      eine Zeichenfolgendarstellung dieses Objekts
    • hashCode

      public final int hashCode()
      Gibt einen Hashcodewert für diese Objekt zurück. Der Wert wird vom Hashcode jeder der Datensatzkomponenten abgeleitet.
      Angegeben von:
      hashCode in Klasse Record
      Gibt zurück:
      ein Hashcodewert für dieses Objekt
    • equals

      public final boolean equals(Object o)
      Gibt an, ob ein anderes Objekt diesem gleich ("equal to") ist. Die Objekte sind gleich, wenn das andere Objekt der gleichen Klasse angehört und alle Datensatzkomponenten gleich sind. Referenzkomponenten werden verglichen mit Objects::equals(Object,Object); primitive Komponenten werden verglichen mit "==".
      Angegeben von:
      equals in Klasse Record
      Parameter:
      o - das Objekt, mit dem verglichen wird
      Gibt zurück:
      true, wenn dieses Objekt gleich dem Argument o ist, andernfalls false.
    • name

      public String name()
      Gibt den Wert für die Datensatzkomponente name zurück.
      Gibt zurück:
      Wert der Datensatzkomponente name
    • permission

      public String permission()
      Gibt den Wert für die Datensatzkomponente permission zurück.
      Gibt zurück:
      Wert der Datensatzkomponente permission
    • priority

      public int priority()
      Gibt den Wert für die Datensatzkomponente priority zurück.
      Gibt zurück:
      Wert der Datensatzkomponente priority
    • maximumOwnedParcels

      public int maximumOwnedParcels()
      Gibt den Wert für die Datensatzkomponente maximumOwnedParcels zurück.
      Gibt zurück:
      Wert der Datensatzkomponente maximumOwnedParcels
    • maximumManagedCities

      public int maximumManagedCities()
      Gibt den Wert für die Datensatzkomponente maximumManagedCities zurück.
      Gibt zurück:
      Wert der Datensatzkomponente maximumManagedCities
    • maximumParcelsPerCity

      public int maximumParcelsPerCity()
      Gibt den Wert für die Datensatzkomponente maximumParcelsPerCity zurück.
      Gibt zurück:
      Wert der Datensatzkomponente maximumParcelsPerCity
    • maximumRegionVolume

      public long maximumRegionVolume()
      Gibt den Wert für die Datensatzkomponente maximumRegionVolume zurück.
      Gibt zurück:
      Wert der Datensatzkomponente maximumRegionVolume