├── .github └── workflows │ └── gradle.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SpigotMetadataAPI ├── Abstract │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ ├── api │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ │ ├── DataWatcher.java │ │ │ ├── DataWatcherEntry.java │ │ │ ├── DataWatcherKey.java │ │ │ ├── DataWatcherManager.java │ │ │ ├── DataWatcherObject.java │ │ │ ├── DataWatcherRegistry.java │ │ │ └── DataWatcherSerializer.java │ │ └── nbt │ │ │ ├── NBTBase.java │ │ │ ├── NBTInputStream.java │ │ │ ├── NBTManager.java │ │ │ ├── NBTNumber.java │ │ │ ├── NBTOutputStream.java │ │ │ ├── NBTSerializer.java │ │ │ ├── NBTSingleValue.java │ │ │ ├── NBTTagCompound.java │ │ │ ├── NBTTagEnd.java │ │ │ ├── NBTTagList.java │ │ │ ├── NBTTagType.java │ │ │ └── NamedNBT.java │ │ ├── exception │ │ ├── MojangsonParseException.java │ │ └── UnknownIndexException.java │ │ └── util │ │ ├── ServerVersion.java │ │ ├── ThrowingBiConsumer.java │ │ ├── ThrowingConsumer.java │ │ ├── ThrowingFunction.java │ │ ├── ThrowingSupplier.java │ │ └── TriFunction.java ├── Core │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── SpigotMetadataAPI.java └── build.gradle ├── SpigotMetadataVersion ├── SpigotMetadataV1_10_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_10_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_11_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_11_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_12_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_12_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_13_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_13_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_13_R2 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_13_R2 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_14_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_14_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_15_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_15_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_16_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_16_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_16_R2 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_16_R2 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_16_R3 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_16_R3 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_17_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_17_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_8_R3 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_8_R3 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_9_R1 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_9_R1 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java ├── SpigotMetadataV1_9_R2 │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── fr │ │ └── il_totore │ │ └── spigotmetadata │ │ └── api │ │ └── v1_9_R2 │ │ ├── MetadataUtil.java │ │ ├── VersionSpigotMetadataAPI.java │ │ ├── datawatcher │ │ ├── DataWatcher.java │ │ ├── DataWatcherManager.java │ │ ├── DataWatcherObject.java │ │ ├── DataWatcherRegistry.java │ │ ├── DataWatcherSerializer.java │ │ └── SimpleDataWatcherSerializer.java │ │ └── nbt │ │ ├── NBTBase.java │ │ ├── NBTManager.java │ │ ├── NBTNumber.java │ │ ├── NBTSingleValue.java │ │ ├── NBTTagByte.java │ │ ├── NBTTagByteArray.java │ │ ├── NBTTagCompound.java │ │ ├── NBTTagDouble.java │ │ ├── NBTTagEnd.java │ │ ├── NBTTagFloat.java │ │ ├── NBTTagInt.java │ │ ├── NBTTagIntArray.java │ │ ├── NBTTagList.java │ │ ├── NBTTagLong.java │ │ ├── NBTTagShort.java │ │ └── NBTTagString.java └── build.gradle ├── build.gradle ├── docs └── javadoc │ ├── allclasses-frame.html │ ├── allclasses-noframe.html │ ├── constant-values.html │ ├── deprecated-list.html │ ├── fr │ └── il_totore │ │ └── spigotmetadata │ │ ├── api │ │ ├── MetadataUtil.html │ │ ├── SpigotMetadataAPI.html │ │ ├── VersionSpigotMetadataAPI.html │ │ ├── datawatcher │ │ │ ├── DataWatcher.html │ │ │ ├── DataWatcherEntry.VersionEntry.html │ │ │ ├── DataWatcherEntry.html │ │ │ ├── DataWatcherKey.html │ │ │ ├── DataWatcherManager.html │ │ │ ├── DataWatcherObject.html │ │ │ ├── DataWatcherRegistry.html │ │ │ ├── DataWatcherSerializer.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ └── package-tree.html │ │ ├── nbt │ │ │ ├── NBTBase.html │ │ │ ├── NBTInputStream.html │ │ │ ├── NBTManager.html │ │ │ ├── NBTNumber.html │ │ │ ├── NBTOutputStream.html │ │ │ ├── NBTSerializer.ByteArraySerializer.html │ │ │ ├── NBTSerializer.CompoundSerializer.html │ │ │ ├── NBTSerializer.EndSerializer.html │ │ │ ├── NBTSerializer.IntArraySerializer.html │ │ │ ├── NBTSerializer.ListSerializer.html │ │ │ ├── NBTSerializer.SimpleValueSerializer.html │ │ │ ├── NBTSerializer.html │ │ │ ├── NBTSingleValue.html │ │ │ ├── NBTTagCompound.html │ │ │ ├── NBTTagEnd.html │ │ │ ├── NBTTagList.html │ │ │ ├── NBTTagType.html │ │ │ ├── NamedNBT.html │ │ │ ├── package-frame.html │ │ │ ├── package-summary.html │ │ │ └── package-tree.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ └── package-tree.html │ │ ├── exception │ │ ├── MojangsonParseException.html │ │ ├── UnknownIndexException.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ └── package-tree.html │ │ └── util │ │ ├── ServerVersion.html │ │ ├── ThrowingBiConsumer.html │ │ ├── ThrowingConsumer.html │ │ ├── ThrowingFunction.html │ │ ├── ThrowingSupplier.html │ │ ├── TriFunction.html │ │ ├── package-frame.html │ │ ├── package-summary.html │ │ └── package-tree.html │ ├── help-doc.html │ ├── index-all.html │ ├── index.html │ ├── overview-frame.html │ ├── overview-summary.html │ ├── overview-tree.html │ ├── package-list │ ├── script.js │ ├── serialized-form.html │ └── stylesheet.css ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── logo.png └── settings.gradle /.github/workflows/gradle.yml: -------------------------------------------------------------------------------- 1 | name: Java CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v1 12 | - name: Set up JDK 16 13 | uses: actions/setup-java@v1 14 | with: 15 | java-version: 16 16 | - name: Build with Gradle 17 | run: export MAVEN_HOME=$M2_HOME && chmod +x gradlew gradlew && ./gradlew buildTools build --stacktrace 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | .gradle 4 | build 5 | work -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | You can contribute to this project by multiples ways: 2 | 3 | # Issues 4 | If you find a problem, you can open an issue containing: 5 | - The context: *What are you trying to achieve ?* 6 | - The expected result: *What is supposed to happen ?* 7 | - the actual result: *What actually happen ?* 8 | 9 | # Editing the code 10 | You can fork this project to fix some bugs or add new features. Beware of name and describe correctly your fork. 11 | After fixing targeted issues/added wanted features, you can send a pull request to merge your branch with the main one. 12 | 13 | Beware of creating separated branches for unrelated issues/features 14 | 15 | Before sending a pull request, make sure the build passed correctly 16 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | id 'maven-publish' 4 | } -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.datawatcher; 2 | 3 | public interface DataWatcher { 4 | 5 | /*** 6 | * Set the F value at the {@link DataWatcherObject}'s index 7 | * @param object The {@link DataWatcherObject} used to set the value 8 | * @param value The F value to set 9 | * @param The Bukkit value (From) 10 | * @param The Notch value (To) 11 | */ 12 | void set(DataWatcherObject object, F value); 13 | 14 | /** 15 | * Get the F value at the {@link DataWatcherObject}'s index 16 | * @param object The {@link DataWatcherObject} used to get the value 17 | * @param The Bukkit value (From) 18 | * @param The Notch value (To) 19 | * @return F value at the {@link DataWatcherObject}'s index 20 | */ 21 | F get(DataWatcherObject object); 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.datawatcher; 2 | 3 | import org.bukkit.entity.Entity; 4 | 5 | public interface DataWatcherManager { 6 | 7 | /** 8 | * Get the {@link DataWatcher} of the passed {@link Entity} 9 | * @param entity the {@link DataWatcher}'s owner 10 | * @return the {@link DataWatcher} of the given {@link Entity} 11 | */ 12 | DataWatcher getDataWatcher(Entity entity); 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.datawatcher; 2 | 3 | public interface DataWatcherObject { 4 | 5 | /** 6 | * Return the {@link DataWatcherObject}'s index 7 | * @return Return the {@link DataWatcherObject}'s index 8 | */ 9 | int getIndex(); 10 | 11 | /** 12 | * Transform the F (From/Bukkit) value to a T (To/Notchian) value 13 | * @param from T value to transform 14 | * @return F value transformed 15 | */ 16 | T bukkitToNotch(F from); 17 | 18 | /** 19 | * Transformed the T (To/Notchian) value to F (From/Bukkit) value 20 | * @param to T value to transform 21 | * @return F value transformed 22 | */ 23 | F notchToBukkit(T to); 24 | } -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.datawatcher; 2 | 3 | 4 | public interface DataWatcherRegistry { 5 | 6 | /** 7 | * Get the {@link DataWatcherSerializer} put with the given key. 8 | * @param key the key associated with the wanted serializer 9 | * @param the 'From' type of the {@link DataWatcherKey} 10 | * @return the {@link DataWatcherSerializer} put with the given key or null if absent 11 | */ 12 | DataWatcherSerializer getSerializer(DataWatcherKey key); 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/datawatcher/DataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.datawatcher; 2 | 3 | public interface DataWatcherSerializer { 4 | 5 | /** 6 | * Get a {@link DataWatcherObject} for the given index 7 | * @param i the value's index 8 | * @return a {@link DataWatcherObject} for the given index 9 | */ 10 | DataWatcherObject index(int i); 11 | } 12 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.nbt; 2 | 3 | public interface NBTBase extends Cloneable { 4 | 5 | /** 6 | * Check if the {@link NBTBase} is empty 7 | * @return true if empty 8 | */ 9 | boolean isEmpty(); 10 | 11 | /** 12 | * Get the NBTTag's type 13 | * @return the {@link NBTTagType} 14 | */ 15 | NBTTagType getType(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.nbt; 2 | 3 | public interface NBTNumber extends NBTSingleValue { 4 | 5 | /** 6 | * @return NBT's value as byte 7 | */ 8 | byte byteValue(); 9 | 10 | /** 11 | * @return NBT's value as short 12 | */ 13 | short shortValue(); 14 | 15 | /** 16 | * @return NBT's value as int 17 | */ 18 | int intValue(); 19 | 20 | /** 21 | * @return NBT's value as long 22 | */ 23 | long longValue(); 24 | 25 | /** 26 | * @return NBT's value as float 27 | */ 28 | float floatValue(); 29 | 30 | /** 31 | * @return NBT's value as double 32 | */ 33 | double doubleValue(); 34 | } 35 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.nbt; 2 | 3 | public interface NBTSingleValue extends NBTBase { 4 | 5 | /** 6 | * Get the NBT's value 7 | * @return the NBT's value as T 8 | */ 9 | T get(); 10 | } 11 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.nbt; 2 | 3 | public interface NBTTagEnd extends NBTBase { 4 | } 5 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/api/nbt/NamedNBT.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.nbt; 2 | 3 | 4 | import com.google.common.base.Preconditions; 5 | 6 | public class NamedNBT implements NBTBase { 7 | 8 | private String name; 9 | private T nbtBase; 10 | 11 | public NamedNBT(String name, T nbtBase) { 12 | Preconditions.checkNotNull(name, "name"); 13 | Preconditions.checkNotNull(nbtBase, "nbtBase"); 14 | this.name = name; 15 | this.nbtBase = nbtBase; 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return nbtBase.isEmpty(); 21 | } 22 | 23 | @Override 24 | public NBTTagType getType() { 25 | return nbtBase.getType(); 26 | } 27 | 28 | public String getName() { 29 | return this.name; 30 | } 31 | 32 | public T getValue() { 33 | return nbtBase; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return "{name:\"" + name + "\",value:" + nbtBase.toString() + "}"; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/exception/MojangsonParseException.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.exception; 2 | 3 | public class MojangsonParseException extends RuntimeException { 4 | 5 | public MojangsonParseException(String string) { 6 | super(string); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/exception/UnknownIndexException.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.exception; 2 | 3 | public class UnknownIndexException extends RuntimeException { 4 | 5 | public UnknownIndexException(int index){ 6 | super(index + ""); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/util/ThrowingBiConsumer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.util; 2 | 3 | import java.util.function.BiConsumer; 4 | 5 | @FunctionalInterface 6 | public interface ThrowingBiConsumer extends BiConsumer { 7 | 8 | @Override 9 | default void accept(I input, O output) { 10 | try { 11 | acceptThrow(input, output); 12 | } catch(Exception e) { 13 | throw new RuntimeException(e); 14 | } 15 | } 16 | 17 | void acceptThrow(I input, O output) throws Exception; 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/util/ThrowingConsumer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.util; 2 | 3 | import java.util.function.Consumer; 4 | 5 | @FunctionalInterface 6 | public interface ThrowingConsumer extends Consumer { 7 | 8 | @Override 9 | default void accept(T t) { 10 | try { 11 | acceptThrow(t); 12 | } catch(Exception e) { 13 | throw new RuntimeException(e); 14 | } 15 | } 16 | 17 | void acceptThrow(T value) throws Exception; 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/util/ThrowingFunction.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.util; 2 | 3 | import java.util.function.Function; 4 | 5 | @FunctionalInterface 6 | public interface ThrowingFunction extends Function { 7 | 8 | @Override 9 | default O apply(I i) { 10 | try { 11 | return applyThrow(i); 12 | } catch(Exception e) { 13 | throw new RuntimeException(e); 14 | } 15 | } 16 | 17 | O applyThrow(I i) throws Exception; 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/util/ThrowingSupplier.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.util; 2 | 3 | import java.util.function.Supplier; 4 | 5 | @FunctionalInterface 6 | public interface ThrowingSupplier extends Supplier { 7 | 8 | default T get() { 9 | try { 10 | return getThrow(); 11 | } catch(Exception e) { 12 | throw new RuntimeException(e); 13 | } 14 | } 15 | 16 | T getThrow() throws Exception; 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Abstract/src/main/java/fr/il_totore/spigotmetadata/util/TriFunction.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.util; 2 | 3 | @FunctionalInterface 4 | public interface TriFunction { 5 | 6 | O apply(I i, J j, K k); 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataAPI/Core/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation project(nms('1_8_R3')) 3 | implementation project(nms('1_9_R1')) 4 | implementation project(nms('1_9_R2')) 5 | implementation project(nms('1_10_R1')) 6 | implementation project(nms('1_11_R1')) 7 | implementation project(nms('1_12_R1')) 8 | implementation project(nms('1_13_R1')) 9 | implementation project(nms('1_13_R2')) 10 | implementation project(nms('1_14_R1')) 11 | implementation project(nms('1_15_R1')) 12 | implementation project(nms('1_16_R1')) 13 | implementation project(nms('1_17_R1')) 14 | 15 | implementation project(':SpigotMetadataAPI:Abstract') 16 | } 17 | 18 | static String nms(String version) { 19 | return ':SpigotMetadataVersion:SpigotMetadataV' + version 20 | } -------------------------------------------------------------------------------- /SpigotMetadataAPI/build.gradle: -------------------------------------------------------------------------------- 1 | subprojects { 2 | dependencies { 3 | compileOnly 'org.spigotmc:spigot:1.16.1-R0.1-SNAPSHOT' 4 | } 5 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.10.2-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_10_R1.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_10_R1.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_10_R1.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_10_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_10_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_10_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_10_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_10_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty() { 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType() { 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | import net.minecraft.server.v1_10_R1.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | 8 | public NBTNumber(T handle) { 9 | super(handle); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_10_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_10_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_10_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_10_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_10_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_10_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_10_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().d()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_10_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_10_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().h(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_10_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_10_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_10_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_10_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().c_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.11-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_11_R1.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_11_R1.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_11_R1.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_11_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_11_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_11_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_11_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty() { 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType() { 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | import net.minecraft.server.v1_11_R1.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | 8 | public NBTNumber(T handle) { 9 | super(handle); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_11_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_11_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_11_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_11_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_11_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_11_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_11_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().d()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_11_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_11_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_11_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_11_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_11_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_11_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().c_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.12.2-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.datawatcher; 2 | 3 | 4 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 5 | 6 | private net.minecraft.server.v1_12_R1.DataWatcher handle; 7 | 8 | public DataWatcher(net.minecraft.server.v1_12_R1.DataWatcher handle) { 9 | this.handle = handle; 10 | } 11 | 12 | @Override 13 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 14 | assert object instanceof DataWatcherObject : "Invalid version"; 15 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 16 | } 17 | 18 | @Override 19 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 20 | assert object instanceof DataWatcherObject : "Invalid version"; 21 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 22 | } 23 | 24 | public net.minecraft.server.v1_12_R1.DataWatcher getHandle() { 25 | return handle; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_12_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_12_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_12_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_12_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty() { 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType() { 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | import net.minecraft.server.v1_12_R1.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | 8 | public NBTNumber(T handle) { 9 | super(handle); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_12_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_12_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_12_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_12_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_12_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_12_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_12_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().d()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_12_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_12_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | 14 | @Override 15 | public byte byteValue() { 16 | return getHandle().g(); 17 | } 18 | 19 | @Override 20 | public short shortValue() { 21 | return getHandle().f(); 22 | } 23 | 24 | @Override 25 | public int intValue() { 26 | return getHandle().e(); 27 | } 28 | 29 | @Override 30 | public long longValue() { 31 | return getHandle().d(); 32 | } 33 | 34 | @Override 35 | public float floatValue() { 36 | return getHandle().i(); 37 | } 38 | 39 | @Override 40 | public double doubleValue() { 41 | return getHandle().asDouble(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_12_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_12_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_12_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_12_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().c_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.13-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_13_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_13_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_13_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_13_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_13_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().g(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().f(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().e(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().d(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().i(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().j() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_13_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_13_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | if(getHandle().c() == null) return false; 21 | return get().isEmpty(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_13_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_13_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_13_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_13_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_13_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().d()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | if(getHandle().d() == null) return false; 21 | return get().isEmpty(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_13_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_13_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_13_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().b_(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().b_() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.13.2-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_13_R2.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_13_R2.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_13_R2.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_13_R2.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_13_R2.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_13_R2.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_13_R2.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().j() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_13_R2.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_13_R2.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | if(getHandle().c() == null) return false; 21 | return get().isEmpty(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_13_R2.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_13_R2.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_13_R2.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_13_R2.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_13_R2.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().d()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | if(getHandle().d() == null) return false; 21 | return get().isEmpty(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_13_R2.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_13_R2.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_13_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_13_R2/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_13_R2.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_13_R2.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.14.4-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_14_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_14_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_14_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_14_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().j() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_14_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_14_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_14_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_14_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_14_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_14_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_14_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_14_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_14_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_14_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_14_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_14_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_14_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.15-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_15_R1.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_15_R1.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_15_R1.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_15_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_15_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_15_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_15_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().k() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_15_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_15_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_15_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_15_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_15_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_15_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_15_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_15_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_15_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_15_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_15_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_15_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_15_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.16.1-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_16_R1.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_16_R1.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_16_R1.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_16_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_16_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_16_R1.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_16_R1.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().k() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_16_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_16_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_16_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_16_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_16_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_16_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_16_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_16_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_16_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_16_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.16.2-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_16_R2.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_16_R2.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_16_R2.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_16_R2.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().k() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_16_R2.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_16_R2.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_16_R2.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_16_R2.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_16_R2.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_16_R2.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_16_R2.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_16_R2.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_16_R2.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R2/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R2.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_16_R2.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.16.5-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_16_R3.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_16_R3.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_16_R3.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_16_R3.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_16_R3.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().k() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_16_R3.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_16_R3.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_16_R3.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_16_R3.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_16_R3.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_16_R3.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_16_R3.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_16_R3.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_16_R3.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_16_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_16_R3/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_16_R3.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_16_R3.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.17-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.network.syncher.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.network.syncher.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.network.syncher.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_17_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.network.syncher.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public NBTTagType getType() { 19 | return NBTTagType.getById(handle.getTypeId()); 20 | } 21 | 22 | @Override 23 | public boolean isEmpty() { 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 4 | 5 | public NBTNumber(T handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public byte byteValue() { 11 | return getHandle().asByte(); 12 | } 13 | 14 | @Override 15 | public short shortValue() { 16 | return getHandle().asShort(); 17 | } 18 | 19 | @Override 20 | public int intValue() { 21 | return getHandle().asInt(); 22 | } 23 | 24 | @Override 25 | public long longValue() { 26 | return getHandle().asLong(); 27 | } 28 | 29 | @Override 30 | public float floatValue() { 31 | return getHandle().asFloat(); 32 | } 33 | 34 | @Override 35 | public double doubleValue() { 36 | return getHandle().asDouble(); 37 | } 38 | 39 | @Override 40 | public boolean isEmpty() { 41 | return getHandle().k() == null; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.nbt.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.nbt.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().getBytes()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.nbt.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.nbt.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.nbt.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.nbt.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.nbt.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().getInts()); 16 | } 17 | 18 | @Override 19 | public boolean isEmpty() { 20 | return getHandle().isEmpty(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.nbt.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.nbt.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_17_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_17_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_17_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.nbt.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().asString(); 12 | } 13 | 14 | @Override 15 | public boolean isEmpty() { 16 | return getHandle().asString() == null; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.8.8-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.datawatcher; 2 | 3 | import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity; 4 | import org.bukkit.entity.Entity; 5 | 6 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 7 | @Override 8 | public DataWatcher getDataWatcher(Entity entity) { 9 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private int index; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(int index, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.index = index; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return index; 19 | } 20 | 21 | public T bukkitToNotch(F from) { 22 | return bukkitToNotchFunction.apply(from); 23 | } 24 | 25 | public F notchToBukkit(T to) { 26 | return notchToBukkitFunction.apply(to); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer() { 6 | super(from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle){ 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle(){ 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty(){ 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType(){ 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | import net.minecraft.server.v1_8_R3.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | public NBTNumber(T handle){ 8 | super(handle); 9 | } 10 | 11 | @Override 12 | public byte byteValue(){ 13 | return getHandle().f(); 14 | } 15 | 16 | @Override 17 | public short shortValue(){ 18 | return getHandle().e(); 19 | } 20 | 21 | @Override 22 | public int intValue(){ 23 | return getHandle().d(); 24 | } 25 | 26 | @Override 27 | public long longValue(){ 28 | return getHandle().c(); 29 | } 30 | 31 | @Override 32 | public float floatValue(){ 33 | return getHandle().h(); 34 | } 35 | 36 | @Override 37 | public double doubleValue(){ 38 | return getHandle().g(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle){ 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_8_R3.NBTTagByte handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get(){ 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_8_R3.NBTTagByteArray handle){ 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get(){ 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_8_R3.NBTTagDouble handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get(){ 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_8_R3.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_8_R3.NBTTagFloat handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get(){ 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_8_R3.NBTTagInt handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get(){ 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_8_R3.NBTTagIntArray handle){ 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get(){ 15 | return Ints.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_8_R3.NBTTagLong handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get(){ 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_8_R3.NBTTagShort handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get(){ 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_8_R3/src/main/java/fr/il_totore/spigotmetadata/api/v1_8_R3/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_8_R3.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_8_R3.NBTTagString handle){ 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get(){ 11 | return getHandle().a_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.9-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_9_R1.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_9_R1.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction){ 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex(){ 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_9_R1.DataWatcherObject getHandle(){ 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from){ 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to){ 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer){ 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key){ 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key){ 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_9_R1.DataWatcherSerializer handle){ 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty() { 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType() { 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | import net.minecraft.server.v1_9_R1.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | public NBTNumber(T handle) { 8 | super(handle); 9 | } 10 | 11 | @Override 12 | public byte byteValue() { 13 | return getHandle().f(); 14 | } 15 | 16 | @Override 17 | public short shortValue() { 18 | return getHandle().e(); 19 | } 20 | 21 | @Override 22 | public int intValue() { 23 | return getHandle().d(); 24 | } 25 | 26 | @Override 27 | public long longValue() { 28 | return getHandle().c(); 29 | } 30 | 31 | @Override 32 | public float floatValue() { 33 | return getHandle().h(); 34 | } 35 | 36 | @Override 37 | public double doubleValue() { 38 | return getHandle().g(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_9_R1.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_9_R1.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_9_R1.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_9_R1.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_9_R1.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_9_R1.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_9_R1.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_9_R1.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_9_R1.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R1/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R1/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R1.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_9_R1.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().a_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/build.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | compileOnly 'org.spigotmc:spigot:1.9.4-R0.1-SNAPSHOT' 3 | } -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/datawatcher/DataWatcher.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.datawatcher; 2 | 3 | public class DataWatcher implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcher { 4 | 5 | private net.minecraft.server.v1_9_R2.DataWatcher handle; 6 | 7 | public DataWatcher(net.minecraft.server.v1_9_R2.DataWatcher handle) { 8 | this.handle = handle; 9 | } 10 | 11 | @Override 12 | public void set(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object, F value) { 13 | assert object instanceof DataWatcherObject : "Invalid version"; 14 | handle.set(((DataWatcherObject) object).getHandle(), object.bukkitToNotch(value)); 15 | } 16 | 17 | @Override 18 | public F get(fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject object) { 19 | assert object instanceof DataWatcherObject : "Invalid version"; 20 | return object.notchToBukkit(handle.get(((DataWatcherObject) object).getHandle())); 21 | } 22 | 23 | public net.minecraft.server.v1_9_R2.DataWatcher getHandle() { 24 | return handle; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/datawatcher/DataWatcherManager.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.datawatcher; 2 | 3 | 4 | import org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity; 5 | import org.bukkit.entity.Entity; 6 | 7 | public class DataWatcherManager implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherManager { 8 | @Override 9 | public DataWatcher getDataWatcher(Entity entity) { 10 | return new DataWatcher(((CraftEntity) entity).getHandle().getDataWatcher()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/datawatcher/DataWatcherObject.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.datawatcher; 2 | 3 | import java.util.function.Function; 4 | 5 | public class DataWatcherObject implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherObject { 6 | 7 | private net.minecraft.server.v1_9_R2.DataWatcherObject handle; 8 | private Function bukkitToNotchFunction; 9 | private Function notchToBukkitFunction; 10 | 11 | public DataWatcherObject(net.minecraft.server.v1_9_R2.DataWatcherObject handle, Function bukkitToNotchFunction, Function notchToBukkitFunction) { 12 | this.handle = handle; 13 | this.bukkitToNotchFunction = bukkitToNotchFunction; 14 | this.notchToBukkitFunction = notchToBukkitFunction; 15 | } 16 | 17 | public int getIndex() { 18 | return handle.a(); 19 | } 20 | 21 | public net.minecraft.server.v1_9_R2.DataWatcherObject getHandle() { 22 | return handle; 23 | } 24 | 25 | public T bukkitToNotch(F from) { 26 | return bukkitToNotchFunction.apply(from); 27 | } 28 | 29 | public F notchToBukkit(T to) { 30 | return notchToBukkitFunction.apply(to); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/datawatcher/DataWatcherRegistry.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.datawatcher; 2 | 3 | import fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherKey; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class DataWatcherRegistry implements fr.il_totore.spigotmetadata.api.datawatcher.DataWatcherRegistry { 9 | 10 | private Map, DataWatcherSerializer> map = new HashMap<>(); 11 | 12 | public void registerSerializer(DataWatcherKey key, DataWatcherSerializer dataWatcherSerializer) { 13 | map.put(key, dataWatcherSerializer); 14 | } 15 | 16 | public void unregisterSerializer(DataWatcherKey key) { 17 | map.remove(key); 18 | } 19 | 20 | @SuppressWarnings("unchecked") 21 | public DataWatcherSerializer getSerializer(DataWatcherKey key) { 22 | return (DataWatcherSerializer) map.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/datawatcher/SimpleDataWatcherSerializer.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.datawatcher; 2 | 3 | public class SimpleDataWatcherSerializer extends DataWatcherSerializer { 4 | 5 | public SimpleDataWatcherSerializer(net.minecraft.server.v1_9_R2.DataWatcherSerializer handle) { 6 | super(handle, from -> from, from -> from); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTBase.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | import fr.il_totore.spigotmetadata.api.nbt.NBTTagType; 4 | 5 | public class NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTBase { 6 | 7 | private T handle; 8 | 9 | public NBTBase(T handle) { 10 | this.handle = handle; 11 | } 12 | 13 | public T getHandle() { 14 | return handle; 15 | } 16 | 17 | @Override 18 | public boolean isEmpty() { 19 | return handle.isEmpty(); 20 | } 21 | 22 | @Override 23 | public NBTTagType getType() { 24 | return NBTTagType.getById(handle.getTypeId()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTNumber.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | import net.minecraft.server.v1_9_R2.NBTBase; 4 | 5 | public abstract class NBTNumber extends NBTSingleValue implements fr.il_totore.spigotmetadata.api.nbt.NBTNumber { 6 | 7 | public NBTNumber(T handle) { 8 | super(handle); 9 | } 10 | 11 | @Override 12 | public byte byteValue() { 13 | return getHandle().f(); 14 | } 15 | 16 | @Override 17 | public short shortValue() { 18 | return getHandle().e(); 19 | } 20 | 21 | @Override 22 | public int intValue() { 23 | return getHandle().d(); 24 | } 25 | 26 | @Override 27 | public long longValue() { 28 | return getHandle().c(); 29 | } 30 | 31 | @Override 32 | public float floatValue() { 33 | return getHandle().h(); 34 | } 35 | 36 | @Override 37 | public double doubleValue() { 38 | return getHandle().g(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTSingleValue.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public abstract class NBTSingleValue extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTSingleValue { 4 | 5 | public NBTSingleValue(T handle) { 6 | super(handle); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagByte.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagByte extends NBTNumber { 4 | 5 | public NBTTagByte(net.minecraft.server.v1_9_R2.NBTTagByte handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Byte get() { 11 | return byteValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagByteArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | import com.google.common.primitives.Bytes; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagByteArray extends NBTSingleValue> { 8 | 9 | public NBTTagByteArray(net.minecraft.server.v1_9_R2.NBTTagByteArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Bytes.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagDouble.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagDouble extends NBTNumber { 4 | 5 | public NBTTagDouble(net.minecraft.server.v1_9_R2.NBTTagDouble handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Double get() { 11 | return doubleValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagEnd.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagEnd extends NBTBase implements fr.il_totore.spigotmetadata.api.nbt.NBTTagEnd { 4 | public NBTTagEnd(net.minecraft.server.v1_9_R2.NBTTagEnd handle) { 5 | super(handle); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagFloat.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagFloat extends NBTNumber { 4 | 5 | public NBTTagFloat(net.minecraft.server.v1_9_R2.NBTTagFloat handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Float get() { 11 | return floatValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagInt.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagInt extends NBTNumber { 4 | 5 | public NBTTagInt(net.minecraft.server.v1_9_R2.NBTTagInt handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Integer get() { 11 | return intValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagIntArray.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | import com.google.common.primitives.Ints; 4 | 5 | import java.util.List; 6 | 7 | public class NBTTagIntArray extends NBTSingleValue> { 8 | 9 | public NBTTagIntArray(net.minecraft.server.v1_9_R2.NBTTagIntArray handle) { 10 | super(handle); 11 | } 12 | 13 | @Override 14 | public List get() { 15 | return Ints.asList(getHandle().c()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagLong.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagLong extends NBTNumber { 4 | 5 | public NBTTagLong(net.minecraft.server.v1_9_R2.NBTTagLong handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Long get() { 11 | return longValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagShort.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagShort extends NBTNumber { 4 | 5 | public NBTTagShort(net.minecraft.server.v1_9_R2.NBTTagShort handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public Short get() { 11 | return shortValue(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/SpigotMetadataV1_9_R2/src/main/java/fr/il_totore/spigotmetadata/api/v1_9_R2/nbt/NBTTagString.java: -------------------------------------------------------------------------------- 1 | package fr.il_totore.spigotmetadata.api.v1_9_R2.nbt; 2 | 3 | public class NBTTagString extends NBTSingleValue { 4 | 5 | public NBTTagString(net.minecraft.server.v1_9_R2.NBTTagString handle) { 6 | super(handle); 7 | } 8 | 9 | @Override 10 | public String get() { 11 | return getHandle().a_(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SpigotMetadataVersion/build.gradle: -------------------------------------------------------------------------------- 1 | subprojects { 2 | dependencies { 3 | compileOnly project(':SpigotMetadataAPI:Abstract') 4 | } 5 | } -------------------------------------------------------------------------------- /docs/javadoc/fr/il_totore/spigotmetadata/exception/package-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | fr.il_totore.spigotmetadata.exception (SpigotMetadata 3.0-SNAPSHOT API) 7 | 8 | 9 | 10 | 11 | 12 |

fr.il_totore.spigotmetadata.exception

13 |
14 |

Exceptions

15 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/javadoc/package-list: -------------------------------------------------------------------------------- 1 | fr.il_totore.spigotmetadata.api 2 | fr.il_totore.spigotmetadata.api.datawatcher 3 | fr.il_totore.spigotmetadata.api.nbt 4 | fr.il_totore.spigotmetadata.exception 5 | fr.il_totore.spigotmetadata.util 6 | -------------------------------------------------------------------------------- /docs/javadoc/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | deployRepo="C:/Users/rapha/IdeaProjects/MavenRepository/maven/" -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Iltotore/SpigotMetadataAPI/d07fc86ff6b7cc8c601a1525a1bdb8a5dda05c3c/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Oct 29 18:32:51 CET 2019 2 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip 3 | distributionBase=GRADLE_USER_HOME 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Iltotore/SpigotMetadataAPI/d07fc86ff6b7cc8c601a1525a1bdb8a5dda05c3c/logo.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name='SpigotMetadata' 2 | include 'SpigotMetadataAPI', 3 | 'SpigotMetadataAPI:Core', 4 | 'SpigotMetadataAPI:Abstract', 5 | 'SpigotMetadataVersion', 6 | //Versions 7 | nms('1_8_R3'), 8 | nms('1_9_R1'), 9 | nms('1_9_R2'), 10 | nms('1_10_R1'), 11 | nms('1_11_R1'), 12 | nms('1_12_R1'), 13 | nms('1_13_R1'), 14 | nms('1_13_R2'), 15 | nms('1_14_R1'), 16 | nms('1_15_R1'), 17 | nms('1_16_R1'), 18 | nms('1_16_R2'), 19 | nms('1_16_R3'), 20 | nms('1_17_R1') 21 | 22 | static String nms(String version){ 23 | return 'SpigotMetadataVersion:SpigotMetadataV' + version 24 | } --------------------------------------------------------------------------------