diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/ArmorStandItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/ArmorStandItem.kt
new file mode 100644
index 000000000..4122e01e3
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/ArmorStandItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ArmorStandItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BannerItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BannerItem.kt
new file mode 100644
index 000000000..ccc7a87a3
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BannerItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BannerItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BannerPatternItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BannerPatternItem.kt
new file mode 100644
index 000000000..60e887ab1
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BannerPatternItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BannerPatternItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BedItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BedItem.kt
new file mode 100644
index 000000000..a753a7caa
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BedItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BedItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BoatItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BoatItem.kt
new file mode 100644
index 000000000..a8eed2812
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BoatItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BoatItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BoneMealItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BoneMealItem.kt
new file mode 100644
index 000000000..056c4b10c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BoneMealItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BoneMealItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BowItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BowItem.kt
new file mode 100644
index 000000000..2bd8cc589
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BowItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BowItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BundleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/BundleItem.kt
new file mode 100644
index 000000000..2eb8f1b6c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/BundleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BundleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/ChorusFruitItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/ChorusFruitItem.kt
new file mode 100644
index 000000000..a677f16ed
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/ChorusFruitItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ChorusFruitItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/CompassItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/CompassItem.kt
new file mode 100644
index 000000000..95b1dc217
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/CompassItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class CompassItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/CrossbowItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/CrossbowItem.kt
new file mode 100644
index 000000000..8d11bf728
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/CrossbowItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class CrossbowItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/DebugStickItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/DebugStickItem.kt
new file mode 100644
index 000000000..c8272346c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/DebugStickItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class DebugStickItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/DecorationItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/DecorationItem.kt
new file mode 100644
index 000000000..f7b890b70
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/DecorationItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class DecorationItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/EnchantedGoldenAppleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/EnchantedGoldenAppleItem.kt
new file mode 100644
index 000000000..da045a4b1
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/EnchantedGoldenAppleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EnchantedGoldenAppleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/EndCrystalItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/EndCrystalItem.kt
new file mode 100644
index 000000000..a8665f5fc
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/EndCrystalItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EndCrystalItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkChargeItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkChargeItem.kt
new file mode 100644
index 000000000..74c43547b
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkChargeItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FireworkChargeItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkItem.kt
new file mode 100644
index 000000000..eaea12f11
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/FireworkItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FireworkItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/FishingRodItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/FishingRodItem.kt
new file mode 100644
index 000000000..62e8c260c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/FishingRodItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FishingRodItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/FlintAndSteelItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/FlintAndSteelItem.kt
new file mode 100644
index 000000000..a7c9f942b
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/FlintAndSteelItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FlintAndSteelItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/GlassBottleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/GlassBottleItem.kt
new file mode 100644
index 000000000..de7b49ff0
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/GlassBottleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class GlassBottleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/HoneyBottleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/HoneyBottleItem.kt
new file mode 100644
index 000000000..53aee476c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/HoneyBottleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class HoneyBottleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/HoneycombItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/HoneycombItem.kt
new file mode 100644
index 000000000..652e4d1f6
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/HoneycombItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class HoneycombItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/Item.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/Item.kt
index 5d6da29a0..ab3a535ea 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/items/Item.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/Item.kt
@@ -19,9 +19,23 @@ import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.blocks.BlockState
import de.bixilon.minosoft.data.registries.blocks.BlockUsages
import de.bixilon.minosoft.data.registries.inventory.CreativeModeTab
-import de.bixilon.minosoft.data.registries.items.armor.ArmorItem
-import de.bixilon.minosoft.data.registries.items.armor.DyeableArmorItem
-import de.bixilon.minosoft.data.registries.items.armor.HorseArmorItem
+import de.bixilon.minosoft.data.registries.items.armor.*
+import de.bixilon.minosoft.data.registries.items.arrow.ArrowItem
+import de.bixilon.minosoft.data.registries.items.arrow.SpectralArrowItem
+import de.bixilon.minosoft.data.registries.items.arrow.TippedArrowItem
+import de.bixilon.minosoft.data.registries.items.block.*
+import de.bixilon.minosoft.data.registries.items.book.BookItem
+import de.bixilon.minosoft.data.registries.items.book.EnchantedBookItem
+import de.bixilon.minosoft.data.registries.items.book.WritableBookItem
+import de.bixilon.minosoft.data.registries.items.book.WrittenBookItem
+import de.bixilon.minosoft.data.registries.items.bucket.BucketItem
+import de.bixilon.minosoft.data.registries.items.bucket.EntityBucketItem
+import de.bixilon.minosoft.data.registries.items.bucket.MilkBucketItem
+import de.bixilon.minosoft.data.registries.items.map.EmptyMapItem
+import de.bixilon.minosoft.data.registries.items.map.FilledMapItem
+import de.bixilon.minosoft.data.registries.items.throwable.*
+import de.bixilon.minosoft.data.registries.items.throwable.potion.LingeringPotionItem
+import de.bixilon.minosoft.data.registries.items.throwable.potion.PotionItem
import de.bixilon.minosoft.data.registries.items.tools.*
import de.bixilon.minosoft.data.registries.registries.Registries
import de.bixilon.minosoft.data.registries.registries.registry.RegistryItem
@@ -63,8 +77,9 @@ open class Item(
override fun deserialize(registries: Registries?, resourceLocation: ResourceLocation, data: Map): Item {
check(registries != null) { "Registries is null!" }
- return when (data["class"].unsafeCast()) {
+ return when (val `class` = data["class"].unsafeCast()) {
"BlockItem" -> BlockItem(resourceLocation, registries, data)
+ "Item", "AirBlockItem" -> Item(resourceLocation, registries, data)
"ArmorItem" -> ArmorItem(resourceLocation, registries, data)
"SwordItem" -> SwordItem(resourceLocation, registries, data)
"ToolItem" -> ToolItem(resourceLocation, registries, data)
@@ -78,9 +93,75 @@ open class Item(
"PickaxeItem" -> PickaxeItem(resourceLocation, registries, data)
"HoeItem" -> HoeItem(resourceLocation, registries, data)
"DyeableArmorItem" -> DyeableArmorItem(resourceLocation, registries, data)
- // "Item" -> Item(resourceLocation, data)
- // else -> TODO("Can not find item class: ${data["class"].asString}")
- else -> Item(resourceLocation, registries, data)
+ "TallBlockItem" -> TallBlockItem(resourceLocation, registries, data)
+ "WallStandingBlockItem" -> WallStandingBlockItem(resourceLocation, registries, data)
+ "LilyPadItem" -> LilyPadItem(resourceLocation, registries, data)
+ "CommandBlockItem" -> CommandBlockItem(resourceLocation, registries, data)
+ "ScaffoldingItem" -> ScaffoldingItem(resourceLocation, registries, data)
+ "AliasedBlockItem" -> AliasedBlockItem(resourceLocation, registries, data)
+ "SaddleItem" -> SaddleItem(resourceLocation, registries, data)
+ "MinecartItem" -> MinecartItem(resourceLocation, registries, data)
+ "OnAStickItem" -> OnAStickItem(resourceLocation, registries, data)
+ "ElytraItem" -> ElytraItem(resourceLocation, registries, data)
+ "BoatItem" -> BoatItem(resourceLocation, registries, data)
+ "FlintAndSteelItem" -> FlintAndSteelItem(resourceLocation, registries, data)
+ "BowItem" -> BowItem(resourceLocation, registries, data)
+ "ArrowItem" -> ArrowItem(resourceLocation, registries, data)
+ "MushroomStewItem" -> MushroomStewItem(resourceLocation, registries, data)
+ "DecorationItem" -> DecorationItem(resourceLocation, registries, data)
+ "EnchantedGoldenAppleItem" -> EnchantedGoldenAppleItem(resourceLocation, registries, data)
+ "SignItem" -> SignItem(resourceLocation, registries, data)
+ "PowderSnowBucketItem" -> PowderSnowBucketItem(resourceLocation, registries, data)
+ "SnowballItem" -> SnowballItem(resourceLocation, registries, data)
+ "MilkBucketItem" -> MilkBucketItem(resourceLocation, registries, data)
+ "EntityBucketItem" -> EntityBucketItem(resourceLocation, registries, data)
+ "BookItem" -> BookItem(resourceLocation, registries, data)
+ "EggItem" -> EggItem(resourceLocation, registries, data)
+ "CompassItem" -> CompassItem(resourceLocation, registries, data)
+ "BundleItem" -> BundleItem(resourceLocation, registries, data)
+ "FishingRodItem" -> FishingRodItem(resourceLocation, registries, data)
+ "SpyglassItem" -> SpyglassItem(resourceLocation, registries, data)
+ "BoneMealItem" -> BoneMealItem(resourceLocation, registries, data)
+ "BedItem" -> BedItem(resourceLocation, registries, data)
+ "FilledMapItem" -> FilledMapItem(resourceLocation, registries, data)
+ "ShearsItem" -> ShearsItem(resourceLocation, registries, data)
+ "EnderPearlItem" -> EnderPearlItem(resourceLocation, registries, data)
+ "PotionItem" -> PotionItem(resourceLocation, registries, data)
+ "GlassBottleItem" -> GlassBottleItem(resourceLocation, registries, data)
+ "EnderEyeItem" -> EnderEyeItem(resourceLocation, registries, data)
+ "ExperienceBottleItem" -> ExperienceBottleItem(resourceLocation, registries, data)
+ "FireChargeItem" -> FireChargeItem(resourceLocation, registries, data)
+ "WritableBookItem" -> WritableBookItem(resourceLocation, registries, data)
+ "WrittenBookItem" -> WrittenBookItem(resourceLocation, registries, data)
+ "ItemFrameItem" -> ItemFrameItem(resourceLocation, registries, data)
+ "EmptyMapItem" -> EmptyMapItem(resourceLocation, registries, data)
+ "SkullItem" -> SkullItem(resourceLocation, registries, data)
+ "NetherStarItem" -> NetherStarItem(resourceLocation, registries, data)
+ "FireworkItem" -> FireworkItem(resourceLocation, registries, data)
+ "FireworkChargeItem" -> FireworkChargeItem(resourceLocation, registries, data)
+ "EnchantedBookItem" -> EnchantedBookItem(resourceLocation, registries, data)
+ "ArmorStandItem" -> ArmorStandItem(resourceLocation, registries, data)
+ "DyeableHorseArmorItem" -> DyeableHorseArmorItem(resourceLocation, registries, data)
+ "LeadItem" -> LeadItem(resourceLocation, registries, data)
+ "NameTagItem" -> NameTagItem(resourceLocation, registries, data)
+ "BannerItem" -> BannerItem(resourceLocation, registries, data)
+ "EndCrystalItem" -> EndCrystalItem(resourceLocation, registries, data)
+ "ChorusFruitItem" -> ChorusFruitItem(resourceLocation, registries, data)
+ "SplashPotionItem" -> SplashPotionItem(resourceLocation, registries, data)
+ "SpectralArrowItem" -> SpectralArrowItem(resourceLocation, registries, data)
+ "TippedArrowItem" -> TippedArrowItem(resourceLocation, registries, data)
+ "LingeringPotionItem" -> LingeringPotionItem(resourceLocation, registries, data)
+ "ShieldItem" -> ShieldItem(resourceLocation, registries, data)
+ "KnowledgeBookItem" -> KnowledgeBookItem(resourceLocation, registries, data)
+ "DebugStickItem" -> DebugStickItem(resourceLocation, registries, data)
+ "TridentItem" -> TridentItem(resourceLocation, registries, data)
+ "CrossbowItem" -> CrossbowItem(resourceLocation, registries, data)
+ "SuspiciousStewItem" -> SuspiciousStewItem(resourceLocation, registries, data)
+ "BannerPatternItem" -> BannerPatternItem(resourceLocation, registries, data)
+ "HoneycombItem" -> HoneycombItem(resourceLocation, registries, data)
+ "HoneyBottleItem" -> HoneyBottleItem(resourceLocation, registries, data)
+ else -> TODO("Can not find item class (resourceLocation=$resourceLocation, $`class`)")
+ //else -> Item(resourceLocation, registries, data)
}
}
}
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/ItemFrameItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/ItemFrameItem.kt
new file mode 100644
index 000000000..841368028
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/ItemFrameItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ItemFrameItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/KnowledgeBookItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/KnowledgeBookItem.kt
new file mode 100644
index 000000000..e107b9433
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/KnowledgeBookItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class KnowledgeBookItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/LeadItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/LeadItem.kt
new file mode 100644
index 000000000..17d8dd694
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/LeadItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class LeadItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/MinecartItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/MinecartItem.kt
new file mode 100644
index 000000000..730ab8dec
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/MinecartItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class MinecartItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/MushroomStewItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/MushroomStewItem.kt
new file mode 100644
index 000000000..604df0628
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/MushroomStewItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class MushroomStewItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/NameTagItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/NameTagItem.kt
new file mode 100644
index 000000000..f64bcf2c7
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/NameTagItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class NameTagItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/NetherStarItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/NetherStarItem.kt
new file mode 100644
index 000000000..2aeef1470
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/NetherStarItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class NetherStarItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/OnAStickItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/OnAStickItem.kt
new file mode 100644
index 000000000..befa5273d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/OnAStickItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class OnAStickItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/PowderSnowBucketItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/PowderSnowBucketItem.kt
new file mode 100644
index 000000000..2cd8cde1d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/PowderSnowBucketItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class PowderSnowBucketItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SaddleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SaddleItem.kt
new file mode 100644
index 000000000..8f6cf8ec3
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SaddleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SaddleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/ShearsItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/ShearsItem.kt
new file mode 100644
index 000000000..84ebff06d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/ShearsItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ShearsItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/ShieldItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/ShieldItem.kt
new file mode 100644
index 000000000..1746ca12d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/ShieldItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ShieldItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SignItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SignItem.kt
new file mode 100644
index 000000000..006676a0b
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SignItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SignItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SkullItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SkullItem.kt
new file mode 100644
index 000000000..902ecd575
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SkullItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SkullItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SplashPotionItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SplashPotionItem.kt
new file mode 100644
index 000000000..039ee3cf1
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SplashPotionItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SplashPotionItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SpyglassItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SpyglassItem.kt
new file mode 100644
index 000000000..f745859f7
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SpyglassItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SpyglassItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/SuspiciousStewItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/SuspiciousStewItem.kt
new file mode 100644
index 000000000..cd9ac9a9e
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/SuspiciousStewItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SuspiciousStewItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/TridentItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/TridentItem.kt
new file mode 100644
index 000000000..c86f7825b
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/TridentItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class TridentItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableArmorItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableArmorItem.kt
index f8bc6c0f5..780b069c4 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableArmorItem.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableArmorItem.kt
@@ -20,6 +20,4 @@ open class DyeableArmorItem(
resourceLocation: ResourceLocation,
registries: Registries,
data: Map,
-) : ArmorItem(resourceLocation, registries, data) {
- // ToDo
-}
+) : ArmorItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableHorseArmorItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableHorseArmorItem.kt
new file mode 100644
index 000000000..8c6b0c06c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/DyeableHorseArmorItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.armor
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class DyeableHorseArmorItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/armor/ElytraItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/ElytraItem.kt
new file mode 100644
index 000000000..e8f08fd48
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/armor/ElytraItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.armor
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ElytraItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/ArrowItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/ArrowItem.kt
new file mode 100644
index 000000000..0dd2ec7cb
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/ArrowItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.arrow
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ArrowItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/SpectralArrowItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/SpectralArrowItem.kt
new file mode 100644
index 000000000..009107958
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/SpectralArrowItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.arrow
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SpectralArrowItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/TippedArrowItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/TippedArrowItem.kt
new file mode 100644
index 000000000..90d0ba9e3
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/arrow/TippedArrowItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.arrow
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class TippedArrowItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/AliasedBlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/AliasedBlockItem.kt
new file mode 100644
index 000000000..01d8ba555
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/AliasedBlockItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class AliasedBlockItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt
similarity index 96%
rename from src/main/java/de/bixilon/minosoft/data/registries/items/BlockItem.kt
rename to src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt
index 478ae7a6c..12ea45a85 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/items/BlockItem.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt
@@ -11,7 +11,7 @@
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
-package de.bixilon.minosoft.data.registries.items
+package de.bixilon.minosoft.data.registries.items.block
import de.bixilon.minosoft.data.abilities.Gamemodes
import de.bixilon.minosoft.data.inventory.ItemStack
@@ -19,6 +19,7 @@ import de.bixilon.minosoft.data.player.Hands
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.blocks.BlockUsages
import de.bixilon.minosoft.data.registries.blocks.types.Block
+import de.bixilon.minosoft.data.registries.items.Item
import de.bixilon.minosoft.data.registries.registries.Registries
import de.bixilon.minosoft.gui.rendering.input.camera.hit.BlockRaycastHit
import de.bixilon.minosoft.gui.rendering.input.camera.hit.RaycastHit
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/CommandBlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/CommandBlockItem.kt
new file mode 100644
index 000000000..be894e09d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/CommandBlockItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class CommandBlockItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/LilyPadItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/LilyPadItem.kt
new file mode 100644
index 000000000..8bb85a3e1
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/LilyPadItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class LilyPadItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/ScaffoldingItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/ScaffoldingItem.kt
new file mode 100644
index 000000000..c6b74943b
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/ScaffoldingItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ScaffoldingItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/TallBlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/TallBlockItem.kt
new file mode 100644
index 000000000..cd3758d23
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/TallBlockItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class TallBlockItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/WallStandingBlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/WallStandingBlockItem.kt
new file mode 100644
index 000000000..18b79afde
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/WallStandingBlockItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.block
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class WallStandingBlockItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : BlockItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/book/BookItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/book/BookItem.kt
new file mode 100644
index 000000000..46b8e3627
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/book/BookItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.book
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class BookItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/book/EnchantedBookItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/book/EnchantedBookItem.kt
new file mode 100644
index 000000000..ded0d565d
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/book/EnchantedBookItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.book
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EnchantedBookItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/book/WritableBookItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/book/WritableBookItem.kt
new file mode 100644
index 000000000..ce71520d5
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/book/WritableBookItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.book
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class WritableBookItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/book/WrittenBookItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/book/WrittenBookItem.kt
new file mode 100644
index 000000000..698bcce6c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/book/WrittenBookItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.book
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class WrittenBookItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/BucketItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/BucketItem.kt
similarity index 91%
rename from src/main/java/de/bixilon/minosoft/data/registries/items/BucketItem.kt
rename to src/main/java/de/bixilon/minosoft/data/registries/items/bucket/BucketItem.kt
index eb6324ece..bc2bb1fca 100644
--- a/src/main/java/de/bixilon/minosoft/data/registries/items/BucketItem.kt
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/BucketItem.kt
@@ -11,10 +11,11 @@
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
*/
-package de.bixilon.minosoft.data.registries.items
+package de.bixilon.minosoft.data.registries.items.bucket
import de.bixilon.minosoft.data.registries.ResourceLocation
import de.bixilon.minosoft.data.registries.fluid.Fluid
+import de.bixilon.minosoft.data.registries.items.Item
import de.bixilon.minosoft.data.registries.registries.Registries
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/EntityBucketItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/EntityBucketItem.kt
new file mode 100644
index 000000000..6eb173b87
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/EntityBucketItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.bucket
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EntityBucketItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/MilkBucketItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/MilkBucketItem.kt
new file mode 100644
index 000000000..1208f0475
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/bucket/MilkBucketItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.bucket
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class MilkBucketItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/map/EmptyMapItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/map/EmptyMapItem.kt
new file mode 100644
index 000000000..35d37def0
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/map/EmptyMapItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.map
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EmptyMapItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/map/FilledMapItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/map/FilledMapItem.kt
new file mode 100644
index 000000000..f19b035e2
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/map/FilledMapItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.map
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FilledMapItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EggItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EggItem.kt
new file mode 100644
index 000000000..ec548f131
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EggItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EggItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderEyeItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderEyeItem.kt
new file mode 100644
index 000000000..73b5884f7
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderEyeItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EnderEyeItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderPearlItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderPearlItem.kt
new file mode 100644
index 000000000..c7d84579a
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/EnderPearlItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class EnderPearlItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ExperienceBottleItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ExperienceBottleItem.kt
new file mode 100644
index 000000000..94e231878
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ExperienceBottleItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class ExperienceBottleItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/FireChargeItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/FireChargeItem.kt
new file mode 100644
index 000000000..9b6b2285f
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/FireChargeItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class FireChargeItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/SnowballItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/SnowballItem.kt
new file mode 100644
index 000000000..a456d1e63
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/SnowballItem.kt
@@ -0,0 +1,23 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class SnowballItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ThrowableItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ThrowableItem.kt
new file mode 100644
index 000000000..a9440631c
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/ThrowableItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.Item
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+abstract class ThrowableItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : Item(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/LingeringPotionItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/LingeringPotionItem.kt
new file mode 100644
index 000000000..2c44d1b18
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/LingeringPotionItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable.potion
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.throwable.ThrowableItem
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class LingeringPotionItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)
diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/PotionItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/PotionItem.kt
new file mode 100644
index 000000000..26ec1579e
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/data/registries/items/throwable/potion/PotionItem.kt
@@ -0,0 +1,24 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.data.registries.items.throwable.potion
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.data.registries.items.throwable.ThrowableItem
+import de.bixilon.minosoft.data.registries.registries.Registries
+
+open class PotionItem(
+ resourceLocation: ResourceLocation,
+ registries: Registries,
+ data: Map,
+) : ThrowableItem(resourceLocation, registries, data)