Jello mob
This commit is contained in:
parent
9a4bfa1698
commit
d37e55b101
15 changed files with 295 additions and 25 deletions
|
@ -15,6 +15,7 @@ import ru.betterend.BetterEnd;
|
|||
import ru.betterend.entity.EntityDragonfly;
|
||||
import ru.betterend.entity.EntityEndFish;
|
||||
import ru.betterend.entity.EntityEndSlime;
|
||||
import ru.betterend.entity.EntityJello;
|
||||
import ru.betterend.entity.EntityShadowWalker;
|
||||
import ru.betterend.util.MHelper;
|
||||
import ru.betterend.util.SpawnHelper;
|
||||
|
@ -24,11 +25,13 @@ public class EndEntities {
|
|||
public static final EntityType<EntityEndSlime> END_SLIME = register("end_slime", SpawnGroup.MONSTER, 2F, 2F, EntityEndSlime::new, EntityEndSlime.createMobAttributes(), false, MHelper.color(28, 28, 28), MHelper.color(99, 11, 99));
|
||||
public static final EntityType<EntityEndFish> END_FISH = register("end_fish", SpawnGroup.WATER_AMBIENT, 0.5F, 0.5F, EntityEndFish::new, EntityEndFish.createMobAttributes(), true, MHelper.color(3, 50, 76), MHelper.color(120, 206, 255));
|
||||
public static final EntityType<EntityShadowWalker> SHADOW_WALKER = register("shadow_walker", SpawnGroup.MONSTER, 0.6F, 1.95F, EntityShadowWalker::new, EntityShadowWalker.createMobAttributes(), true, MHelper.color(30, 30, 30), MHelper.color(5, 5, 5));
|
||||
public static final EntityType<EntityJello> JELLO = register("jello", SpawnGroup.WATER_AMBIENT, 0.6F, 1F, EntityJello::new, EntityJello.createMobAttributes(), true, MHelper.color(151, 77, 181), MHelper.color(93, 176, 238));
|
||||
|
||||
public static void register() {
|
||||
SpawnHelper.restrictionLand(END_SLIME, EntityEndSlime::canSpawn);
|
||||
SpawnHelper.restrictionWater(END_FISH, EntityEndFish::canSpawn);
|
||||
SpawnHelper.restrictionLand(SHADOW_WALKER, HostileEntity::canSpawnInDark);
|
||||
SpawnHelper.restrictionWater(JELLO, EntityJello::canSpawn);
|
||||
}
|
||||
|
||||
protected static <T extends Entity> EntityType<T> register(String name, SpawnGroup group, float width, float height, EntityFactory<T> entity) {
|
||||
|
|
|
@ -1,31 +1,30 @@
|
|||
package ru.betterend.registry;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import ru.betterend.entity.render.RendererEntityDragonfly;
|
||||
import ru.betterend.entity.render.RendererEntityEndFish;
|
||||
import ru.betterend.entity.render.RendererEntityEndSlime;
|
||||
import ru.betterend.entity.render.RendererEntityJello;
|
||||
import ru.betterend.entity.render.RendererEntityShadowWalker;
|
||||
|
||||
public class EndEntitiesRenders {
|
||||
|
||||
public static void register() {
|
||||
register(EndEntities.DRAGONFLY, RendererEntityDragonfly.class);
|
||||
register(EndEntities.END_SLIME, RendererEntityEndSlime.class);
|
||||
register(EndEntities.END_FISH, RendererEntityEndFish.class);
|
||||
register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker.class);
|
||||
register(EndEntities.DRAGONFLY, RendererEntityDragonfly::new);
|
||||
register(EndEntities.END_SLIME, RendererEntityEndSlime::new);
|
||||
register(EndEntities.END_FISH, RendererEntityEndFish::new);
|
||||
register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker::new);
|
||||
register(EndEntities.JELLO, RendererEntityJello::new);
|
||||
}
|
||||
|
||||
private static void register(EntityType<?> type, Class<? extends MobEntityRenderer<?, ?>> renderer) {
|
||||
private static void register(EntityType<?> type, Function<EntityRenderDispatcher, MobEntityRenderer<?, ?>> render) {
|
||||
EntityRendererRegistry.INSTANCE.register(type, (entityRenderDispatcher, context) -> {
|
||||
MobEntityRenderer<?, ?> render = null;
|
||||
try {
|
||||
render = renderer.getConstructor(entityRenderDispatcher.getClass()).newInstance(entityRenderDispatcher);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return render;
|
||||
return render.apply(entityRenderDispatcher);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import ru.betterend.item.EndPickaxe;
|
|||
import ru.betterend.item.EndToolMaterial;
|
||||
import ru.betterend.item.EternalCrystal;
|
||||
import ru.betterend.item.GuideBook;
|
||||
import ru.betterend.item.ItemSpawnEgg;
|
||||
import ru.betterend.item.PatternedItem;
|
||||
import ru.betterend.tab.CreativeTabs;
|
||||
import ru.betterend.util.TagHelper;
|
||||
|
@ -157,7 +158,7 @@ public class EndItems {
|
|||
}
|
||||
|
||||
public static Item registerEgg(String name, EntityType<?> type, int background, int dots) {
|
||||
SpawnEggItem item = new SpawnEggItem(type, background, dots, makeItemSettings());
|
||||
SpawnEggItem item = new ItemSpawnEgg(type, background, dots, makeItemSettings());
|
||||
ItemDispenserBehavior behavior = new ItemDispenserBehavior() {
|
||||
public ItemStack dispenseSilently(BlockPointer pointer, ItemStack stack) {
|
||||
Direction direction = pointer.getBlockState().get(DispenserBlock.FACING);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue