- 1
- 0
Хочу заспаунить парящую книгу (такая есть на столе зачарования). Нашёл два мода, в которых есть подобное. Сумеречный лес и Примитивные мобы. Пытался сделать что-то с помощью них, но, к сожалению, ничего не получилось. (С 1.12.2 не мало изменений произошло, как я понял)
Особо много уроков/информации по Forge 1.15.2 не смог найти. В общем, попытался сделать что-то своё. Сущность есть, её можно бить и смотреть от её лица в режиме наблюдателя, но она невидима.
Особо много уроков/информации по Forge 1.15.2 не смог найти. В общем, попытался сделать что-то своё. Сущность есть, её можно бить и смотреть от её лица в режиме наблюдателя, но она невидима.
Java:
@OnlyIn(Dist.CLIENT)
public class EnchantmentBookModel extends BookModel
{
}
@OnlyIn(Dist.CLIENT)
public class EnchantmentBookRenderer extends EntityRenderer<EntityEnchantmentBook>
{
private static final ResourceLocation TEXTURES = new ResourceLocation(MOD_ID, "textures/entity/enchantment_book.png");
public EnchantmentBookRenderer(EntityRendererManager renderManager) {
super(renderManager);
}
@Override
public ResourceLocation getEntityTexture(EntityEnchantmentBook entity) {
return TEXTURES;
}
}
public class EntityEnchantmentBook extends CreatureEntity
{
public EntityEnchantmentBook(EntityType<? extends EntityEnchantmentBook> type, World worldIn) {
super(type, worldIn);
}
@Override
protected void registerGoals() {
goalSelector.addGoal(0, new SwimGoal(this));
goalSelector.addGoal(5, new WaterAvoidingRandomWalkingGoal(this, 1.0D));
goalSelector.addGoal(6, new LookAtGoal(this, PlayerEntity.class, 8.0F));
goalSelector.addGoal(6, new LookRandomlyGoal(this));
}
@Override
protected void registerAttributes() {
super.registerAttributes();
getAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(30.0D);
getAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
}
}
public class EntityRegistryHook
{
/* Все зарегистрированные сущности */
public static final DeferredRegister<EntityType<?>> ENTITIES = new DeferredRegister<>(ForgeRegistries.ENTITIES, MOD_ID);
/* Регистрация кастомных сущностей */
public static final RegistryObject<EntityType<EntityEnchantmentBook>> ENCHANTMENT_BOOK = ENTITIES.register(
"enchantment_book", () -> EntityType.Builder.create
(
EntityEnchantmentBook::new, EntityClassification.CREATURE
)
.setTrackingRange(80)
.setUpdateInterval(3)
.build(MOD_ID + ":enchantment_book_entity"));
public static void register() {
ENTITIES.register(FMLJavaModLoadingContext.get().getModEventBus());
}
}