diff --git a/src/main/java/com/minelittlepony/unicopia/entity/EntitySpellbook.java b/src/main/java/com/minelittlepony/unicopia/entity/EntitySpellbook.java index 53ef2aff..1623f1c5 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/EntitySpellbook.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/EntitySpellbook.java @@ -25,12 +25,17 @@ import net.minecraft.world.World; public class EntitySpellbook extends EntityLiving implements IMagicals { private static final DataParameter OPENED = EntityDataManager.createKey(EntitySpellbook.class, DataSerializers.BOOLEAN); + private static final DataParameter ALTERED = EntityDataManager.createKey(EntitySpellbook.class, DataSerializers.BOOLEAN); private static final DataParameter OPENED_USER = EntityDataManager.createKey(EntitySpellbook.class, DataSerializers.BYTE); public EntitySpellbook(World worldIn) { super(worldIn); setSize(0.6f, 0.6f); enablePersistence(); + + if (world.rand.nextInt(3) == 0) { + setAltered(); + } } @Override @@ -38,6 +43,7 @@ public class EntitySpellbook extends EntityLiving implements IMagicals { super.entityInit(); dataManager.register(OPENED, true); dataManager.register(OPENED_USER, (byte)1); + dataManager.register(ALTERED, false); } @Override @@ -55,6 +61,14 @@ public class EntitySpellbook extends EntityLiving implements IMagicals { return false; } + public boolean getIsAltered() { + return dataManager.get(ALTERED); + } + + public void setAltered() { + dataManager.set(ALTERED, true); + } + public boolean getIsOpen() { return dataManager.get(OPENED); } diff --git a/src/main/java/com/minelittlepony/unicopia/render/RenderSpellbook.java b/src/main/java/com/minelittlepony/unicopia/render/RenderSpellbook.java index 1ff841d9..5b5a4752 100644 --- a/src/main/java/com/minelittlepony/unicopia/render/RenderSpellbook.java +++ b/src/main/java/com/minelittlepony/unicopia/render/RenderSpellbook.java @@ -11,7 +11,8 @@ import net.minecraft.util.ResourceLocation; public class RenderSpellbook extends RenderLiving { - private static final ResourceLocation texture = new ResourceLocation("textures/entity/enchanting_table_book.png"); + private static final ResourceLocation BLUE = new ResourceLocation("unicopia", "textures/entity/enchanting_table_book_blue.png"); + private static final ResourceLocation NORMAL = new ResourceLocation("unicopia", "textures/entity/enchanting_table_book.png"); public RenderSpellbook(RenderManager rendermanagerIn) { super(rendermanagerIn, new ModelSpellbook(), 0); @@ -19,7 +20,7 @@ public class RenderSpellbook extends RenderLiving { @Override protected ResourceLocation getEntityTexture(EntitySpellbook entity) { - return texture; + return entity.getIsAltered() ? BLUE : NORMAL; } @Override diff --git a/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book.png b/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book.png new file mode 100644 index 00000000..6f0afa4f Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book.png differ diff --git a/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book_blue.png b/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book_blue.png new file mode 100644 index 00000000..40e640f5 Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/entity/enchanting_table_book_blue.png differ