Enum Class VersionUtils.Version

java.lang.Object
java.lang.Enum<VersionUtils.Version>
me.remigio07.chatplugin.api.common.util.VersionUtils.Version
All Implemented Interfaces:
Serializable, Comparable<VersionUtils.Version>, Constable
Enclosing class:
VersionUtils

public static enum VersionUtils.Version extends Enum<VersionUtils.Version>
Represents a Minecraft: Java Edition release.
  • Enum Constant Details

    • UNSUPPORTED

      public static final VersionUtils.Version UNSUPPORTED
      Represents an unsupported version.
    • V1_0

      public static final VersionUtils.Version V1_0
      Version 1.0.

      Protocol version number: 22
      Release date: November 18, 2011
      Note: very old - pre-Netty rewrite

    • V1_0_1

      public static final VersionUtils.Version V1_0_1
      Version 1.0.1.

      Protocol version number: 22
      Release date: November 24, 2011
      Note: very old - pre-Netty rewrite

    • V1_1

      public static final VersionUtils.Version V1_1
      Version 1.1.

      Protocol version number: 23
      Release date: January 12, 2012
      Note: very old - pre-Netty rewrite

    • V1_2_1

      public static final VersionUtils.Version V1_2_1
      Version 1.2.1.

      Protocol version number: 28
      Release date: March 1, 2012
      Note: very old - pre-Netty rewrite

    • V1_2_2

      public static final VersionUtils.Version V1_2_2
      Version 1.2.2.

      Protocol version number: 28
      Release date: March 1, 2012
      Note: very old - pre-Netty rewrite

    • V1_2_3

      public static final VersionUtils.Version V1_2_3
      Version 1.2.3.

      Protocol version number: 28
      Release date: March 2, 2012
      Note: very old - pre-Netty rewrite

    • V1_2_4

      public static final VersionUtils.Version V1_2_4
      Version 1.2.4.

      Protocol version number: 29
      Release date: March 22, 2012
      Note: very old - pre-Netty rewrite

    • V1_2_5

      public static final VersionUtils.Version V1_2_5
      Version 1.2.5.

      Protocol version number: 29
      Release date: April 4, 2012
      Note: very old - pre-Netty rewrite

    • V1_3_1

      public static final VersionUtils.Version V1_3_1
      Version 1.3.1.

      Protocol version number: 39
      Release date: August 1, 2012
      Note: very old - pre-Netty rewrite

    • V1_3_2

      public static final VersionUtils.Version V1_3_2
      Version 1.3.2.

      Protocol version number: 39
      Release date: August 16, 2012
      Note: very old - pre-Netty rewrite

    • V1_4_2

      public static final VersionUtils.Version V1_4_2
      Version 1.4.2.

      Protocol version number: 47
      Release date: October 25, 2012
      Note: very old - pre-Netty rewrite

    • V1_4_4

      public static final VersionUtils.Version V1_4_4
      Version 1.4.4.

      Protocol version number: 49
      Release date: November 14, 2012
      Note: very old - pre-Netty rewrite

    • V1_4_5

      public static final VersionUtils.Version V1_4_5
      Version 1.4.5.

      Protocol version number: 49
      Release date: November 19, 2012
      Note: very old - pre-Netty rewrite

    • V1_4_6

      public static final VersionUtils.Version V1_4_6
      Version 1.4.6.

      Protocol version number: 51
      Release date: December 20, 2012
      Note: very old - pre-Netty rewrite

    • V1_4_7

      public static final VersionUtils.Version V1_4_7
      Version 1.4.7.

      Protocol version number: 51
      Release date: January 9, 2013
      Note: very old - pre-Netty rewrite

    • V1_5

      public static final VersionUtils.Version V1_5
      Version 1.5.

      Protocol version number: 60
      Release date: March 13, 2013
      Note: very old - pre-Netty rewrite

    • V1_5_1

      public static final VersionUtils.Version V1_5_1
      Version 1.5.1.

      Protocol version number: 60
      Release date: March 21, 2013
      Note: very old - pre-Netty rewrite

    • V1_5_2

      public static final VersionUtils.Version V1_5_2
      Version 1.5.2.

      Protocol version number: 61
      Release date: May 2, 2013
      Note: very old - pre-Netty rewrite

    • V1_6_1

      public static final VersionUtils.Version V1_6_1
      Version 1.6.1.

      Protocol version number: 73
      Release date: July 1, 2013
      Note: very old - pre-Netty rewrite

    • V1_6_2

      public static final VersionUtils.Version V1_6_2
      Version 1.6.2.

      Protocol version number: 74
      Release date: July 8, 2013
      Note: very old - pre-Netty rewrite

    • V1_6_4

      public static final VersionUtils.Version V1_6_4
      Version 1.6.4.

      Protocol version number: 78
      Release date: September 19, 2013
      Note: very old - pre-Netty rewrite

    • V1_7_2

      public static final VersionUtils.Version V1_7_2
      Version 1.7.2.

      Protocol version number: 4
      Release date: October 25, 2013
      Note: old - pre-1.9

    • V1_7_4

      public static final VersionUtils.Version V1_7_4
      Version 1.7.4.

      Protocol version number: 4
      Release date: December 10, 2013
      Note: old - pre-1.9

    • V1_7_5

      public static final VersionUtils.Version V1_7_5
      Version 1.7.5.

      Protocol version number: 4
      Release date: February 26, 2014
      Note: old - pre-1.9

    • V1_7_6

      public static final VersionUtils.Version V1_7_6
      Version 1.7.6.

      Protocol version number: 5
      Release date: April 9, 2014
      Note: old - pre-1.9

    • V1_7_7

      public static final VersionUtils.Version V1_7_7
      Version 1.7.7.

      Protocol version number: 5
      Release date: April 9, 2014
      Note: old - pre-1.9

    • V1_7_8

      public static final VersionUtils.Version V1_7_8
      Version 1.7.8.

      Protocol version number: 5
      Release date: April 11, 2014
      Note: old - pre-1.9

    • V1_7_9

      public static final VersionUtils.Version V1_7_9
      Version 1.7.9.

      Protocol version number: 5
      Release date: April 14, 2014
      Note: old - pre-1.9

    • V1_7_10

      public static final VersionUtils.Version V1_7_10
      Version 1.7.10.

      Protocol version number: 5
      Release date: June 26, 2014
      Note: old - pre-1.9

    • V1_8

      public static final VersionUtils.Version V1_8
      Version 1.8.

      Protocol version number: 47
      Release date: September 2, 2014
      Note: old - pre-1.9

    • V1_8_1

      public static final VersionUtils.Version V1_8_1
      Version 1.8.1.

      Protocol version number: 47
      Release date: November 24, 2014
      Note: old - pre-1.9

    • V1_8_2

      public static final VersionUtils.Version V1_8_2
      Version 1.8.2.

      Protocol version number: 47
      Release date: February 19, 2015
      Note: old - pre-1.9

    • V1_8_3

      public static final VersionUtils.Version V1_8_3
      Version 1.8.3.

      Protocol version number: 47
      Release date: February 20, 2015
      Note: old - pre-1.9

    • V1_8_4

      public static final VersionUtils.Version V1_8_4
      Version 1.8.4.

      Protocol version number: 47
      Release date: April 17, 2015
      Note: old - pre-1.9

    • V1_8_5

      public static final VersionUtils.Version V1_8_5
      Version 1.8.5.

      Protocol version number: 47
      Release date: May 22, 2015
      Note: old - pre-1.9

    • V1_8_6

      public static final VersionUtils.Version V1_8_6
      Version 1.8.6.

      Protocol version number: 47
      Release date: May 25, 2015
      Note: old - pre-1.9

    • V1_8_7

      public static final VersionUtils.Version V1_8_7
      Version 1.8.7.

      Protocol version number: 47
      Release date: June 5, 2015
      Note: old - pre-1.9

    • V1_8_8

      public static final VersionUtils.Version V1_8_8
      Version 1.8.8.

      Protocol version number: 47
      Release date: July 28, 2015
      Note: old - pre-1.9

    • V1_8_9

      public static final VersionUtils.Version V1_8_9
      Version 1.8.9.

      Protocol version number: 47
      Release date: December 9, 2015
      Note: old - pre-1.9

    • V1_9

      public static final VersionUtils.Version V1_9
      Version 1.9.

      Protocol version number: 107
      Release date: February 29, 2016

    • V1_9_1

      public static final VersionUtils.Version V1_9_1
      Version 1.9.1.

      Protocol version number: 108
      Release date: March 30, 2016

    • V1_9_2

      public static final VersionUtils.Version V1_9_2
      Version 1.9.2.

      Protocol version number: 109
      Release date: March 30, 2016

    • V1_9_3

      public static final VersionUtils.Version V1_9_3
      Version 1.9.3.

      Protocol version number: 110
      Release date: May 10, 2016

    • V1_9_4

      public static final VersionUtils.Version V1_9_4
      Version 1.9.4.

      Protocol version number: 110
      Release date: May 10, 2016

    • V1_10

      public static final VersionUtils.Version V1_10
      Version 1.10.

      Protocol version number: 210
      Release date: June 8, 2016

    • V1_10_1

      public static final VersionUtils.Version V1_10_1
      Version 1.10.1.

      Protocol version number: 210
      Release date: June 22, 2016

    • V1_10_2

      public static final VersionUtils.Version V1_10_2
      Version 1.10.2.

      Protocol version number: 210
      Release date: June 23, 2016

    • V1_11

      public static final VersionUtils.Version V1_11
      Version 1.11.

      Protocol version number: 315
      Release date: November 14, 2016

    • V1_11_1

      public static final VersionUtils.Version V1_11_1
      Version 1.11.1.

      Protocol version number: 316
      Release date: December 20, 2016

    • V1_11_2

      public static final VersionUtils.Version V1_11_2
      Version 1.11.2.

      Protocol version number: 316
      Release date: December 21, 2016

    • V1_12

      public static final VersionUtils.Version V1_12
      Version 1.12.

      Protocol version number: 335
      Release date: June 7, 2017

    • V1_12_1

      public static final VersionUtils.Version V1_12_1
      Version 1.12.1.

      Protocol version number: 338
      Release date: August 3, 2017

    • V1_12_2

      public static final VersionUtils.Version V1_12_2
      Version 1.12.2.

      Protocol version number: 340
      Release date: September 18, 2017

    • V1_13

      public static final VersionUtils.Version V1_13
      Version 1.13.

      Protocol version number: 393
      Release date: July 18, 2018

    • V1_13_1

      public static final VersionUtils.Version V1_13_1
      Version 1.13.1.

      Protocol version number: 401
      Release date: August 22, 2018

    • V1_13_2

      public static final VersionUtils.Version V1_13_2
      Version 1.13.2.

      Protocol version number: 404
      Release date: October 22, 2018

    • V1_14

      public static final VersionUtils.Version V1_14
      Version 1.14.

      Protocol version number: 477
      Release date: April 23, 2019

    • V1_14_1

      public static final VersionUtils.Version V1_14_1
      Version 1.14.1.

      Protocol version number: 480
      Release date: May 13, 2019

    • V1_14_2

      public static final VersionUtils.Version V1_14_2
      Version 1.14.2.

      Protocol version number: 485
      Release date: May 27, 2019

    • V1_14_3

      public static final VersionUtils.Version V1_14_3
      Version 1.14.3.

      Protocol version number: 490
      Release date: June 24, 2019

    • V1_14_4

      public static final VersionUtils.Version V1_14_4
      Version 1.14.4.

      Protocol version number: 498
      Release date: July 19, 2019

    • V1_15

      public static final VersionUtils.Version V1_15
      Version 1.15.

      Protocol version number: 573
      Release date: December 10, 2019

    • V1_15_1

      public static final VersionUtils.Version V1_15_1
      Version 1.15.1.

      Protocol version number: 575
      Release date: December 17, 2019

    • V1_15_2

      public static final VersionUtils.Version V1_15_2
      Version 1.15.2.

      Protocol version number: 578
      Release date: January 21, 2020

    • V1_16

      public static final VersionUtils.Version V1_16
      Version 1.16.

      Protocol version number: 735
      Release date: June 23, 2020

    • V1_16_1

      public static final VersionUtils.Version V1_16_1
      Version 1.16.1.

      Protocol version number: 736
      Release date: June 24, 2020

    • V1_16_2

      public static final VersionUtils.Version V1_16_2
      Version 1.16.2.

      Protocol version number: 751
      Release date: August 11, 2020

    • V1_16_3

      public static final VersionUtils.Version V1_16_3
      Version 1.16.3.

      Protocol version number: 753
      Release date: September 10, 2020

    • V1_16_4

      public static final VersionUtils.Version V1_16_4
      Version 1.16.4.

      Protocol version number: 754
      Release date: November 2, 2020

    • V1_16_5

      public static final VersionUtils.Version V1_16_5
      Version 1.16.5.

      Protocol version number: 754
      Release date: January 15, 2021

    • V1_17

      public static final VersionUtils.Version V1_17
      Version 1.17.

      Protocol version number: 755
      Release date: June 8, 2021

    • V1_17_1

      public static final VersionUtils.Version V1_17_1
      Version 1.17.1.

      Protocol version number: 756
      Release date: July 6, 2021

    • V1_18

      public static final VersionUtils.Version V1_18
      Version 1.18.

      Protocol version number: 757
      Release date: November 30, 2021

    • V1_18_1

      public static final VersionUtils.Version V1_18_1
      Version 1.18.1.

      Protocol version number: 757
      Release date: December 10, 2021

    • V1_18_2

      public static final VersionUtils.Version V1_18_2
      Version 1.18.2.

      Protocol version number: 758
      Release date: February 28, 2022

    • V1_19

      public static final VersionUtils.Version V1_19
      Version 1.19.

      Protocol version number: 759
      Release date: June 7, 2022

    • V1_19_1

      public static final VersionUtils.Version V1_19_1
      Version 1.19.1.

      Protocol version number: 760
      Release date: July 27, 2022

    • V1_19_2

      public static final VersionUtils.Version V1_19_2
      Version 1.19.2.

      Protocol version number: 760
      Release date: August 5, 2022

    • V1_19_3

      public static final VersionUtils.Version V1_19_3
      Version 1.19.3.

      Protocol version number: 761
      Release date: December 7, 2022

    • V1_19_4

      public static final VersionUtils.Version V1_19_4
      Version 1.19.4.

      Protocol version number: 762
      Release date: March 14, 2023

    • V1_20

      public static final VersionUtils.Version V1_20
      Version 1.20.

      Protocol version number: 763
      Release date: June 7, 2023

    • V1_20_1

      public static final VersionUtils.Version V1_20_1
      Version 1.20.1.

      Protocol version number: 763
      Release date: June 12, 2023

    • V1_20_2

      public static final VersionUtils.Version V1_20_2
      Version 1.20.2.

      Protocol version number: 764
      Release date: September 21, 2023

    • V1_20_3

      public static final VersionUtils.Version V1_20_3
      Version 1.20.3.

      Protocol version number: 765
      Release date: December 5, 2023

    • V1_20_4

      public static final VersionUtils.Version V1_20_4
      Version 1.20.4.

      Protocol version number: 765
      Release date: December 7, 2023

    • V1_20_5

      public static final VersionUtils.Version V1_20_5
      Version 1.20.5.

      Protocol version number: 766
      Release date: April 23, 2024

    • V1_20_6

      public static final VersionUtils.Version V1_20_6
      Version 1.20.6.

      Protocol version number: 766
      Release date: April 29, 2024

    • V1_21

      public static final VersionUtils.Version V1_21
      Version 1.21.

      Protocol version number: 767
      Release date: June 13, 2024

    • V1_21_1

      public static final VersionUtils.Version V1_21_1
      Version 1.21.1.

      Protocol version number: 767
      Release date: August 8, 2024

    • V1_21_2

      public static final VersionUtils.Version V1_21_2
      Version 1.21.2.

      Protocol version number: 768
      Release date: October 22, 2024

    • V1_21_3

      public static final VersionUtils.Version V1_21_3
      Version 1.21.3.

      Protocol version number: 768
      Release date: October 23, 2024

    • V1_21_4

      public static final VersionUtils.Version V1_21_4
      Version 1.21.4.

      Protocol version number: 769
      Release date: December 3, 2024

    • V1_21_5

      public static final VersionUtils.Version V1_21_5
      Version 1.21.5.

      Protocol version number: 770
      Release date: March 25, 2025

  • Method Details

    • values

      public static VersionUtils.Version[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static VersionUtils.Version valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getProtocol

      public int getProtocol()
      Gets this version's protocol number.

      Will return -1 if this == UNSUPPORTED.

      Returns:
      Version's protocol
    • getReleaseDate

      public long getReleaseDate()
      Gets this version's release date, in milliseconds.

      Will return -1 if this == UNSUPPORTED.

      Returns:
      Version's release date
    • getName

      public String getName()
      Gets this version's name.
      Returns:
      Version's name
    • isPreNettyRewrite

      public boolean isPreNettyRewrite()
      Checks if this version is a pre-Netty rewrite version.

      Will return false if this == UNSUPPORTED.

      Returns:
      Whether this is a pre-Netty rewrite version
    • isOlderThan

      public boolean isOlderThan(VersionUtils.Version version)
      Checks if this version is older than another one.
      Parameters:
      version - Version to check
      Returns:
      Whether this version is older then another one
    • isAtLeast

      public boolean isAtLeast(VersionUtils.Version version)
      Checks if this version is at least as recent as another one.
      Parameters:
      version - Version to check
      Returns:
      Whether this version is at least as recent as another one
    • toString

      public String toString()
      Overrides:
      toString in class Enum<VersionUtils.Version>
    • format

      public String format()
      Formats this version according to the setting at settings.truncate-version-string in ConfigurationType.CONFIG.
      Returns:
      Formatted version
    • getVersion

      public static VersionUtils.Version getVersion(String input)
      Gets a version from the specified input.

      Will return UNSUPPORTED if an invalid version is given.

      Parameters:
      input - Version to check
      Returns:
      Corresponding version
    • getVersion

      public static VersionUtils.Version getVersion(int protocol, boolean preNettyRewrite)
      Gets a version from its protocol number.

      Will return UNSUPPORTED if an invalid version is given.

      Parameters:
      protocol - Version's protocol number
      preNettyRewrite - Whether it is a pre-Netty rewrite version
      Returns:
      Corresponding version