Fixed a crash found in #25 relating to spawn configuration registration
Actually defined hitbox sizes Made size adjustments to several creatures Added the Achillobator, Chilesaurus, Mussaurus, Suchomimus, Thescelosaurus and it's items Improved swimming behavior for terrestrial and avian creatures Made Dilophosaurus animation fixes relating to its frill Added natural breeding as life finds a way Added a short amount of health regeneration after full hunger so dinos don't die from hunting too much Fixed avian AI to not select the Idle state while flying, and generally improved their behavior Increased the chance and timespan of which dinos select a new place to move Increased the minimum speed for dinos to move when roaming to stop animations not playing Set a minimum speed when a dino is on Ice so it actaully moves Add random setting to spawn egg item Fix entities not middle-mouse-clickable Drastically reduced spawn rate of many creatures Fixes hand feeding, and thereby being able to put entities in the breeding state Replaces machine models Changed AI to ignore creepers Adds tags for each entity in the forge namespace to have compatibility with other mods that add the same entity, as long as they support this too Fixes machine input and export logic with pipes and hoppers Fixes inworld water input via bucket with fossil cleaner Fixes pipe logic to actually select a new fill point Fixes herbivores not being able to self feed
This commit is contained in:
@@ -138,6 +138,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.CEARADACTYLUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.CERATOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.CHASMOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.CHILESAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.COELOPHYSIS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.COELURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.COMPSOGNATHUS_SKULL_FOSSIL.get());
|
||||
@@ -164,6 +165,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.MAMENCHISAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.METRIACANTHOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.MOGANOPTERUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.MUSSASAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.NYCTOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.ORNITHOLESTES_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.ORNITHOMIMUS_SKULL_FOSSIL.get());
|
||||
@@ -184,8 +186,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.SPINOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.STEGOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.STYRACOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.SUCHOMIMUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.TAPEJARA_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.THERIZINOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.THESCELOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.TITANOSAURUS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.TRICERATOPS_SKULL_FOSSIL.get());
|
||||
output.accept(ModItems.TROODON_SKULL_FOSSIL.get());
|
||||
@@ -211,6 +215,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.FRESH_CEARADACTYLUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_CERATOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_CHASMOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_CHILESAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_COELOPHYSIS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_COELURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_COMPSOGNATHUS_SKULL.get());
|
||||
@@ -240,6 +245,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.FRESH_MAMENCHISAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_METRIACANTHOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_MOGANOPTERUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_MUSSASAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_NYCTOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_ORNITHOLESTES_SKULL.get());
|
||||
output.accept(ModItems.FRESH_ORNITHOMIMUS_SKULL.get());
|
||||
@@ -259,8 +265,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.FRESH_SHANTUNGOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_STEGOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_STYRACOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_SUCHOMIMUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_TAPEJARA_SKULL.get());
|
||||
output.accept(ModItems.FRESH_THERIZINOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_THESCELOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_TITANOSAURUS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_TRICERATOPS_SKULL.get());
|
||||
output.accept(ModItems.FRESH_TROODON_SKULL.get());
|
||||
@@ -286,6 +294,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.CEARADACTYLUS_TISSUE.get());
|
||||
output.accept(ModItems.CERATOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.CHASMOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.CHILESAURUS_TISSUE.get());
|
||||
output.accept(ModItems.COELOPHYSIS_TISSUE.get());
|
||||
output.accept(ModItems.COELURUS_TISSUE.get());
|
||||
output.accept(ModItems.COMPSOGNATHUS_TISSUE.get());
|
||||
@@ -315,6 +324,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.MAMENCHISAURUS_TISSUE.get());
|
||||
output.accept(ModItems.METRIACANTHOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.MOGANOPTERUS_TISSUE.get());
|
||||
output.accept(ModItems.MUSSASAURUS_TISSUE.get());
|
||||
output.accept(ModItems.NYCTOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.ORNITHOLESTES_TISSUE.get());
|
||||
output.accept(ModItems.ORNITHOMIMUS_TISSUE.get());
|
||||
@@ -335,8 +345,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.SPINOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.STEGOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.STYRACOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.SUCHOMIMUS_TISSUE.get());
|
||||
output.accept(ModItems.TAPEJARA_TISSUE.get());
|
||||
output.accept(ModItems.THERIZINOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.THESCELOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.TITANOSAURUS_TISSUE.get());
|
||||
output.accept(ModItems.TRICERATOPS_TISSUE.get());
|
||||
output.accept(ModItems.TROODON_TISSUE.get());
|
||||
@@ -362,6 +374,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.CEARADACTYLUS_DNA.get());
|
||||
output.accept(ModItems.CERATOSAURUS_DNA.get());
|
||||
output.accept(ModItems.CHASMOSAURUS_DNA.get());
|
||||
output.accept(ModItems.CHILESAURUS_DNA.get());
|
||||
output.accept(ModItems.COELOPHYSIS_DNA.get());
|
||||
output.accept(ModItems.COELURUS_DNA.get());
|
||||
output.accept(ModItems.COMPSOGNATHUS_DNA.get());
|
||||
@@ -391,6 +404,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.MAMENCHISAURUS_DNA.get());
|
||||
output.accept(ModItems.METRIACANTHOSAURUS_DNA.get());
|
||||
output.accept(ModItems.MOGANOPTERUS_DNA.get());
|
||||
output.accept(ModItems.MUSSASAURUS_DNA.get());
|
||||
output.accept(ModItems.NYCTOSAURUS_DNA.get());
|
||||
output.accept(ModItems.ORNITHOLESTES_DNA.get());
|
||||
output.accept(ModItems.ORNITHOMIMUS_DNA.get());
|
||||
@@ -411,8 +425,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.SPINOSAURUS_DNA.get());
|
||||
output.accept(ModItems.STEGOSAURUS_DNA.get());
|
||||
output.accept(ModItems.STYRACOSAURUS_DNA.get());
|
||||
output.accept(ModItems.SUCHOMIMUS_DNA.get());
|
||||
output.accept(ModItems.TAPEJARA_DNA.get());
|
||||
output.accept(ModItems.THERIZINOSAURUS_DNA.get());
|
||||
output.accept(ModItems.THESCELOSAURUS_DNA.get());
|
||||
output.accept(ModItems.TITANOSAURUS_DNA.get());
|
||||
output.accept(ModItems.TRICERATOPS_DNA.get());
|
||||
output.accept(ModItems.TROODON_DNA.get());
|
||||
@@ -438,6 +454,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.CEARADACTYLUS_SYRINGE.get());
|
||||
output.accept(ModItems.CERATOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.CHASMOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.CHILESAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.COELOPHYSIS_SYRINGE.get());
|
||||
output.accept(ModItems.COELURUS_SYRINGE.get());
|
||||
output.accept(ModItems.COMPSOGNATHUS_SYRINGE.get());
|
||||
@@ -467,6 +484,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.MAMENCHISAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.METRIACANTHOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.MOGANOPTERUS_SYRINGE.get());
|
||||
output.accept(ModItems.MUSSASAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.NYCTOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.ORNITHOLESTES_SYRINGE.get());
|
||||
output.accept(ModItems.ORNITHOMIMUS_SYRINGE.get());
|
||||
@@ -487,8 +505,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.SPINOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.STEGOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.STYRACOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.SUCHOMIMUS_SYRINGE.get());
|
||||
output.accept(ModItems.TAPEJARA_SYRINGE.get());
|
||||
output.accept(ModItems.THERIZINOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.THESCELOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.TITANOSAURUS_SYRINGE.get());
|
||||
output.accept(ModItems.TRICERATOPS_SYRINGE.get());
|
||||
output.accept(ModItems.TROODON_SYRINGE.get());
|
||||
@@ -514,6 +534,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModBlocks.CEARADACTYLUS_EGG.get());
|
||||
output.accept(ModBlocks.CERATOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.CHASMOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.CHILESAURUS_EGG.get());
|
||||
output.accept(ModBlocks.COELOPHYSIS_EGG.get());
|
||||
output.accept(ModBlocks.COELURUS_EGG.get());
|
||||
output.accept(ModBlocks.COMPSOGNATHUS_EGG.get());
|
||||
@@ -543,6 +564,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModBlocks.MAMENCHISAURUS_EGG.get());
|
||||
output.accept(ModBlocks.METRIACANTHOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.MOGANOPTERUS_EGG.get());
|
||||
output.accept(ModBlocks.MUSSASAURUS_EGG.get());
|
||||
output.accept(ModBlocks.NYCTOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.ORNITHOLESTES_EGG.get());
|
||||
output.accept(ModBlocks.ORNITHOMIMUS_EGG.get());
|
||||
@@ -562,8 +584,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModBlocks.SPINOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.STEGOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.STYRACOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.SUCHOMIMUS_EGG.get());
|
||||
output.accept(ModBlocks.TAPEJARA_EGG.get());
|
||||
output.accept(ModBlocks.THERIZINOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.THESCELOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.TITANOSAURUS_EGG.get());
|
||||
output.accept(ModBlocks.TRICERATOPS_EGG.get());
|
||||
output.accept(ModBlocks.TROODON_EGG.get());
|
||||
@@ -595,6 +619,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.CEARADACTYLUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.CERATOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.CHASMOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.CHILESAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.COELOPHYSIS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.COELURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.COMPSOGNATHUS_SPAWN_EGG.get());
|
||||
@@ -624,6 +649,7 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.MAMENCHISAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.METRIACANTHOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.MOGANOPTERUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.MUSSASAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.NYCTOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.ORNITHOLESTES_SPAWN_EGG.get());
|
||||
output.accept(ModItems.ORNITHOMIMUS_SPAWN_EGG.get());
|
||||
@@ -644,8 +670,10 @@ public class ModCreativeTabs {
|
||||
output.accept(ModItems.SPINOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.STEGOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.STYRACOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.SUCHOMIMUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.TAPEJARA_SPAWN_EGG.get());
|
||||
output.accept(ModItems.THERIZINOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.THESCELOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.TITANOSAURUS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.TRICERATOPS_SPAWN_EGG.get());
|
||||
output.accept(ModItems.TROODON_SPAWN_EGG.get());
|
||||
|
||||
@@ -181,6 +181,14 @@ public class ModItems {
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.UTAHRAPTOR, 0xff474131, 0xffdad8db, new Item.Properties()));
|
||||
public static final RegistrySupplier<Item> ACHILLOBATOR_SPAWN_EGG = ITEMS.register("achillobator_spawn_egg",
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.ACHILLOBATOR, 0xffcbb791, 0xff8e4338, new Item.Properties()));
|
||||
public static final RegistrySupplier<Item> SUCHOMIMUS_SPAWN_EGG = ITEMS.register("suchomimus_spawn_egg",
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.SUCHOMIMUS, 0xff455565, 0xffccb674, new Item.Properties()));
|
||||
public static final RegistrySupplier<Item> CHILESAURUS_SPAWN_EGG = ITEMS.register("chilesaurus_spawn_egg",
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.CHILESAURUS, 0xff4fa0ba, 0xff7e9148, new Item.Properties()));
|
||||
public static final RegistrySupplier<Item> THESCELOSAURUS_SPAWN_EGG = ITEMS.register("thescelosaurus_spawn_egg",
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.THESCELOSAURUS, 0xff6d7a83, 0xffbac6d1, new Item.Properties()));
|
||||
public static final RegistrySupplier<Item> MUSSASAURUS_SPAWN_EGG = ITEMS.register("mussasaurus_spawn_egg",
|
||||
() -> new CustomGenderedSpawnEggItem(ModEntities.MUSSASAURUS, 0xff6c6724, 0xff222611, new Item.Properties()));
|
||||
|
||||
|
||||
public static final RegistrySupplier<Item> TEST_TUBE = ITEMS.register("test_tube", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
@@ -265,6 +273,10 @@ public class ModItems {
|
||||
public static final RegistrySupplier<Item> UTAHRAPTOR_SKULL_FOSSIL = ITEMS.register("utahraptor_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> ZHENYUANOPTERUS_SKULL_FOSSIL = ITEMS.register("zhenyuanopterus_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> ACHILLOBATOR_SKULL_FOSSIL = ITEMS.register("achillobator_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> SUCHOMIMUS_SKULL_FOSSIL = ITEMS.register("suchomimus_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> CHILESAURUS_SKULL_FOSSIL = ITEMS.register("chilesaurus_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> THESCELOSAURUS_SKULL_FOSSIL = ITEMS.register("thescelosaurus_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> MUSSASAURUS_SKULL_FOSSIL = ITEMS.register("mussasaurus_skull_fossil", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
|
||||
|
||||
public static final RegistrySupplier<Item> FRESH_VELOCIRAPTOR_SKULL = ITEMS.register("fresh_velociraptor_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
@@ -341,6 +353,10 @@ public class ModItems {
|
||||
public static final RegistrySupplier<Item> FRESH_UTAHRAPTOR_SKULL = ITEMS.register("fresh_utahraptor_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_ZHENYUANOPTERUS_SKULL = ITEMS.register("fresh_zhenyuanopterus_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_ACHILLOBATOR_SKULL = ITEMS.register("fresh_achillobator_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_SUCHOMIMUS_SKULL = ITEMS.register("fresh_suchomimus_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_CHILESAURUS_SKULL = ITEMS.register("fresh_chilesaurus_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_THESCELOSAURUS_SKULL = ITEMS.register("fresh_thescelosaurus_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
public static final RegistrySupplier<Item> FRESH_MUSSASAURUS_SKULL = ITEMS.register("fresh_mussasaurus_skull", () -> new Item(new Item.Properties().stacksTo(16)));
|
||||
|
||||
|
||||
// Tissue group
|
||||
@@ -418,6 +434,10 @@ public class ModItems {
|
||||
public static final RegistrySupplier<Item> UTAHRAPTOR_TISSUE = ITEMS.register("utahraptor_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> ZHENYUANOPTERUS_TISSUE = ITEMS.register("zhenyuanopterus_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> ACHILLOBATOR_TISSUE = ITEMS.register("achillobator_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> SUCHOMIMUS_TISSUE = ITEMS.register("suchomimus_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> CHILESAURUS_TISSUE = ITEMS.register("chilesaurus_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> THESCELOSAURUS_TISSUE = ITEMS.register("thescelosaurus_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
public static final RegistrySupplier<Item> MUSSASAURUS_TISSUE = ITEMS.register("mussasaurus_tissue", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.EPIC)));
|
||||
|
||||
|
||||
// DNA group
|
||||
@@ -495,6 +515,10 @@ public class ModItems {
|
||||
public static final RegistrySupplier<Item> UTAHRAPTOR_DNA = ITEMS.register("utahraptor_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> ZHENYUANOPTERUS_DNA = ITEMS.register("zhenyuanopterus_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> ACHILLOBATOR_DNA = ITEMS.register("achillobator_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> SUCHOMIMUS_DNA = ITEMS.register("suchomimus_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> CHILESAURUS_DNA = ITEMS.register("chilesaurus_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> THESCELOSAURUS_DNA = ITEMS.register("thescelosaurus_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
public static final RegistrySupplier<Item> MUSSASAURUS_DNA = ITEMS.register("mussasaurus_dna", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.RARE)));
|
||||
|
||||
|
||||
// Syringe group
|
||||
@@ -572,6 +596,10 @@ public class ModItems {
|
||||
public static final RegistrySupplier<Item> UTAHRAPTOR_SYRINGE = ITEMS.register("utahraptor_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> ZHENYUANOPTERUS_SYRINGE = ITEMS.register("zhenyuanopterus_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> ACHILLOBATOR_SYRINGE = ITEMS.register("achillobator_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> SUCHOMIMUS_SYRINGE = ITEMS.register("suchomimus_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> CHILESAURUS_SYRINGE = ITEMS.register("chilesaurus_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> THESCELOSAURUS_SYRINGE = ITEMS.register("thescelosaurus_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
public static final RegistrySupplier<Item> MUSSASAURUS_SYRINGE = ITEMS.register("mussasaurus_syringe", () -> new Item(new Item.Properties().stacksTo(8).rarity(Rarity.UNCOMMON)));
|
||||
|
||||
|
||||
public static void register() {
|
||||
|
||||
+21
-12
@@ -38,6 +38,7 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
private static final String KEY_VARIANT = "Variant";
|
||||
private static final String KEY_ENTITY_TAG = "EntityTag";
|
||||
private static final int VARIANT_COUNT = 2; // 0=Male, 1=Female
|
||||
private static final int SELECTION_MODE_COUNT = 3; // 0=Male, 1=Female, 2=Random
|
||||
|
||||
private final Supplier<? extends EntityType<? extends Mob>> typeSupplier;
|
||||
|
||||
@@ -67,16 +68,16 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
if (data == null) return 0;
|
||||
CompoundTag tag = data.copyTag();
|
||||
if (!tag.contains(KEY_SELECTED_VARIANT)) return 0;
|
||||
return Math.floorMod(tag.getInt(KEY_SELECTED_VARIANT), VARIANT_COUNT);
|
||||
return Math.floorMod(tag.getInt(KEY_SELECTED_VARIANT), SELECTION_MODE_COUNT);
|
||||
*///?} else {
|
||||
CompoundTag tag = stack.getTag();
|
||||
if (tag == null || !tag.contains(KEY_SELECTED_VARIANT)) return 0;
|
||||
return Math.floorMod(tag.getInt(KEY_SELECTED_VARIANT), VARIANT_COUNT);
|
||||
return Math.floorMod(tag.getInt(KEY_SELECTED_VARIANT), SELECTION_MODE_COUNT);
|
||||
//?}
|
||||
}
|
||||
|
||||
private static void setSelectedVariant(ItemStack stack, int variant) {
|
||||
int v = Math.floorMod(variant, VARIANT_COUNT);
|
||||
int v = Math.floorMod(variant, SELECTION_MODE_COUNT);
|
||||
//? if >1.20.1 {
|
||||
/*stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, existing -> {
|
||||
CompoundTag tag = existing.copyTag();
|
||||
@@ -89,11 +90,12 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
}
|
||||
|
||||
private static void cycleVariant(ItemStack stack) {
|
||||
setSelectedVariant(stack, (getSelectedVariant(stack) + 1) % VARIANT_COUNT);
|
||||
setSelectedVariant(stack, (getSelectedVariant(stack) + 1) % SELECTION_MODE_COUNT);
|
||||
}
|
||||
|
||||
private void ensureEntityDataHasVariant(ItemStack stack) {
|
||||
final int variant = getSelectedVariant(stack);
|
||||
private void ensureEntityDataHasVariant(ItemStack stack, Level level) {
|
||||
final int selectedVariant = getSelectedVariant(stack);
|
||||
final int variant = selectedVariant == 2 ? level.random.nextInt(VARIANT_COUNT) : selectedVariant;
|
||||
//? if >1.20.1 {
|
||||
/*stack.update(DataComponents.ENTITY_DATA, CustomData.EMPTY, existing -> {
|
||||
CompoundTag tag = existing.copyTag();
|
||||
@@ -122,7 +124,7 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
return InteractionResultHolder.sidedSuccess(stack, level.isClientSide);
|
||||
}
|
||||
|
||||
ensureEntityDataHasVariant(stack);
|
||||
ensureEntityDataHasVariant(stack, level);
|
||||
return super.use(level, player, hand);
|
||||
}
|
||||
|
||||
@@ -141,7 +143,7 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
}
|
||||
|
||||
if (player == null || !player.isSecondaryUseActive()) {
|
||||
ensureEntityDataHasVariant(context.getItemInHand());
|
||||
ensureEntityDataHasVariant(context.getItemInHand(), level);
|
||||
}
|
||||
return super.useOn(context);
|
||||
}
|
||||
@@ -162,7 +164,11 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
|
||||
private void addGenderTooltip(ItemStack stack, List<Component> tooltip) {
|
||||
int v = getSelectedVariant(stack);
|
||||
String genderText = (v == 0) ? "Male" : "Female";
|
||||
String genderText = switch (v) {
|
||||
case 0 -> "Male";
|
||||
case 1 -> "Female";
|
||||
default -> "Random";
|
||||
};
|
||||
tooltip.add(Component.translatable("tooltip.jurassicrevived.gender", genderText));
|
||||
tooltip.add(Component.translatable("tooltip.jurassicrevived.gender.hint", "Shift-Right-Click"));
|
||||
}
|
||||
@@ -170,9 +176,12 @@ public class CustomGenderedSpawnEggItem extends SpawnEggItem {
|
||||
@Override
|
||||
public Component getName(ItemStack stack) {
|
||||
Component base = super.getName(stack);
|
||||
boolean male = getSelectedVariant(stack) == 0;
|
||||
Component gender = Component.literal(male ? "Male" : "Female")
|
||||
.withStyle(male ? ChatFormatting.AQUA : ChatFormatting.LIGHT_PURPLE);
|
||||
int variant = getSelectedVariant(stack);
|
||||
Component gender = switch (variant) {
|
||||
case 0 -> Component.literal("Male").withStyle(ChatFormatting.AQUA);
|
||||
case 1 -> Component.literal("Female").withStyle(ChatFormatting.LIGHT_PURPLE);
|
||||
default -> Component.literal("Random").withStyle(ChatFormatting.YELLOW);
|
||||
};
|
||||
|
||||
return base.copy().append(Component.literal(" (")).append(gender).append(Component.literal(")"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user