From d5d933b4e6c2709e5024c765c8ec041a8fa22dd2 Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Sat, 3 Oct 2020 00:54:20 +0100 Subject: [PATCH] Add dire wolf pelt --- .../wizardry/block/BlockPermafrost.java | 22 +++ .../renderer/overlay/RenderSixthSense.java | 26 +++- .../wizardry/registry/WizardryItems.java | 144 +++++++++--------- .../assets/ebwizardry/lang/en_gb.lang | 2 + .../assets/ebwizardry/lang/en_us.lang | 2 + .../models/item/charm_sixth_sense.json | 6 + .../textures/gui/sixth_sense_marker.png | Bin 1023 -> 1994 bytes .../textures/items/charm_sixth_sense.png | Bin 0 -> 6705 bytes 8 files changed, 130 insertions(+), 72 deletions(-) create mode 100644 src/main/java/electroblob/wizardry/block/BlockPermafrost.java create mode 100644 src/main/resources/assets/ebwizardry/models/item/charm_sixth_sense.json create mode 100644 src/main/resources/assets/ebwizardry/textures/items/charm_sixth_sense.png diff --git a/src/main/java/electroblob/wizardry/block/BlockPermafrost.java b/src/main/java/electroblob/wizardry/block/BlockPermafrost.java new file mode 100644 index 00000000..fb221cd0 --- /dev/null +++ b/src/main/java/electroblob/wizardry/block/BlockPermafrost.java @@ -0,0 +1,22 @@ +package electroblob.wizardry.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.Entity; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; + +import javax.annotation.Nullable; + +public class BlockPermafrost extends Block { + + public BlockPermafrost(){ + super(Material.ICE); + } + + @Override + public float getSlipperiness(IBlockState state, IBlockAccess world, BlockPos pos, @Nullable Entity entity){ + return super.getSlipperiness(state, world, pos, entity); + } +} diff --git a/src/main/java/electroblob/wizardry/client/renderer/overlay/RenderSixthSense.java b/src/main/java/electroblob/wizardry/client/renderer/overlay/RenderSixthSense.java index 2b396c80..f73dfb0f 100644 --- a/src/main/java/electroblob/wizardry/client/renderer/overlay/RenderSixthSense.java +++ b/src/main/java/electroblob/wizardry/client/renderer/overlay/RenderSixthSense.java @@ -3,7 +3,9 @@ package electroblob.wizardry.client.renderer.overlay; import electroblob.wizardry.Wizardry; import electroblob.wizardry.client.WizardryClientEventHandler; import electroblob.wizardry.constants.Constants; +import electroblob.wizardry.item.ItemArtefact; import electroblob.wizardry.registry.Spells; +import electroblob.wizardry.registry.WizardryItems; import electroblob.wizardry.registry.WizardryPotions; import electroblob.wizardry.spell.Spell; import net.minecraft.client.Minecraft; @@ -15,6 +17,8 @@ import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityArmorStand; +import net.minecraft.entity.monster.IMob; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderLivingEvent; @@ -29,6 +33,10 @@ public class RenderSixthSense { private static final ResourceLocation MARKER_TEXTURE = new ResourceLocation(Wizardry.MODID, "textures/gui/sixth_sense_marker.png"); private static final ResourceLocation SCREEN_OVERLAY_TEXTURE = new ResourceLocation(Wizardry.MODID, "textures/gui/sixth_sense_overlay.png"); + private static final int PASSIVE_MOB_MARKER_COLOUR = 0xc6ff00; + private static final int HOSTILE_MOB_MARKER_COLOUR = 0x004a97; + private static final int PLAYER_MARKER_COLOUR = 0xffffff; + @SubscribeEvent public static void onRenderGameOverlayEvent(RenderGameOverlayEvent.Post event){ @@ -80,7 +88,21 @@ public class RenderSixthSense { GlStateManager.rotate(180 - renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GlStateManager.rotate(yaw, 1.0F, 0.0F, 0.0F); - GlStateManager.color(1, 1, 1, 1); + // Makes the colour add to the colour of the texture pixels, rather than the default multiplying + GlStateManager.glTexEnvi(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_ADD); + + int colour = PASSIVE_MOB_MARKER_COLOUR; + + if(ItemArtefact.isArtefactActive(mc.player, WizardryItems.charm_sixth_sense)){ + if(event.getEntity() instanceof IMob) colour = HOSTILE_MOB_MARKER_COLOUR; + else if(event.getEntity() instanceof EntityPlayer) colour = PLAYER_MARKER_COLOUR; + } + + int r = colour >> 16 & 255; + int g = colour >> 8 & 255; + int b = colour & 255; + + GlStateManager.color(r/255f, g/255f, b/255f, 1); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); @@ -97,6 +119,8 @@ public class RenderSixthSense { GlStateManager.disableBlend(); GlStateManager.enableLighting(); GlStateManager.enableDepth(); + // Reverses the colour addition change from before + GlStateManager.glTexEnvi(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE); GlStateManager.popMatrix(); } diff --git a/src/main/java/electroblob/wizardry/registry/WizardryItems.java b/src/main/java/electroblob/wizardry/registry/WizardryItems.java index 9a59c566..5b6a951a 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryItems.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryItems.java @@ -280,6 +280,7 @@ public final class WizardryItems { public static final Item charm_growth = placeholder(); public static final Item charm_abseiling = placeholder(); public static final Item charm_silk_touch = placeholder(); + public static final Item charm_sixth_sense = placeholder(); public static final Item charm_stop_time = placeholder(); public static final Item charm_light = placeholder(); public static final Item charm_transportation = placeholder(); @@ -580,79 +581,80 @@ public final class WizardryItems { registerItem(registry, "lightning_hammer", new ItemLightningHammer()); - registerItem(registry, "ring_condensing", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_siphoning", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_battlemage", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_combustion", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_fire_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_fire_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_disintegration", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_ice_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_ice_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_arcane_frost", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_shattering", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_lightning_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_storm", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_seeking", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_hammer", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_soulbinding", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_leeching", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_necromancy_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_mind_control", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_poison", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_earth_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_earth_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_full_moon", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_evoker", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_extraction", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_mana_return", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "ring_blockwrangler", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_conjurer", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_defender", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); - registerItem(registry, "ring_paladin", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); - registerItem(registry, "ring_interdiction", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_condensing", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_siphoning", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_battlemage", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_combustion", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_fire_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_fire_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_disintegration", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_ice_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_ice_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_arcane_frost", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_shattering", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_lightning_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_storm", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_seeking", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_hammer", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_soulbinding", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_leeching", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_necromancy_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_mind_control", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_poison", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_earth_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_earth_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_full_moon", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_evoker", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_extraction", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_mana_return", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); + registerItem(registry, "ring_blockwrangler", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_conjurer", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_defender", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_paladin", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); + registerItem(registry, "ring_interdiction", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); - registerItem(registry, "amulet_arcane_defence", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_warding", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_wisdom", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_fire_protection", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_fire_cloaking", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_ice_immunity", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_ice_protection", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_potential", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_channeling", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_lich", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_wither_immunity", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_glide", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_banishing", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_anchoring", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_recovery", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_transience", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_resurrection", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_auto_shield", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); - registerItem(registry, "amulet_absorption", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_arcane_defence", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_warding", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_wisdom", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_fire_protection", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_fire_cloaking", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_ice_immunity", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_ice_protection", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_potential", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_channeling", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_lich", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_wither_immunity", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_glide", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_banishing", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_anchoring", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_recovery", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_transience", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_resurrection", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_auto_shield", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.AMULET)); + registerItem(registry, "amulet_absorption", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.AMULET)); - registerItem(registry, "charm_haggler", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_experience_tome", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_move_speed", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_spell_discovery", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_auto_smelt", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_lava_walking", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_storm", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_minion_health", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_minion_variants", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_undead_helmets", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_hunger_casting", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_flight", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_growth", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_abseiling", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_silk_touch", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_stop_time", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_light", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_transportation", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_black_hole", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_mount_teleporting", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); - registerItem(registry, "charm_feeding", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_haggler", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_experience_tome", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_move_speed", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_spell_discovery", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_auto_smelt", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_lava_walking", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_storm", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_minion_health", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_minion_variants", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_undead_helmets", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_hunger_casting", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_flight", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_growth", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_abseiling", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_silk_touch", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_sixth_sense", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_stop_time", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_light", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_transportation", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_black_hole", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_mount_teleporting", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_feeding", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); } diff --git a/src/main/resources/assets/ebwizardry/lang/en_gb.lang b/src/main/resources/assets/ebwizardry/lang/en_gb.lang index fb498fa7..a7ba36b7 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_gb.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_gb.lang @@ -399,6 +399,8 @@ item.ebwizardry\:charm_abseiling.name=Enchanted Twine item.ebwizardry\:charm_abseiling.desc=Holding sneak whilst grappling slowly pays out the line item.ebwizardry\:charm_silk_touch.name=Moonstone Orb item.ebwizardry\:charm_silk_touch.desc=Blocks broken with the mine spell always drop themselves +item.ebwizardry\:charm_sixth_sense.name=Dire Wolf Pelt +item.ebwizardry\:charm_sixth_sense.desc=Sixth sense displays different colours for passive, neutral and hostile mobs item.ebwizardry\:charm_stop_time.name=Peculiar Pocketwatch item.ebwizardry\:charm_stop_time.desc=The slow time spell makes time stand still item.ebwizardry\:charm_light.name=Elevinia's Everburning Lantern diff --git a/src/main/resources/assets/ebwizardry/lang/en_us.lang b/src/main/resources/assets/ebwizardry/lang/en_us.lang index 82e12104..4a122f05 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_us.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_us.lang @@ -399,6 +399,8 @@ item.ebwizardry\:charm_abseiling.name=Enchanted Twine item.ebwizardry\:charm_abseiling.desc=Holding sneak whilst grappling slowly pays out the line item.ebwizardry\:charm_silk_touch.name=Moonstone Orb item.ebwizardry\:charm_silk_touch.desc=Blocks broken with the mine spell always drop themselves +item.ebwizardry\:charm_sixth_sense.name=Dire Wolf Pelt +item.ebwizardry\:charm_sixth_sense.desc=Sixth sense displays different colours for passive, neutral and hostile mobs item.ebwizardry\:charm_stop_time.name=Peculiar Pocketwatch item.ebwizardry\:charm_stop_time.desc=The slow time spell makes time stand still item.ebwizardry\:charm_light.name=Elevinia's Everburning Lantern diff --git a/src/main/resources/assets/ebwizardry/models/item/charm_sixth_sense.json b/src/main/resources/assets/ebwizardry/models/item/charm_sixth_sense.json new file mode 100644 index 00000000..0c08bcc2 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/models/item/charm_sixth_sense.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ebwizardry:items/charm_sixth_sense" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/textures/gui/sixth_sense_marker.png b/src/main/resources/assets/ebwizardry/textures/gui/sixth_sense_marker.png index 5187f19e9284dd58d9b0d3e782dfa317bb52b696..8b83f5ab10bb41c14d58441aa2ef8c4923ef9c41 100644 GIT binary patch delta 1981 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 diff --git a/src/main/resources/assets/ebwizardry/textures/items/charm_sixth_sense.png b/src/main/resources/assets/ebwizardry/textures/items/charm_sixth_sense.png new file mode 100644 index 0000000000000000000000000000000000000000..a196532f4ebce80b41f738449ba18e204b23fdb4 GIT binary patch literal 6705 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-+p9t%N`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsHU}kKFV`gXhn4kzy7Wj{}7f%Foz}|9F~B&#t`t-nU;iHJMRq z=@gcwx9sc7zl!TMds}{UT-0&w>7s76g@RvpU8_IaoMmrR?JSFa{2Y^u2ZRWjwY z^b@wnXQxeHtL}Kt+;!vIzCU*+Zc`He#*}_^?}VjW8}4<5-s)O&Q+xN%LR52VaeUHx%N zfoAo-=%Oe0PI{SI$kt%^RK{m^e8?Qc~?vYRHu*Ys=^Dt$5$uZ?`g` znOjEXhkz50=B$jsLQ5t2Sz2UCIp$?Oq*`${mt^pj9|l6Hy&|`Ywl|i z@?N##2|PTz z+}f;T@7T^rPJR0Sp>HF{=X!(XY^C=T-p$?azvilmxs|n~RHnt8Rl1wjOM9xRO!nS9 z)o1;a88Ii!aw~b15>9Va>Wc{cBy)&0bp3~%Lkk3TUN1JjFpZ-jSoqc5ip0wwmM@(! zck{~sAJ*=Zap->zVc-S!tL5 z13_8E#O{;XTHB%*_OctUGiQ7!x}@sSOTJg%^D3K`s;z6b_m?~_Gm(Q?GV3evO*X|# z2fjAUa}u_VzOkvCIa9G%&n##A+skX0-Fzh$xpeoFx%$__l4tY3-n?{XwpiEm?T(o@ zxwzJ|dh1rUGJlhc%VP4n8fTomKK^C9NTJGUuGmw#b*pZlx^zR2)lL20A&Gl;RxOKv z|Ky&>-?^7>zI+;42QNAhOo zn~dWvTNd@NoDzIgdE1%0^UtQPUgOt3sn#p^G|8VN%lcqbK@6g%7dUn>N zGKpQ!wN}}^alU(0n5QZDuHg3gJkwVvS6Z7Li@YcIZTr7T`_&!?wY;jlWOHoO3f7jS z{p`;k?<-^edg@DM`Fwkq=3AyyFTF1KEjoGr{a1SrZ;7>4jfr->b)~x|RpsCMo7t1~ ztnE(x{ll@~--kCJ;zfV=zwC|q4DO5hfN z_+aCUOH%Yb3rdnrDsl^4D@yc@3=AxE4UBY+EcKD~SL7D>`oeYR6+=TYIX_pwBC$Z< zP|rX=Hy1@mafxdg!al4zibE<3QuTvUi}Op1l2cvFQu9ibku5FADJ@2}v$QxBBm{PM zPD+}7MJ~iPUI5ou%oD;zL%_%WmAI!DU$EO&>q~MJF@;tCcNS?!E4nis1 z6vv{H^8BJ~|04gStkmQZ{N`X&3^yq#H9fPqq^Q!9fTz&Z*+9~zM`m$Jeo-Zo{lTe) z5FW%^Iho*~QcwVAU#rAqP$=3e6(^RZrhubB0Vb84k(igBnqsR2%_K1KOf2a&&CJ-$ z$k^CKH_13HMc2eMDMi=PEX_dII4w2Vz&P2|D9H$t`sf6D}rkL*ZXW7up#Z7$i$vBTAg}b3r|M25@^QHASI3vm`?S z)b9*$5wV@w$e+9!f6^g_J4`vddIeq=l#X@RzpF{iEsh+{F0(?>}|# z_v}%=x8Ky`yt+nCl*k#D)2ofwq~81R?uGf$xw#DMR!{edPKsKvW3#W~j?m}x!{41| zb^7t6LxArU)e{?_cze?X6y$ZK%9-tNX!}bB{K@W0-IzGN8PmNilD|GNYnXV^;8~-alQ> zEHcVJM%$g7v-I0M!NoU=7+Y??{j61!Uv}}zgB7n;etfv>-msskA;V^ism09ASAv}^ zKCmxI6J`j?K2nwD7l4%KT=@T@cTK?~?_0piuqMbH+6T0?K^L`m361Gu(X?%#5XwL0x4+0xAijRCe zxzcM>u5<#Aob=Ol!Ebgl8J_0bd+Yz5_#aiz5Up`d@V~3ADrl(B)78&qol`;+02&(7 A_y7O^ literal 0 HcmV?d00001